用eclipse建立简单WebService客户端,使用WSDL,用于短信接口发送
使用工具:eclipse 标准版,不用任何插件。
操作步骤:
- 建立java Project 命名为mess;
- 再在project上右键,选择other,选择web service文件类别,选择web service client类,里面只用添加wsdl地址即可,不必修改其它的内容;
- 完成之后,生成你wsdl中服务名,为了醒目,假设是“xxxx”;那么会有两个关键类:xxxxStub,xxxxLocator;
- 可能会有xxxxPortProxy文件错误,这个文件其实可以不用,可以删除;(提示:如果想修改正常,原因是类包存在问题。)
- 随意建立一个类,导入包含xxxxStub和xxxxLocator类包;由于webService使用的是接口!所以要实例化,并且抛出异常;
- 然后可以直接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的例子,头大了!
初学,讲得比较简单。