【问题标题】:adding SOAPHeader in response in AXIS2 webservice在 AXIS2 Web 服务中添加 SOAPHeader 作为响应
【发布时间】:2014-05-22 14:31:04
【问题描述】:

我想添加soap 标头以响应soap 请求。我用谷歌搜索了很多。我发现添加处理程序并在 module.xml 中定义它,但我在 java web 应用程序中嵌入了 AXIS2 web 服务,所以我没有 module.xml 或 axis2.xml。在我的项目中,只有在生成axis2服务器端代码时由axis2 lib自动生成的services.xml。

在WSDL中,操作定义如下:

        <operation name="XYZ">
            <soap:operation soapAction="SOAP_HTTP#XYZ" />
            <input>
                <soap:body use="literal" parts="XYZ"
                    namespace="http://www.ecma-international.org/standards...." />
                <soap:header message="wss:header" part="header" use="literal"></soap:header>
            </input>
            <output>
                <soap:body use="literal" parts="XYZResponse"
                    namespace="http://www.ecma-international.org/standards..." />
                <soap:header message="wss:header" part="header" use="literal"></soap:header>
            </output>
            <fault name="FaultName">
                <soap:fault use="literal" name="FaultName"
                    namespace="http://www.ecma-international.org/standards..." />
            </fault>
        </operation>

我能够成功地在请求中添加 SOAPHeader,并且还可以从请求和响应中读取标头。但我无法在 SOAP 响应中添加 SOAPHeader“标头”。

请就如何在 SOAP 响应中添加soap标头提供您的建议?

谢谢。

【问题讨论】:

    标签: java web-services soap axis2 soapheader


    【解决方案1】:

    您必须通过 Axis2 中的新模块添加处理程序

    句柄调用方法将获取响应消息上下文,您可以在其中添加标头。

    请看这里:http://wangxiangblog.blogspot.in/2011/01/develop-web-service-with-axis2-7-add.html

    获取请求头

    在处理程序中

       invoke(MessageContext msgContext) - This is response message context
    
        MessageContext reqMsgCtx = MessageContext.getCurrentMessageContext(); - This gives    request message context
        //Get header with following code
        SOAPEnvelope env = reqMsgCtx.getEnvelope();
        SOAPHeader aSoapHeader = env.getHeader();
    

    //将标题块添加到响应消息标题的代码

    【讨论】:

      猜你喜欢
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多