我正在尝试实现spring docs中给出的spring boot webservice应用程序:
https://spring.io/guides/gs/consuming-web-service/
构建成功,创建了请求和响应java文件,但是当执行spring-boot:run时,它给出了
Caused by: 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:561)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:390)
at hello.WeatherClient.getCityForecastByZip(WeatherClient.java:30)
at hello.Application.main(Application.java:20)
但是可以通过eclipse中的Web浏览器访问该URL。请帮我解决这个问题
答案 0 :(得分:0)
您尝试呼叫的Web服务URL可能无法访问或超时。确保Web服务URL路径正确并正在侦听。还要验证设置的超时时间和请求所用的时间。
PS. Also check if there is some firewall issue at Server side.
对于防火墙问题,您可能需要在客户端代码中提供代理详细信息(proxyHost和proxyPort)。
编辑:
我无法找到合适的博客或更好地解释它的东西。但是在stackoverflow上找到了一个问题,它有类似的答案:here
答案 1 :(得分:0)
确保使用相同的@SpringBootTest
注释参数声明所有测试。
由于两次测试中的参数不同,我遇到了同样的问题。当我使所有注释相同时,问题消失了:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
)