使用WebServiceTemplate执行webservice接口,且实例化也正常,但是调用后出现Read timed out
-----------------
以下是实例化WebServiceTemplate
@Value("${image.service.server.url.download}")
private String ARCHIVE_IMAGE_DOWNLOAD_SERVICE;
@Value("${image.service.server.user}")
private String ARCHIVE_IMAGE_USER;
@Value("${image.service.server.password}")
private String ARCHIVE_IMAGE_PASSWORD;
@Bean
public Jaxb2Marshaller imsDownloadMarshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPaths("com.pcitc.framework.modules.archive.ws.ims");
return marshaller;
}
@Bean
public HttpComponentsMessageSender imageMessageSender() {
HttpComponentsMessageSender messageSender = new HttpComponentsMessageSender();
messageSender.setCredentials(new UsernamePasswordCredentials(ARCHIVE_IMAGE_USER, ARCHIVE_IMAGE_PASSWORD));
messageSender.setConnectionTimeout(60000);
messageSender.setReadTimeout(60000);
return messageSender;
}
@Bean
public WebServiceTemplate imgageDownloadServiceTemplate() {
WebServiceTemplate webServiceTemplate = new WebServiceTemplate(messageFactory());
webServiceTemplate.setDefaultUri(ARCHIVE_IMAGE_DOWNLOAD_SERVICE);
webServiceTemplate.setMarshaller(imsDownloadMarshaller());
webServiceTemplate.setUnmarshaller(imsDownloadMarshaller());
webServiceTemplate.setMessageSender(imageMessageSender());
return webServiceTemplate;
}
以下是调用代码
public String getImageDownloadUrlService(String billCode) throws Exception {
GetImagesByCode request = new GetImagesByCode();
request.setIn0(billCode);
request.setIn1("0");
GetImagesByCodeResponse response1 = (GetImagesByCodeResponse)webServiceTemplate.marshalSendAndReceive(ARCHIVE_IMAGE_DOWNLOAD_SERVICE, request);
String result1 = response1 == null ? "" : response1.getOut();
return result1;
}
超时时间设置为1分钟
boot项目启动时警告:Calls to this method will NOT be routed to the target instance and might lead to NPEs against uninitialized fields in the proxy instance.
之前项目没问题,接口可以通,能拿到返回结果,近期突然出现这个问题,不太清楚原因。
localhost本地调用是没问题的
但是服务器调用就出问题了,防火墙端口是通的,想不到其他原因了。
服务器限制了其他东西嘛?急求大神给思路