Я использую CXF для генерации артефактов на стороне клиента и для создания моего wsdl с помощью плагина java2ws.
В конфигурации CXF для генерации WSDL на tomcat, где вам нужно определить jaxws: конечная точка -У меня проблема с настройкой конфигурации CXF для свойства адреса конечной точки jaxws :.Окончательно сгенерированный wsdl имеет синтаксическую проблему
CXF.xml (без использования пружинных банок в моем MAVEN POM) ->
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="JMSMetricsServiceEndpoint"
implementor="com.putnam.jms.monitor.websvcs.JMSMetricsService"
address="/">
</jaxws:endpoint>
Элемент адреса jaxws: address определяет адрес конечной точки какопределено в файле WSDL, который определяет разворачиваемую службу.Для этого требуется указание абсолютного URL-адреса для правильного адреса soap:, который будет записан в сгенерированный WSDL.В настоящее время это значение равно «/», что работает для меня, потому что адрес готов непосредственно из wsdl, за исключением того, что он добавляет косую черту в конце soap: address ->, когда он генерирует wsdl в качестве конечного продукта как такового.
<soap:address = ' ...... /'>
Моя цель - заставить это развернуть таким образом, чтобы у меня не было лишних / добавленных.
Я попытался полностью удалить поле адреса, но это не сработало.Я также попытался жестко закодировать адрес, то есть, используя абсолютный URI
<jaxws:endpoint
id="JMSMetricsServiceEndpoint"
implementor="com.putnam.jms.monitor.websvcs.JMSMetricsService"
address="${HOST_NAME}">
, где $HOST_NAME = full http path where the wsdl resides
...
пример $HOST_NAME = "http://localhost...."
Но это, похоже, не работаетили.
Это изменение вызывает неправильный WSDL в настоящий момент, даже когда он указывает в правильном направлении.