【问题标题】:How to add custom SOAP-Header element to the generated WSDL in Spring-WS如何将自定义 SOAP-Header 元素添加到 Spring-WS 中生成的 WSDL
【发布时间】:2009-08-24 06:34:25
【问题描述】:

我们正在从 WebLogic Web 服务迁移到 Spring-WS (1.5.X)。 我们目前面临一个问题:

我们需要将上下文对象(在 WLS 上它作为 SOAP-Header 元素传递)传递给仍在 WLS 上从 Spring-WS 支持的服务运行的其他服务。 header 元素仍然在客户端制定,新创建的 WS (Spring-WS) 应该只是将它传递给其他服务。

我可以想象自定义元素将如何传递:覆盖doWithMessage(WebServiceMessage消息)方法...

有没有办法在 DefaultWsdl11Definition 的帮助下生成 wsdl 以包含该自定义标题元素? 看例子:

<wsdl:operation name="GetSomeInformation">
    <soap:operation
        soapAction="http://www.dummyservice.com/InformationService/GetSomeInformation" />
    <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="ctx:ServiceContextMessage" part="serviceContext" use="literal" />
    </wsdl:input>
    <wsdl:output>
        <soap:body use="literal" />
    </wsdl:output>
    <wsdl:fault name="Error">
        <soap:fault name="Error" use="literal" />
    </wsdl:fault>
</wsdl:operation>

感谢您的帮助

【问题讨论】:

    标签: java web-services soap wsdl spring-ws


    【解决方案1】:

    我们在我的项目中遇到了类似的问题。检查扩展 SuffixBasedPortTypesProvider、SuffixBasedMessagesProvider 和 Soap11Provider。我们使用 InliningXsdSchemaTypesProvider 来导入我们用来构建 WSDL 的模式。如果您通过调试器运行 WSDL 生成,您将了解它的工作原理。 Spring 代码易于遵循和扩展。

    【讨论】:

      猜你喜欢
      • 2015-08-29
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多