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

时间:2021-01-20 21:49:30

使用工具: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运行即可。
 package xxxxService;

 import java.net.MalformedURLException;
import java.rmi.RemoteException; import xxxx_pkg.xxxxStub;
import xxxx_pkg.xxxxLocator; public class Test { public static void main(String[] args) {
try {
xxxxLocator service = new xxxxLocator();
java.net.URL url = new java.net.URL("URL?WSDL");
xxxxStub stub = new xxxxStub(url, service);
String x2 = stub.sendMessageFunction("String", "String", "String", "String", "String", "String");
System.out.println(x2);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }

新建的测试的类

扩展:

  其实不止可以新建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的例子,头大了!

  初学,讲得比较简单。