zoukankan      html  css  js  c++  java
  • 十一、用工具生成代码

    1、 用Axis提供的WSDL2java工具类生成代码,命令如下:

    C:\SoftWare\tomcat-5.0.28\tomcat-5.0.28\webapps\AxisWebService\WEB-INF>java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java -s http://localhost:8080/AxisWebService/services/HelloWorldWSDD?wsdl –o c:\

    -s 是设置wsdl的路径url和是当前物理硬盘上的wsdl文件(可以将页面上的wsdl的xml文件另存为一份试试,也是可以的)

    -o 是设置转换的文件的输出目录

    上面的命令会生产服务器端的实现代码和客户端的调用代码。代码文件如下:

     

    deploy、undeploy是发布、卸载WebService的wsdd文件

    HelloWorldWSDD是服务器端代码接口文件,继承了Remote接口,定义了getAge、sayHello方法

    HelloWorldWSDDService是获得当前Service实例的接口

    HelloWorldWSDDServiceLocator实现了HelloWorldWSDDService接口,客户端在调用当前WebService时候有用

    HelloWorldWSDDSoapBindingImpl当前WebService接口HelloWorldWSDD的实现,需要自己实现方法的业务

    HelloWorldWSDDSoapBindingStub看结尾的Stub就知道,这个可以完成客户端的实现,用它就可以调用到WebService的方法

    下面用WSDL2Java生成的代码调用WebService,注意你还得用dos命令将上面的服务通过deploy.wsdd发布出去。下面是调用代码:

    代码
    package localhost.AxisWebService.services.HelloWorldWSDD.clientimpl;

    import java.net.MalformedURLException;
    import java.net.URL;
    import java.rmi.RemoteException;
    import javax.xml.rpc.ServiceException;
    import localhost.AxisWebService.services.HelloWorldWSDD.HelloWorldWSDDServiceLocator;
    import localhost.AxisWebService.services.HelloWorldWSDD.HelloWorldWSDDSoapBindingStub;

    public class Client {
    public static void main(String[] args) throws ServiceException, RemoteException, MalformedURLException {
    String target
    = "http://localhost:8080/AxisWebService/services/HelloWorldWSDD";
    HelloWorldWSDDServiceLocator service
    = new HelloWorldWSDDServiceLocator();
    HelloWorldWSDDSoapBindingStub stub
    = new HelloWorldWSDDSoapBindingStub(new URL(target), service);

    System.out.println(stub.getAge(
    22));
    System.out.println(stub.getName(
    "张三"));
    }
    }

    用自动生成的代码完成客户端调用比较简单,如果你的WebService的实现版本是JAX-WS2.0就可以用MyEclipse的WebService插件工具帮助我们生产代码,如:axis2就可以,下次会介绍Axis2.x的用法。

  • 作者:hoojo
    出处:
    blog:http://blog.csdn.net/IBM_hoojo
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权所有,转载请注明出处 本文出自:
分享道版权所有,欢迎转载,转载请注明出处,谢谢
收藏
关注
评论
查看全文
  • 相关阅读:
    将h.264视频流封装成flv格式文件(一.flv格式)(转载)<a href="http://blog.csdn.net/yeyumin89/article/details/7932368"></a>
    01背包,求最大值
    JNI vc6.0 dll
    jni java c++ 参数传递问题解决
    (转载)将h.264视频流封装成flv格式文件(二.开始动手)http://blog.csdn.net/yeyumin89/article/details/7932431
    达到最高效益的调度
    按照RFC3984协议实现H264视频流媒体
    语音识别 转载 待测试
    活动选择问题 动态规划算法(最大子集合或最大收益)
    整齐打印
  • 原文地址:https://www.cnblogs.com/hoojo/p/1911393.html
  • Copyright © 2011-2022 走看看