求助,关于wsdl、SOAP接口总是Connection timed out的问题

ccuuiiccaann 2016-03-28 06:36:48
URL是:http://iut-service.hrs.com:8080/service/hrs/035/HRSService?wsdl
本地浏览器上这个地址打不开,翻墙也打不开。ping也不通。
请求的xml(在运行代码的时候可以打印出来)跟官方接口文档上的唯一差别是:本代码生成的xml是SOAP-ENV:Envelope开头的,官方文档示例上的xml是soap:Envelope开头的,不知道会不会有影响。
java代码如下:

public static void test2(){
try {
SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory .newInstance();
SOAPConnection connection = soapConnFactory.createConnection();
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();
SOAPPart soapPart = message.getSOAPPart();// 创建soap部分
SOAPEnvelope envelope = soapPart.getEnvelope();
SOAPBody body = envelope.getBody();
envelope.addNamespaceDeclaration("xsi", "http://www.w3.org/2001/XMLSchema-instance");
envelope.addNamespaceDeclaration("xsd", "http://www.w3.org/2001/XMLSchema");
SOAPElement bodyElement = body.addChildElement(envelope.createName( "ping", "", "com.hrs.soap.hrs"));
SOAPElement pingRequest=bodyElement.addChildElement("pingRequest", "", "");
SOAPElement credentials=pingRequest.addChildElement("credentials","","");
SOAPElement echoData=pingRequest.addChildElement("echoData","","");
echoData.setValue("Are you alive");
SOAPElement clientType=credentials.addChildElement("clientType", "","");
SOAPElement clientKey=credentials.addChildElement("clientKey", "","");
SOAPElement clientPassword=credentials.addChildElement("clientPassword", "","");
clientType.setValue("814");
clientKey.setValue("1065125999");
clientPassword.setValue("lSkEkGqHnIn2sQp");
SOAPElement locale=pingRequest.addChildElement("locale","","");
SOAPElement language=locale.addChildElement("language","","");
SOAPElement iso3Language=language.addChildElement("iso3Language","","");
iso3Language.setValue("ENG");
SOAPElement iso3Country=locale.addChildElement("iso3Country","","");
iso3Country.setValue("DEU");
SOAPElement isoCurrency=locale.addChildElement("isoCurrency","","");
isoCurrency.setValue("EUR");
message.saveChanges();
message.writeTo(System.out);
System.out.println(" ");
URL url = new URL("http://iut-service.hrs.com:8080/service/hrs/035/HRSService?wsdl");
System.out.println(url);
SOAPMessage reply = connection.call(message, url);//连接超时

System.out.println("RESPONSE:");
TransformerFactory transformerFactory = TransformerFactory .newInstance();
Transformer transformer = transformerFactory.newTransformer();
Source sourceContent = reply.getSOAPPart().getContent();
StreamResult result = new StreamResult(System.out);
transformer.transform(sourceContent, result);
System.out.println("");
connection.close();
SOAPBody ycBody = reply.getSOAPBody();
Node ycResp = ycBody.getFirstChild();
System.out.print("returnValue:"+ycResp.getTextContent());
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}

public static void main(String args[]) {
test2();
}

跟接口方的技术支持交流了一下,没有实质性的结果。先是让我ping这个URL,后来说把我的IP(阿里云服务器的外网IP)加到白名单,接着又说在他们的拦截列表里面没有我的IP,最后就不了了之了。现在有亚马逊云了,国外的ip,一样ping不通。
不知道是不是我的代码的问题?如果不是我代码的问题就可以放心的跟接口方交涉了。
跪求路过的大神点拨一二,不胜感激!
...全文
340 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
奄灬苟且偷生 2016-04-08
  • 打赏
  • 举报
回复
考虑的真远,你Ping都不通,还代码... ... 就跟我给你打电话一样,我打都打不通,你怎么知道我这么说话是不是不合适那?
  • 打赏
  • 举报
回复
引用 2 楼 qq_21062891 的回复:
我是来抢二楼的
别闹好吗 这可是正事儿
依依0826 2016-04-08
  • 打赏
  • 举报
回复
我是来抢二楼的
  • 打赏
  • 举报
回复
我是来抢一楼的

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧