我需要使用JaxWsPortProxyFactoryBean
以下是我的Spring配置文件的片段:
<bean id="documentUploadServiceJaxwsClient"
class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean"
lazy-init="true">
<property name="serviceInterface" value="org.tempuri.IDocumentUploadService" />
<property name="namespaceUri" value="http://tempuri.org/" />
<property name="serviceName" value="DocumentUploadService" />
<property name="portName" value="secureBinding" />
<property name="endpointAddress" ref="documentUploadServiceEndpointString" />
<property name="customProperties" ref="internetProxyProperties" />
<property name="handlerResolver" ref="handlerResolver"/>
</bean>
我正在使用Spring 3.0.0。我不想通过CXF相关配置,因为这只是一个短期解决方案。
我也尝试使用SOAPHandler
(脏解决方案),但Server不允许我在运行时更改SOAPEnvelope
。
我使用的示例代码:
SOAPMessage sm = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL).createMessage(mimeHeaders, new ByteArrayInputStream(stream.toByteArray()));
context.setMessage(sm);
Websphere给了我以下内容:
引起:java.lang.IllegalArgumentException:WSWS4117E:尝试将SOAPEnvelope与SOAP 1.1协议的协议添加到SOAPMessage,并使用SOAP 1.2协议协议。
我也尝试设置customproperties
,但没有帮助。
我需要等同于
的东西 <jaxws:binding>
<soap:soapBinding version="1.2" mtomEnabled="true" />
</jaxws:binding>
但是使用JaxWsPortProxyFactoryBean
理想情况下,我希望通过简单的配置使其工作。
对此方面的任何帮助表示高度赞赏。
非常感谢