Java 如何在SpringWS中向生成的WSDL添加自定义SOAP头元素
我们正在从WebLogicWeb服务迁移到SpringWS(1.5.X)。 我们目前面临一个问题: 我们需要将上下文对象(在WLS上,它作为SOAP头元素传递)从Spring WS-powered服务传递给仍在WLS上运行的其他服务。header元素仍然是在客户端制定的,新创建的WS(SpringWS)应该只将其传递给其他服务 我可以想象自定义元素将如何传递:重写doWithMessage(WebServiceMessage message)方法 有没有办法在DefaultWsdl11Definition的帮助下生成wsdl以包含该自定义头元素? 请参见示例:Java 如何在SpringWS中向生成的WSDL添加自定义SOAP头元素,java,web-services,soap,wsdl,spring-ws,Java,Web Services,Soap,Wsdl,Spring Ws,我们正在从WebLogicWeb服务迁移到SpringWS(1.5.X)。 我们目前面临一个问题: 我们需要将上下文对象(在WLS上,它作为SOAP头元素传递)从Spring WS-powered服务传递给仍在WLS上运行的其他服务。header元素仍然是在客户端制定的,新创建的WS(SpringWS)应该只将其传递给其他服务 我可以想象自定义元素将如何传递:重写doWithMessage(WebServiceMessage message)方法 有没有办法在DefaultWsdl11Defin
<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>
感谢您的帮助我们在我的项目中遇到了类似的问题。检查扩展的SuffixBasedPortTypesProvider、SuffiXbasedMessageProvider和Soap11Provider。我们使用InliningXsdSchemaTypesProvider导入用于构建WSDL的模式。如果您通过调试器运行WSDL生成,您将了解它的工作原理。Spring代码易于遵循和扩展