使用CXF生成客户端工件并使用java2ws插件生成我的wsdl。CXF配置问题
在用于在tomcat上生成WSDL的CXF配置中,您需要定义jaxws:endpoint - 我对jaxws:endpoint address属性的CXF配置设置有问题。最终生成的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:地址元素指定为在WSDL中定义的端点的地址定义正在部署的服务的文件。这需要将正确的soap:address的绝对URL规范写入生成的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。