用eclipse建立简单WebService客户端,使用WSDL,用于短信接口发送

使用工具:eclipse 标准版,不用任何插件。

操作步骤:

  1. 建立java Project 命名为mess;
  2. 再在project上右键,选择other,选择web service文件类别,选择web service client类,里面只用添加wsdl地址即可,不必修改其它的内容;
  3. 完成之后,生成你wsdl中服务名,为了醒目,假设是“xxxx”;那么会有两个关键类:xxxxStub,xxxxLocator;
  4. 可能会有xxxxPortProxy文件错误,这个文件其实可以不用,可以删除;(提示:如果想修改正常,原因是类包存在问题。)
  5. 随意建立一个类,导入包含xxxxStub和xxxxLocator类包;由于webService使用的是接口!所以要实例化,并且抛出异常;
  6. 然后可以直接Ctrl+F11运行即可。
 1 package xxxxService;
 2 
 3 import java.net.MalformedURLException;
 4 import java.rmi.RemoteException;
 5 
 6 import xxxx_pkg.xxxxStub;
 7 import xxxx_pkg.xxxxLocator;
 8 
 9 public class Test {
10 
11     public static void main(String[] args) {
12         try {
13             xxxxLocator service = new xxxxLocator();
14             java.net.URL url = new java.net.URL("URL?WSDL");
15             xxxxStub stub = new xxxxStub(url, service);
16             String x2 = stub.sendMessageFunction("String", "String", "String", "String", "String", "String");
17             System.out.println(x2);
18         } catch (RemoteException e) {
19             // TODO Auto-generated catch block
20             e.printStackTrace();
21         } catch (MalformedURLException e) {
22             // TODO Auto-generated catch block
23             e.printStackTrace();
24         }
25 
26     }
27 
28 }
新建的测试的类

扩展:

  其实不止可以新建java project,也可以建立Dynamic Web Project,只是更多人用来做C/S架构而已;

  附上一篇介绍各种webService的文章:java 调用webservice的各种方法总结

后记:

  在网上查阅了许多资料,无奈能力有限,各种各样的框架,要不就是有问题,要不就是不支持,有可能会出现下列原因:

  xFire:使用eclipse plugin 中 xfire 提示的是xxxxImpl类中有“UnsupportedOperationException()”异常,结果愣是改了半天没有任何进展!

  CXF:使用Apache 最新的 CXF2.7.6,弄了一会了wsdl2java.bat,

    cmd到这个bat文件目录

    执行:set JAVA_HOME="E:\Progra~1\Java\jdk1.7.0_05"

    执行:call wsdl2java.bat "URL?wsdl"

  这样就可以自动生成webservice client的java代码,但是!,出现“WSDLToJava Error: Rpc/encoded wsdls are not supported with CXF”;

  Axis:SAOP:然后再看看Axis1.x,Axis2.x的例子,头大了!

  初学,讲得比较简单。

posted @ 2013-07-24 22:40  yantze  阅读(2926)  评论(0编辑  收藏  举报