使用spring MockWebServiceServer测试Web服务客户端

使用spring MockWebServiceServer测试Web服务客户端,spring,webservice-client,Spring,Webservice Client,我目前正在尝试使用spring MockWebServiceServer测试我的web服务客户端,因为真正的web服务服务器尚未公开。我一直在关注spring文档,但仍然遇到如下问题: org.springframework.ws.client.WebServiceIOException: I/O error: Connection refused: connect; nested exception is java.net.ConnectException: Connection refuse

我目前正在尝试使用spring MockWebServiceServer测试我的web服务客户端,因为真正的web服务服务器尚未公开。我一直在关注spring文档,但仍然遇到如下问题:

org.springframework.ws.client.WebServiceIOException: I/O error: Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect
               at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:545)
               at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:386)
               at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:380)
               at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:372)
我相信这个错误与我自动连接到WS客户端的WebServiceTemplate有关,如下所示。因为我使用的是MockWebServiceServer,所以我认为不需要真正的HTTP连接,但为什么它会这样抱怨呢?即使使用MockWebServiceServer,我仍然需要启动我的tomcat服务器来访问localhost:8080吗

<bean id="vehicleOrderConfirmationWebServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
         <constructor-arg ref="messageFactory"/>
         <property name="marshaller" ref="vehicleOrderConfirmationMarshaller" />
         <property name="unmarshaller" ref="vehicleOrderConfirmationMarshaller" />
         <property name="defaultUri" value="http://localhost:8080"/>
</bean>

任何人都可以建议?

模拟服务器不需要真正的http连接。它模仿消息发送者。 您是如何创建模拟web服务器的?下面的用法必须足够一个真正的模拟服务器


MockWebServiceServer.createServervehicleOrderConfirmationWebServiceTemplate

如果您的客户机类扩展了WebServiceGatewaySupport,如中给出的示例所示,请确保已使用继承的setWebServiceTemplate方法设置WebServiceTemplate


我以前试过,但没有成功,我想我还是错过了一些东西…这就是为什么后来我选择建立一个完整的模拟web服务服务器来测试我的客户机。你能发布你的测试客户机类代码吗?
@Autowired
public CustomerClient (WebServiceTemplate customerClientWebServiceTemplate) {
  setWebServiceTemplate(customerClientWebServiceTemplate);
}