轴代理连接超时:连接

时间:2013-06-26 08:55:01

标签: java web-services soap axis

以下是客户端类的代码。

try {

        //System.getProperties().put("https.proxyHost", "127.0.0.1");
        //System.getProperties().put("https.proxyPort", "7575");


        String endpoint = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        Service service = new Service();
        Call call = (Call) service.createCall();
        call.setTargetEndpointAddress(new java.net.URL(endpoint));
        call.setOperationName("AddSMSList"); // Change this to call

        call.addParameter("validation", XMLType.XSD_STRING,
                ParameterMode.IN); // Define Parameters
        call.addParameter("XML", XMLType.XSD_STRING, ParameterMode.IN);
        call.setReturnType(XMLType.XSD_STRING);
        Object[] obj = new Object[] {
                "POWERU-SMS",
                getXML("13627621277", "testtime", "testtype", "testname",
                        "FAIL") }; // Assign value for the parameters
        for (Object i : obj) {
            System.out.println(i.toString());
        }
        String ret = (String) call.invoke(obj); // Call web service
        System.out.println("Result : " + ret);
    } catch (Exception e) {
        e.printStackTrace();
    }

代码本身我觉得还可以。问题是连接。 服务器在中国。我使用欧洲的代码试图访问服务器。 我必须首先启动一个vpn,然后我需要使用putty(隧道)设置一个跳转服务器。当这些完成后,我可以通过浏览器(代理)访问服务器。但是java-client总是会抽出时间说

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.net.ConnectException: Connection timed out: connect
 faultActor: 
 faultNode: 
 faultDetail: 

有人可以帮助我。我已经工作了一个星期。 提前致谢

4 个答案:

答案 0 :(得分:1)

我在这方面苦苦挣扎并找到了解决方案。如果您正在使用Websphere,请将端口8080添加到虚拟主机的主机别名中。虚拟主机绑定到您尝试访问的应用程序。希望这会有所帮助。

答案 1 :(得分:0)

对我而言,您似乎遇到了防火墙问题,而不是代码问题,请从命令行尝试以下操作。首先执行telnet serverName端口,如果此操作失败,请调用您的网络管理员并完成跟踪路由,并将他放在另一侧,问题将得到解决。

答案 2 :(得分:0)

终于找到了答案。

System.getProperties().put("socksProxyHost", "127.0.0.1");
System.getProperties().put("socksProxyPort", "7575");

而不是添加https代理我应该添加socks代理!!!

答案 3 :(得分:-1)

这是代理服务器问题。如果您在jboss standalone.xml文件

中提供代理服务器详细信息,将会解决此问题

-Dhttp.proxyHost=<proxy host>-Dhttp.proxyPort=<proxy port number>