如何在Java中发送SOAP请求标头?

los*_*eep 5 java soap header request

我有一个WSDL文件(Web服务由.NET编写),我可以通过其工具在IntelliJ IDEA 7.0.4中生成java web服务客户端代理类和代码.Web服务有一个soap请求标头,但我看不到自动生成的Java代理类和代码中的任何属性或方法来设置请求标头.(但是当我使用Visual Studio 2008为C#生成代理类时,在Web服务代理类中创建一个对象作为标题,因此我可以设置简单填充它)

我该怎么做Java?

jca*_*ert 1

我不确定 IntelliJ 使用什么来生成代理类。也许是轴?

确实知道,如果您想使用 CXF 执行此操作,那么在定义客户端时,最好的方法是创建一个实现 SoapInterceptor 的类,然后将其设置为出站拦截器。

public void handleMessage(SoapMessage message) throws Fault {
           message.getHeaders().add(QName.valueOf("foo"), "bar");
   }
Run Code Online (Sandbox Code Playgroud)

但最终,如果您不知道 IDE 正在使用的库,您将很难找到处理此问题的正确方法。