【问题标题】:using SOAPHeader class to update SOAPMessage Header java使用 SOAPHeader 类更新 SOAPMessage Header java
【发布时间】:2017-09-14 19:09:50
【问题描述】:

场景:我必须调用一个基于 WSDL 的 webService 并解析它的响应。 问题:我在更新 SOAPMessage SOAP Header & SOAP Body 或 SOAP Enevelope 时遇到问题,我可以使用 WSimport 工具生成的类来创建它。

我已经使用 WSimport 工具为提供的 wsdl 生成了 java 类。生成了许多类,其中我发现一个类具有创建 SOAP 标头、正文和其他详细信息的对象,如 shown in the picture。我的问题是,当我从提供的类生成我的 soapbody 和 header 时,我无法将它添加到我想发布到 web 服务以获得响应的 SOAP 消息中。我需要创建任何方法来生成 SOAP 消息吗?

{

    Body mySoapBody = new Body();
    Header mySoapHeader = new Header();

    Envelope mySoapEnevelope = new Envelope();

    //Generate SOAP Body
    mySoapBody.getAny().add(objofIdentifyCustomerClass);
    //Generate SOAP Header
    mySoapHeader.getAny().add(emfHeader);
    //Generate SOAP Enevelope
    mySoapEnevelope.setBody(mySoapBody);
    mySoapEnevelope.setHeader(mySoapHeader);

    //This is an Issue, Cant add generated Header to the SOAP Message
    SOAPMessage soapMsg= MessageFactory.newInstance().createMessage( );

    //MessageFactory factory = MessageFactory.newInstance();
    //SOAPMessage message = factory.createMessage();

    soapMsg.getSOAPBody().addDocument(getRE02XMLBodyMsg(ciscoRE02Request));

    // How to add/update SOAP Header in the SOAPMessage ???? 

}

【问题讨论】:

    标签: java soap jaxb


    【解决方案1】:

    我想我没有正确理解这个过程。我阅读了该位置的博客,这些博客帮助我解决了问题并提高了代码效率:

    http://www.javadb.com/using-a-message-handler-to-alter-the-soap-header-in-a-web-service-client/

    如果您在写入 WebService 时遇到问题,我强烈建议您阅读这篇文章。

    问候, 内文

    【讨论】:

      猜你喜欢
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 2014-05-17
      相关资源
      最近更新 更多