[置顶] Myeclipse调用webservice总结【利用WSDL】

      最近学习MyEclipse、workshop方面的知识,重点是关于webservice方面的。

      经过大概2周的学习、实践,有点小收获。

 

一、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

 

 

 

二、work shop创建webservice总结

    

    oracle出的一个集成快速便捷的开发环境,我理解的是,bea的weblogic 和其他产品 + MyEclipse + Oracle自己开发的一些组件等整合到一起,可视化程度很高。

 

    查看workshop的help,根据上面的web service的例子【做了一个getCustomer的例子,每一步都有截图,挺清楚的】,一步一步实践;

    注意:数据源在代码里有简单的指定,如jdniname = samplesdatasource;webservice发布之前需要在weblogic中配置 这个数据源,我使用的是mysql,配置完以后可以Test 一下,然后add到运行的那个server中。

   然后代码中该建的表也需要先建一下。

   workshop启动server很慢,也很耗内存,建议可以在另外的机器上启动server,在本机开发测试。这样应该比较好。

  

 

 

你可能感兴趣的:(String,server,MyEclipse,webservice,weblogic,service)