Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring集成ws出站网关抛出webservicetransportexception未找到-404错误_Spring_Spring Integration - Fatal编程技术网

Spring集成ws出站网关抛出webservicetransportexception未找到-404错误

Spring集成ws出站网关抛出webservicetransportexception未找到-404错误,spring,spring-integration,Spring,Spring Integration,我们使用ws-outbound gateway以以下方式调用Web服务 <ws:outbound-gateway uri="http://localhost:8080/test" message-factory="messageFactory" message-sender="messageSender" ignore-empty-responses="false" requires-reply="true" /> <bean name="messageSender" cla

我们使用ws-outbound gateway以以下方式调用Web服务

<ws:outbound-gateway uri="http://localhost:8080/test" message-factory="messageFactory" message-sender="messageSender" ignore-empty-responses="false" requires-reply="true" />

<bean name="messageSender" class="org.springframework.ws.transport.http.HttpComponentsMessageSender">
</bean>

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
<property name="soapVersion">
 <util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_11"/>
 </property>
 </bean>
失败错误xml:

org.springframework.ws.client.WebServiceTransportException: Not Found [404]
        at org.springframework.ws.client.core.WebServiceTemplate.handleError(WebServiceTemplate.java:590)
        at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:514)
        at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:465)
        at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:420)
        at org.springframework.ws.client.core.WebServiceTemplate.sendSourceAndReceiveToResult(WebServiceTemplate.java:366)
        at org.springframework.ws.client.core.WebServiceTemplate.sendSourceAndReceiveToResult(WebServiceTemplate.java:351)
        at com.railinc.notifserv.services.findusrail.impl.FindUsRailContactServiceImpl.getFindUsRailContacts(FindUsRailContactServiceImpl.java:31)
        at com.railinc.notifserv.services.findusrail.impl.FindUsRailContactServiceImplTest.testGetFindUsRailContacts(FindUsRailContactServiceImplTest.java:9)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<m:processRequest xmlns:m="http://ws.test.com">
    <request>
        <dealerId>999852</dealerId>
          .......
          .......
    </request>
</m:processRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

999852
.......
.......

有没有一种方法可以使用ws-outbound gateway将请求xml与soap信封一起发送?

我在您提出的问题中给了您一个答案:。所以,让我在这里重复一遍

您的问题是,您不必将完整的SOAP信封发送到WS-Outbound网关。实际上,您只需要为SOAP请求的主体发送XML,就像最初一样

如果您真的需要发送整个SOAP信封,您需要考虑使用MIMEMSEGE作为请求有效载荷:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<m:processRequest xmlns:m="http://ws.test.com">
    <request>
        <dealerId>999852</dealerId>
          .......
          .......
    </request>
</m:processRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>