Java CXF配置问题
Im使用CXF生成客户端构件,并使用java2ws插件生成wsdl 在配置CXF以在tomcat上生成WSDL时,您需要定义jaxws:endpoint——我对jaxws:endpoint address属性的CXF配置设置有问题。最终生成的wsdl存在语法问题 xml(在我的MAVEN POM中不使用spring JAR)->Java CXF配置问题,java,web-services,jax-ws,cxf,Java,Web Services,Jax Ws,Cxf,Im使用CXF生成客户端构件,并使用java2ws插件生成wsdl 在配置CXF以在tomcat上生成WSDL时,您需要定义jaxws:endpoint——我对jaxws:endpoint address属性的CXF配置设置有问题。最终生成的wsdl存在语法问题 xml(在我的MAVEN POM中不使用spring JAR)-> address元素指定定义正在部署的服务的WSDL文件中定义的端点的地址。这需要绝对URL规范,以便将正确的soap:地址写入生成的WSDL中。目前,它被设置为“/
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\u NAME=wsdl所在的完整http路径
示例$HOST\u NAME=”http://localhost....“
但这似乎也不起作用
这种更改会导致目前格式不正确的WSDL,即使它指向正确的方向 Adi,我在您的描述中看到了一个矛盾之处—您说您正在生成客户端构件,但您的配置是针对服务端点的。对于客户端,适当的配置为-
<jaxws:client...>
不是
假设您正在编写服务而不是客户端,地址是相对的,当您从服务请求wsdl时,服务的url从请求url派生,相对URI从您指定的地址派生,除非您希望指定显式wsdl(不是生成的wsdl)使用jaxws:service的
wsdlLocation
参数。Adi,我在您的描述中看到了一个矛盾-您说您正在生成客户端构件,但您的配置是针对服务端点的。对于客户端,适当的配置为-
<jaxws:client...>
不是
假设您编写的是服务而不是客户端,地址是相对的,当您从服务请求wsdl时,服务的url从请求url派生,相对URI从您指定的地址派生,除非您希望使用jaxws:service的wsdlLocation
参数指定显式wsdl(不是生成的wsdl)
<jaxws:endpoint..>