首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CXF配置问题

CXF配置问题
EN

Stack Overflow用户
提问于 2011-01-13 04:18:35
回答 1查看 1.4K关注 0票数 1

我正在使用CXF生成客户端工件,并使用java2ws插件生成我的wsdl。

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

CXF.xml (在我的MAVEN POM中没有使用spring jars ) ->

代码语言:javascript
复制
<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>

address元素指定端点的地址,该端点在定义所部署的服务的WSDL文件中定义。这需要将正确的soap:address的绝对URL规范写入生成的WSDL中。目前,它被设置为"/“--这对我来说是有效的--因为地址是直接从wsdl准备好的,除非它在soap:address ->的末尾附加一个斜杠,当它生成wsdl作为最终产品时。

代码语言:javascript
复制
 <soap:address = ' ...... /'> 

我的目标是让它以这样的方式部署,这样我就不会有多余的/追加。

我已经尝试完全删除地址字段,但没有工作。我还尝试对地址进行硬编码,即使用绝对URI

代码语言:javascript
复制
 <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格式错误,即使它指向正确的方向。

EN

回答 1

Stack Overflow用户

发布于 2011-01-16 21:12:22

对于客户端,适当的配置是-

代码语言:javascript
复制
<jaxws:client...>

代码语言:javascript
复制
<jaxws:endpoint..>

假设您正在编写服务而不是客户端,地址是相对的,当您从服务请求wsdl时,服务的url派生自请求url,而相对URI派生自您指定的地址,除非您想使用jaxws:service的wsdlLocation参数指定显式wsdl(而不是生成的wsdl)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4673607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档