访问.Net Webservice的Java Web Service Client

时间:2011-05-28 11:07:58

标签: java soap webservice-client

我正在尝试通过Java Webservice客户端访问.Net Webservice。

但不幸的是,我收到错误“连接超时:连接

以下是我的代码:

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;

public class WebServiceMain {

    public static void main(String[] args) {

         try {
                 String endpoint = "http://wsf.cdyne.com/SpellChecker/check.asmx";
                 Service service = new Service();
                 Call call = (Call)service.createCall();
                 call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true)); 
                     call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://ws.cdyne.com/CheckTextBodyV2");
                     call.setTargetEndpointAddress( new java.net.URL(endpoint) );
                     call.setPortName(new QName("http://ws.cdyne.com/", "check"));
                 call.setOperationName(new QName("http://ws.cdyne.com/", "CheckTextBodyV2"));

                 System.out.println(call.invoke(new Object[] {"helo is my name"}));
               } catch (Exception e) {
                 System.err.println(e.toString());
               }
    }
}

3 个答案:

答案 0 :(得分:0)

连接超时是因为网络问题。浏览器中的访问URL。尝试在URL的末尾追加?wsdl,您应该看到wsdl.if这不能解决网络设置问题。

答案 1 :(得分:0)

  

连接超时:连接

这意味着您的客户端应用程序甚至无法与Web服务通信。这不是一个程序问题。

检查并查看是否可以通过网络浏览器访问终点。如果没有,那么该服务不可用。所以它不起作用。

如果您的浏览器可以访问它,并且您通过代理连接到Internet,则需要为Java客户端指定代理详细信息。为此,您可以在启动客户端应用程序时使用-Dhttp.proxyHost = 10.2.240.11和-Dhttp.proxyPort = 8080(替换为您的值)系统属性。

答案 2 :(得分:0)

下载soapui软件并安装它。 然后加载wsdl文件并创建项目。

然后通过soap ui测试您的Web服务。 您可以编辑soap ui的连接超时值。 chane it for big vlue and test.still your getiong time out out to the ip addres of the service