繁体   English   中英

CXF忽略WebParam批注中的标头参数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM