Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CXF配置问题_Java_Web Services_Jax Ws_Cxf - Fatal编程技术网

Java CXF配置问题

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中。目前,它被设置为“/

Im使用CXF生成客户端构件,并使用java2ws插件生成wsdl

在配置CXF以在tomcat上生成WSDL时,您需要定义jaxws:endpoint——我对jaxws:endpoint address属性的CXF配置设置有问题。最终生成的wsdl存在语法问题

xml(在我的MAVEN POM中不使用spring JAR)->


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..>