[英]CXF ignores header argument from WebParam annotation
我已经使用wsdl2java
生成了代码,该代码可以与默认Java JAX-WS
实现一起正常工作。 当我添加CXF时,我的应用程序停止工作。 我知道这是因为切换JAX-WS
实现( 为什么wsdl2java生成的代码会随意使用CXF依赖项? )。
我正在调试失败的具体原因是什么,然后发现所有参数都在消息正文中发送。 这很奇怪,因为它看起来像CXF忽略header = true
参数。 像这样:
@WebParam(name = "auth", targetNamespace = "urn:ns", header = true)
为什么会这样? 可能是什么原因?
次要问题:
我认为调试注释处理可能会对我有所帮助。 我已经阅读了一些有关此的文章,但是我不知道在哪里可以找到@WebParam
注释处理器。 有任何想法吗? 还有其他提示吗?
我们有完全一样的问题。 如何定义您的CXF端点? 显然,您定义了一个wsdlURL
属性,指向wsdl。 您应该删除它。
我们的是这样的:
<cxf:cxfEndpoint
id="upsTrackEndpoint"
address="${ups.service.endpoint.track}"
wsdlURL="wsdl/Track.wsdl"
serviceClass="com.ups.wsdl.xoltws.track.v2.TrackPortType">
</cxf:cxfEndpoint>
我们将其更改为:
<cxf:cxfEndpoint
id="upsTrackEndpoint"
address="${ups.service.endpoint.track}"
serviceClass="com.ups.wsdl.xoltws.track.v2.TrackPortType">
</cxf:cxfEndpoint>
似乎在定义wsdlURL
属性时, header
属性被完全忽略。
删除所有与CXF相关的JAR依赖项,然后改用此处定义的JAR: http : //cxf.apache.org/docs/using-cxf-with-maven.html
它应该解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.