WebService调用出现 java.net.UnknownHostException异常?

Lion_sj 2006-12-05 02:08:53
我采用Axis技术访问另外一个服务商提供的webService,调用时出现了java.net.UnknownHostException异常

访问方法如下:
String endpointURL = "http://172.16.0.65/PowerInfo/WebServiceReportWar/ReportParser";

invoker = DynamicInvoker.getInstance(endpointURL.toString());

if(invoker == null)
{
System.out.println("invoker is null");

}

String xml = (String)invoker.invokeMethod("getXMLDocument",new String[]{"41311036320101000","1114","2006","09","10"});
if(ObjectUtil.isNullOrEmpty(xml))
{
System.out.println("return xml is null");
}



在invoke方式时报错,
...全文
2947 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyetao08 2006-12-20
  • 打赏
  • 举报
回复
没的说
服务端
LiChenYue 2006-12-19
  • 打赏
  • 举报
回复
代码好长呀!学习一下。
root_user 2006-12-13
  • 打赏
  • 举报
回复
看看你的几个JAR包加全了没有,特别是远程访问用到的jaxrpc.jar等等
peihexian 2006-12-11
  • 打赏
  • 举报
回复
java.net.UnknownHostException
再看一下你的调用URL是http://statdb:81/PowerInfo/WebServiceReportWar/ReportParser
你把这个statdb换成那台机器的IP地址,然后在IE中试一下http://IP地址:81/PowerInfo/WebServiceReportWar/ReportParser?wsdl能不能出东西,如果可以出,那就说明可以了。
homeness 2006-12-08
  • 打赏
  • 举报
回复
应该是服务端的问题
Lion_sj 2006-12-05
  • 打赏
  • 举报
回复
难道是address里面错误?
<port binding="tns:ReportParser_REMOTEBinding" name="ReportParser_REMOTEPort">
<soap:address location="http://statdb:81/PowerInfo/WebServiceReportWar/ReportParser" />
</port>


访问时详细错误如下:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.UnknownHostException: statdb
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.net.UnknownHostException: statdb
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
Lion_sj 2006-12-05
  • 打赏
  • 举报
回复
我用http://172.16.0.65/PowerInfo/WebServiceReportWar/ReportParser访问时出现如下:

<?xml version="1.0" encoding="UTF-8" ?>
- <definitions name="ReportParser_REMOTEService" targetNamespace="urn:ReportParser" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:ReportParser" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<types />
- <message name="getReportParserRequest">
<part name="arg0" type="xsd:string" />
</message>
- <message name="getXMLDocumentRequest">
<part name="code" type="xsd:string" />
<part name="deptCode" type="xsd:string" />
<part name="year" type="xsd:string" />
<part name="month" type="xsd:string" />
<part name="day" type="xsd:string" />
</message>
- <message name="getXMLDocumentResponse">
<part name="arg22" type="xsd:string" />
</message>
。。。。。。
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</output>
</operation>
- <operation name="ExecuteSaveXls">
<soap:operation soapAction="urn:ReportParser/ExecuteSaveXls" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</output>
</operation>
- <operation name="ProcessExcel">
<soap:operation soapAction="urn:ReportParser/ProcessExcel" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</output>
</operation>
- <operation name="executeSaveELanguage">
<soap:operation soapAction="urn:ReportParser/executeSaveELanguage" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</output>
</operation>
- <operation name="getReportData">
<soap:operation soapAction="urn:ReportParser/getReportData" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ReportParser" use="encoded" />
</output>
</operation>
</binding>
- <service name="ReportParser_REMOTEService">
- <port binding="tns:ReportParser_REMOTEBinding" name="ReportParser_REMOTEPort">
<soap:address location="http://statdb:81/PowerInfo/WebServiceReportWar/ReportParser" />
</port>
</service>
</definitions>

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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