zoukankan      html  css  js  c++  java
  • 用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~1Javajdk1.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的例子,头大了!

      初学,讲得比较简单。

  • 相关阅读:
    linux c编程:Posix消息队列
    go语言之接口二
    linux c编程:FIFO
    python cookbook第三版学习笔记十九:未包装的函数添加参数
    linux c编程:popen
    linux c编程:管道
    Linux c编程:I/O多路复用之epoll
    Linux c编程:I/O多路复用之select
    inux c编程:记录锁
    python cookbook第三版学习笔记十八:可由用户修改的装饰器
  • 原文地址:https://www.cnblogs.com/vastiny/p/3213332.html
Copyright © 2011-2022 走看看