Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache Web服务Soap获取读取超时异常_Apache_Web Services_Soap_Soapui_Axis2 - Fatal编程技术网

Apache Web服务Soap获取读取超时异常

Apache Web服务Soap获取读取超时异常,apache,web-services,soap,soapui,axis2,Apache,Web Services,Soap,Soapui,Axis2,我正在尝试使用ApacheAxis2和Tomcat6通过一个客户端WSDL文件创建soap web服务客户端 我成功地生成了客户机,但当我调用方法来获取数据时,我得到了一个错误 WSDL位置: 错误: 无法将邮件发送到url[ java.net.SocketTimeoutException:读取超时 我的疑问如下: 我们使用GET或POST方法发送请求,我们如何在SOAP web服务中知道这些方法 上面提到的错误是什么时候出现的 除了ApacheAxis2之外,我们还可以为这个WSDL文件使用什

我正在尝试使用ApacheAxis2和Tomcat6通过一个客户端WSDL文件创建soap web服务客户端

我成功地生成了客户机,但当我调用方法来获取数据时,我得到了一个错误

WSDL位置:

错误:

无法将邮件发送到url[ java.net.SocketTimeoutException:读取超时

我的疑问如下:

  • 我们使用GET或POST方法发送请求,我们如何在SOAP web服务中知道这些方法
  • 上面提到的错误是什么时候出现的
  • 除了ApacheAxis2之外,我们还可以为这个WSDL文件使用什么其他生成客户端

  • 您可能需要检查骨架端需要多长时间。我以前做过SOAP,也遇到过同样的问题。下面的代码可能会对您有所帮助

    private HttpURLConnection getConnection(String endPoint) {
        try {
            URL url = new URL(endPoint);
            URLConnection connection = url.openConnection();
            connection.setConnectTimeout(20000); // 20 sec connection timeout
            connection.setReadTimeout(60000); // 60 sec read timeout
            HttpURLConnection httpConnection = (HttpURLConnection) connection;
            httpConnection.setRequestMethod("POST");
            OutputStream out = httpConnection.getOutputStream();
            return httpConnection;
        } catch (MalformedURLException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    
    }
    
    但是,请确保您的服务(框架)不会花费太多时间来处理请求。您可以使用SoapUI确定返回响应所花费的时间。相应地,您可以设置超时值

    以下是你的疑问的答案:

    1.您可以在HttpURLConnection对象中设置POST/GET

    2.如果连接长时间处于空闲状态且服务未返回任何结果,则可能会出现指定的错误。请使用SoapUI检查服务的回复

    3.wsdl2java和带有ApacheAxis2的java2wsdl是一个很好的选择,xmlbeans还有一个内置的转换器,使用起来非常方便