Sam_Deep_Thinking 2009-12-30 16:37
浏览 464
已采纳

调用webservice,出现了java.net.NoRouteToHostException异常

http://ip地址:8000/xfire_service_zongzhan/services/intendance?wsdl

已经把webservice放到了外网上的服务器了。上面这个路径我是可以直接访问到的,浏览器可以看到xml文件的。

然后我根据这个url生成了客户端类,用来调用webservice的。如下:

D:\generateAxisClient>Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java
http://211.147.247.85:8000/xfire_service_zongzhan/services/intendance?wsdl

我是在cmd上执行的,使用了[color=#FF0000]axis[/color]的WSDL2Java来生成webservice的客户端的。

现在我用生成的客户端去调用webservice,但是报错了。

如下:

java.net.NoRouteToHostException: No route to host: connect

这样的话,就无法把数据从本地传到服务器上了。

出现了这种情况后,我首先是ping一下放有webservice的服务器,是ping不通的,原因是
公司是通过代理的方式上网的,所以我直接ping不通了。
而之前的uri可以访问是因为浏览器使用了代理,所以可以访问到服务器。

想要问的问题是:
生成webservice的客户端有几种方式,我目前这种使用命令形式的生成的客户端中有
XfireServiceHttpBindingStub这样一个类。似乎是静态的方式调用webservice。
是不是应该换成动态代理方式或者其他方式呢?

要是客户那边是使用代理的方式上网的,应该如何写客户端,才可以把数据传到服务器上呢?

请指导一下。

  • 写回答

2条回答 默认 最新

  • wanghaolovezlq 2010-01-12 12:30
    关注

    那你生成的客户端代码里也是要设置代理才能访问webservice的

    axis WebServices 调用 本地使用代理上网,设置代理
            System.getProperties().put("proxySet", "true");

    System.getProperties().put("proxyHost", "192.168.0.26");

    System.getProperties().put("proxyPort", "808");

    System.getProperties().put("socksProxySet", "true");

    System.getProperties().put("socksProxyHost", "192.168.0.26");

    System.getProperties().put("socksProxyPort", "1080");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题