javaEE调用webservice总结【利用WSDL】(转载)

一、MyEclipse利用网上公开发布WSDL文件,创建WebService Client,进行调用WebService;

 

      网上找的WSDL测试例子wdlurl:http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl

 

    1.  打开MyEclipse,新建一个Web Project;然后新建 一个package,取名为com.test;

    2.  然后再New一个Web Service Client;

         点next ,然后录入 WSDL URL: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl

         点next,点finish;ok了,系统会自动帮忙生成很多代码。

    3. 打开qqOnlineWebServiceClient.java;

        在main函数里 加入 String str = qqOnlineWebServiceSoap.qqCheckOnline("854915761");   加好代码后形式如下:

 

static void main(String[] args) {

  qqOnlineWebServiceClient client = new qqOnlineWebServiceClient();

  //create a default service endpoint
  com.test.qqOnlineWebServiceSoap qqOnlineWebServiceSoap = client
    .getqqOnlineWebServiceSoap();

  //TODO: Add custom client code here
  //
  //qqOnlineWebServiceSoap.yourServiceOperationHere();
  String str = qqOnlineWebServiceSoap.qqCheckOnline("854915761");
  System.out.println("test client completed:"+str);
  System.exit(0);
 } 

 

 

4.然后右击qqOnlineWebServiceClient.java,  run as application,

  会报错:【报错不可怕,我们可以根据错误原因,解决之,下面错误的原因就是少commons-httpclient-3.1-rc1.jar这么一个玩意,一般安装后MyEclipse后是没有这个东东的,需要下载一下,网上有】

  Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/RequestEntity
 at java.lang.Class.getDeclaredConstructors0(Native Method)
 at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
 at java.lang.Class.getConstructor0(Unknown Source)
 at java.lang.Class.getConstructor(Unknown Source)
 at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:108)
 at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
 at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
 at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
 at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
 at org.codehaus.xfire.client.Client.invoke(Client.java:335)
 at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
 at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
 at $Proxy8.qqCheckOnline(Unknown Source)
 at com.test.qqOnlineWebServiceClient.main(qqOnlineWebServiceClient.java:126)

 

5.将下载到的commons-httpclient-3.1-rc1.jar放到MyEclipse安装目录下的MyEclipse/eclipse/plugins里【我是放到这里了,应该也可以放到其他地方,只要在classpath路径里应该就行】,然后右击工程选择build path-->configure build path;然后在打开的窗口里选择libraries选项卡,点Add External JARs,然后选择刚才放到plugins里的commons-httpclient-3.1-rc1.jar。只要加进来就可以了。

 

6.再run as一把,ok了。

输出:

    test client completed:N

你可能感兴趣的:(javaEE调用webservice总结【利用WSDL】(转载))