利用wsdl文件生成webservice接口的java客户端测试代码

在JDK1.6版本以后,在<JAVA_HOME>/bin目录下有一个wsimport.exe工具,该工具可以根据wsdl文件自动生成webservice接口调用的java客户端代码,十分方便。而自己仅需要写一个测试类。

 

使用过程如下:

1.      获取webservice的wsdl文件。

2.      输入命令wsimport unifiedOrder.wsdl -keep -p wy.soap.order -s d:/mytest即可生成代码到d:/mytest目录。

参数含义如下:

-keep                  keepgenerated files

-p <pkg>                specifiesthe target package

-s <directory>           specify where to place generated source files

也可以直接从url生成:

wsimport -d  generated  http://example.org/stock?wsdl

 

这有个例子:

目录D:\mytest\WSDL\unifiedOrder下已经存在一个wsdl文件:


在cmd窗口进入该目录:输入命令wsimport unifiedOrder.wsdl -keep -p wy.soap.order -s d:/mytest

 



源代码就生成到d:/mytest目录下了。在当前wy目录,还生成了所有的class文件:



然后,可以把这些class打为jar包,或者将源代码导入到你的IDE中使用。

 

本人这里导入所有的.java文件到eclipse工程里:

 

测试类为UnifiedQueryTest.java,这里只需实例化xxxxxService类并调用接口方法。


代码如下:

package wy.soap.query;
 
class UnifiedQueryTest{
   
    public static void main(String[] args) {
       IS3UnifiedQueryService server = new IS3UnifiedQueryService();
       IS3UnifiedQueryServicePortType spt =server.getIS3UnifiedQueryServiceHttpPort();
          System.out.println(
                spt.unifiedQuery(
                        "<?xml version=\"1.0\"encoding=\"UTF-8\"?>"
                        +"<ATS>"
                        +"<Requesthead>"
                        +"<user>0119</user>"
                        +"<request_type>04300006</request_type>"
                        +"<password>a03edc60-b836-45c5-863b-01a98e3f72f1</password>"
                        +"<server_version>00000000</server_version>"
                        +"<sender>0119</sender>"
                        +"<uuid>ce5ab777-57e9-4172-b003-ec05dea71da4</uuid>"
                        +"<flowintime>2016-12-15 16:39:03.865CST</flowintime>"
                        +"</Requesthead>"
                        +"<PUB>"
                        +"<TransSource>JFCD-BJ</TransSource>"
                        +"<TransCode>QryRecState</TransCode>"
                        +"<TransDate>20161215</TransDate>"
                        +"<TransTime>163903</TransTime>"
                        +"<TransSeq>20161215163903865</TransSeq>"
                        +"</PUB>"
                        +"<IN>"
                        +"<RdSeq>JFCD-BJ201612151601454920008</RdSeq>"
                        +"</IN> "
                        +"</ATS>"));
       }
}


编译即可运行。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值