蜜果私塾:根据wsdl生成对应的Java代码进行接口测试(一)
标签: 蜜果私塾:根据wsdl生成对应的Java代码进行接口测试(一) 博客 51CTO博客
2023-06-19 18:24:24 216浏览
在上两篇写WebService的文章中:
1)使用XFire+Spring构建Web Service(一)——helloWorld篇 2)使用XFire+Spring构建Web Service(二) 讲到了如何使用XFire+Spring构建WebService,并生成了对应的wsdl文件。针对这两篇文章,收到很多留言和读者来信,大部分都是针对拿到wsdl后,如何根据wsdl生成对应的Java代码,并进行测试。
基于在开发过程中,很多时候都是拿到另一方的wsdl,需要与该方进行联调测试,所以在本文中,我大概的整理了一下,希望能帮读者解决一些问题。
第一章. 准备wsdl
这阵子正好在写几个wsdl,就拿其中一个来做实例吧。
首先贴下接口协议文档:
1.1 数据类型
AccessCodeContext的数据类型:
域名 |
类型 |
Is Null |
说明 |
accessCode |
Varchar(32) |
N |
接入号 |
vccId |
Varchar(20) |
Y |
集团标识 |
routeStrategy |
Integer 默认1 |
N |
路由策略: 1.转接分机/组; 2.由CTI指定路由。 |
telephoneNumber |
Varchar(32) |
Y |
分机/分机组(当路由策略为1时,该项不能为空) |
serviceId |
Varchar(20) |
Y |
服务(当路由策略为2时,该项不能为空) |
1.2查询接入号码总数接口
接口定义
接口名称 |
查询接入号码总数接口 |
接口描述 |
查询接入号码总数 1)accessCodeContext中的routeStrategy为0时,不过滤该项. |
接口协议 |
webservice方式,使用utf-8编码 |
方法名 |
getTotalItem |
链接地址 |
|
接口提供者 |
|
主要使用者 |
ap |
wsdl文件 |
2) 输入参数:
名称 |
说明 |
数据类型 |
is null |
accessCodeContext |
接入号码属性(当该对象为null时,查询所有的接入号码信息,若某项为空时,该项不参与查询) |
AccessCodeContext |
n |
3) 返回参数
发生其他异常时,以ServiceException异常的方式抛出。
名称 |
说明 |
数据类型 |
is null |
totalItem |
总数 |
Integer |
Y |
1.3查询接入号码列表接口
1)接口定义
接口名称 |
查询接入号码列表接口 |
接口描述 |
查询接入号码列表 1)accessCodeContext中的routeStrategy为0时,不过滤该项. |
接口协议 |
webservice方式,使用utf-8编码 |
方法名 |
list |
链接地址 |
|
接口提供者 |
|
主要使用者 |
ap |
wsdl文件 |
2) 输入参数:
名称 |
说明 |
数据类型 |
is null |
startItem |
起始查询行号 |
Varchar |
Y |
maxItem |
最大查询行数 |
Varchar |
Y |
accessCodeContext |
接入号码属性(当该对象为null时,查询所有的接入号码信息,若某项为空时,该项不参与查询) |
AccessCodeContext |
n |
3) 返回参数
发生其他异常时,以ServiceException异常的方式抛出。
名称 |
说明 |
数据类型 |
is null |
accessCodeContextArray |
接入号码信息数组 |
AccessCodeContext[] |
Y |
1.4 查询单个接入号码接口
1)接口定义
接口名称 |
查询接入号码接口 |
接口描述 |
查询接入号码信息 |
接口协议 |
webservice方式,使用utf-8编码 |
方法名 |
find |
链接地址 |
|
接口提供者 |
|
主要使用者 |
ap |
wsdl文件 |
2) 输入参数:
名称 |
说明 |
数据类型 |
is null |
accessCode |
接入号码 |
varchar(32) |
n |
3) 返回参数
若接入号码信息不存在或发生其他异常时,以ServiceException异常的方式抛出。
名称 |
说明 |
数据类型 |
is null |
accessCodeContext |
接入号码属性 |
AccessCodeContext |
N |
1.5 增加接入号码接口
1) 接口定义
接口名称 |
增加接入号码接口 |
接口描述 |
增加接入号码, 说明: 1) 接入号码不能重复; 2) 集团信息必须存在。 |
接口协议 |
webservice方式,使用utf-8编码 |
方法名 |
save |
链接地址 |
|
接口提供者 |
|
主要使用者 |
ap |
wsdl文件 |
2) 输入参数:
名称 |
说明 |
数据类型 |
is null |
accessCodeContext |
接入号码信息 |
AccessCodeContext |
n |
3) 返回参数
失败时以异常的方式抛出ServiceException。
1.6 修改接入号码接口
1) 接口定义
接口名称 |
修改接入号码接口 |
接口描述 |
修改接入号码。 说明: 1) 接入号码必须存在; 2) 集团信息必须存在。 |
接口协议 |
webservice方式,使用utf-8编码 |
方法名 |
update |
链接地址 |
|
接口提供者 |
|
主要使用者 |
ap |
wsdl文件 |
2) 输入参数
名称 |
说明 |
数据类型 |
is null |
accessCodeContext |
接入号码信息 |
AccessCodeContext |
n |
3) 返回参数
失败时以异常的方式抛出ServiceException。
1.7 删除接入号码接口
1)接口定义
接口名称 |
删除接入号码接口 |
接口描述 |
删除接入号码: 1)接入号码必须存在。 |
接口协议 |
webservice方式,使用utf-8编码 |
方法名 |
delete |
链接地址 |
|
接口提供者 |
|
主要使用者 |
ap |
wsdl文件 |
2) 输入参数:
名称 |
说明 |
数据类型 |
is null |
accessCode |
接入号码 |
Varchar(32) |
n |
3) 返回参数
失败时以异常的方式抛出ServiceException。
第二章 实例wsdl
相关的wsdl有5个,其中两个是各个接口共用的,定义了共用的异常和数据对象之类的东西。
1)acd_common_faults.wsdl:定义了共用的异常ServiceException。
内容如下:
<?
xml version="1.0" encoding="UTF-8"
?>
<!--
编辑使用 XMLSpy v2006 U (http://www.altova.com) 由 any (any)
-->
<!--
2009.10.29
-->
<
wsdl:definitions
xmlns
="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl
="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd
="http://www.w3.org/2001/XMLSchema"
xmlns:acd_common_faults_xsd
="http://cintel.com/ws/acd/system/v1_0/common/model"
targetNamespace
="http://www.cintel.com.cn/ws/acd/system/v1_0/common/faults"
name
="common_faults"
>
<
wsdl:types
>
<
xsd:schema
elementFormDefault
="qualified"
>
<
xsd:import
namespace
="http://cintel.com/ws/acd/system/v1_0/common/model"
schemaLocation
="acd_common_types.xsd"
/>
</
xsd:schema
>
</
wsdl:types
>
<
wsdl:message
name
="ServiceException"
>
<
wsdl:part
name
="ServiceException"
element
="acd_common_faults_xsd:ServiceException"
/>
</
wsdl:message
>
</
wsdl:definitions
>
2)acd_common_types.xsd:定义了共用的数据类型
3)acd_accessCode_types.xsd:定义了接入码的数据对象
<? xml version="1.0" encoding="UTF-8"
?>
<!--
20090618
-->
<
xsd:schema
xmlns:acd_common_xsd
="http://cintel.com/ws/acd/system/v1_0/common/model"
xmlns:acd_accessCode_xsd
="http://cintel.com/ws/acd/system/v1_0/accessCode/model"
xmlns:xsd
="http://www.w3.org/2001/XMLSchema"
targetNamespace
="http://cintel.com/ws/acd/system/v1_0/accessCode/model"
>
<
xsd:element
name
="AccessCodeContext"
type
="acd_accessCode_xsd:AccessCodeContext"
/>
<
xsd:complexType
name
="AccessCodeContext"
>
<
xsd:sequence
>
<
xsd:element
name
="accessCode"
type
="xsd:string"
nillable
="false"
/>
<
xsd:element
name
="vccId"
type
="xsd:string"
nillable
="true"
/>
<
xsd:element
name
="routeStrategy"
type
="xsd:int"
nillable
="false"
/>
<
xsd:element
name
="telephoneNumber"
type
="xsd:string"
nillable
="true"
/>
<
xsd:element
name
="serviceId"
type
="xsd:int"
nillable
="true"
/>
</
xsd:sequence
>
</
xsd:complexType
>
</
xsd:schema
>
4)acd_accessCode_service.wsdl:定义了接入码管理的各个方法
<? xml version="1.0" encoding="UTF-8" ?>
<!--
2009-10-29
-->
<
wsdl:definitions
xmlns
="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl
="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap
="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd
="http://www.w3.org/2001/XMLSchema"
xmlns:tns
="http://cintel.com/ws/acd/system/v1_0/accessCode/service"
xmlns:interface
="http://cintel.com/ws/acd/system/v1_0/accessCode/interface"
targetNamespace
="http://cintel.com/ws/acd/system/v1_0/accessCode/service"
name
="acd_accessCode_service"
>
< wsdl:import
namespace
="http://cintel.com/ws/acd/system/v1_0/accessCode/interface"
location
="acd_accessCode_interface.wsdl"
/>
< wsdl:binding
name
="AccessCodeBinding"
type
="interface:AccessCode"
>
< soap:binding
style
="document"
transport
="http://schemas.xmlsoap.org/soap/http"
/>
< wsdl:operation
name
="getTotalItem"
>
< soap:operation
style
="document"
/>
< wsdl:input
>
< soap:body
use
="literal"
/>
</ wsdl:input
>
< wsdl:output
>
< soap:body
use
="literal"
/>
</ wsdl:output
>
< wsdl:fault
name
="ServiceException"
>
< soap:fault
name
="ServiceException"
use
="literal"
/>
</ wsdl:fault
>
</ wsdl:operation
>
< wsdl:operation
name
="list"
>
< soap:operation
style
="document"
/>
< wsdl:input
>
< soap:body
use
="literal"
/>
</ wsdl:input
>
< wsdl:output
>
< soap:body
use
="literal"
/>
</ wsdl:output
>
< wsdl:fault
name
="ServiceException"
>
< soap:fault
name
="ServiceException"
use
="literal"
/>
</ wsdl:fault
>
</ wsdl:operation
>
< wsdl:operation
name
="find"
>
< soap:operation
style
="document"
/>
< wsdl:input
>
< soap:body
use
="literal"
/>
</ wsdl:input
>
< wsdl:output
>
< soap:body
use
="literal"
/>
</ wsdl:output
>
< wsdl:fault
name
="ServiceException"
>
< soap:fault
name
="ServiceException"
use
="literal"
/>
</ wsdl:fault
>
</ wsdl:operation
>
< wsdl:operation
name
="save"
>
< soap:operation
style
="document"
/>
< wsdl:input
>
< soap:body
use
="literal"
/>
</ wsdl:input
>
< wsdl:output
>
< soap:body
use
="literal"
/>
</ wsdl:output
>
< wsdl:fault
name
="ServiceException"
>
< soap:fault
name
="ServiceException"
use
="literal"
/>
</ wsdl:fault
>
</ wsdl:operation
>
< wsdl:operation
name
="update"
>
< soap:operation
style
="document"
/>
< wsdl:input
>
< soap:body
use
="literal"
/>
</ wsdl:input
>
< wsdl:output
>
< soap:body
use
="literal"
/>
</ wsdl:output
>
< wsdl:fault
name
="ServiceException"
>
< soap:fault
name
="ServiceException"
use
="literal"
/>
</ wsdl:fault
>
</ wsdl:operation
>
< wsdl:operation
name
="delete"
>
< soap:operation
style
="document"
/>
< wsdl:input
>
< soap:body
use
="literal"
/>
</ wsdl:input
>
< wsdl:output
>
< soap:body
use
="literal"
/>
</ wsdl:output
>
< wsdl:fault
name
="ServiceException"
>
< soap:fault
name
="ServiceException"
use
="literal"
/>
</ wsdl:fault
>
</ wsdl:operation
>
</ wsdl:binding
>
< wsdl:service
name
="AcessCodeService"
>
< wsdl:port
name
="AccessCode"
binding
="tns:AccessCodeBinding"
>
< soap:address
location
="http://localhost:8686/AccessCodeService/services/AccessCode"
/>
</ wsdl:port
>
</ wsdl:service
>
</
wsdl:definitions
>
5)acd_accessCode_interface.wsdl:接口定义
<? xml version="1.0" encoding="UTF-8" ?>
<!--
2009-10-29
-->
<
wsdl:definitions
xmlns
="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl
="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd
="http://www.w3.org/2001/XMLSchema"
xmlns:acd_accessCode
="http://cintel.com/ws/acd/system/v1_0/accessCode/interface"
xmlns:acd_common_xsd
="http://cintel.com/ws/acd/system/v1_0/common/model"
xmlns:acd_common_faults
="http://www.cintel.com.cn/ws/acd/system/v1_0/common/faults"
xmlns:acd_accessCode_xsd
="http://cintel.com/ws/acd/system/v1_0/accessCode/model"
xmlns:acd_accessCode_local_xsd
="http://cintel.com/ws/acd/system/v1_0/accessCode/local"
targetNamespace
="http://cintel.com/ws/acd/system/v1_0/accessCode/interface"
name
="acd_AccessCode_interface"
>
< wsdl:import namespace
="http://www.cintel.com.cn/ws/acd/system/v1_0/common/faults"
location
="acd_common_faults.wsdl"
/>
< wsdl:types >
< xsd:schema elementFormDefault
="qualified"
xmlns:xsd
="http://www.w3.org/2001/XMLSchema"
targetNamespace
="http://cintel.com/ws/acd/system/v1_0/accessCode/local"
>
< xsd:import namespace
="http://cintel.com/ws/acd/system/v1_0/accessCode/model"
schemaLocation
="acd_accessCode_types.xsd"
/>
< xsd:import namespace
="http://cintel.com/ws/acd/system/v1_0/common/model"
schemaLocation
="acd_common_types.xsd"
/>
< xsd:element name
="getTotalItem"
type
="acd_accessCode_local_xsd:getTotalItem"
/>
< xsd:complexType name
="getTotalItem"
>
< xsd:sequence >
< xsd:element name
="accessCodeContext"
type
="acd_accessCode_xsd:AccessCodeContext"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="getTotalItemResponse"
type
="acd_accessCode_local_xsd:getTotalItemResponse"
/>
< xsd:complexType name
="getTotalItemResponse"
>
< xsd:sequence >
< xsd:element name
="totalItem"
type
="xsd:int"
nillable
="false"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="list"
type
="acd_accessCode_local_xsd:list"
/>
< xsd:complexType name
="list"
>
< xsd:sequence >
< xsd:element name
="startItem"
type
="xsd:int"
nillable
="false"
/>
< xsd:element name
="maxItem"
type
="xsd:int"
nillable
="false"
/>
< xsd:element name
="accessCodeContext"
type
="acd_accessCode_xsd:AccessCodeContext"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="listResponse"
type
="acd_accessCode_local_xsd:listResponse"
/>
< xsd:complexType name
="listResponse"
>
< xsd:sequence >
< xsd:element name
="accessCodeContextArray"
type
="acd_accessCode_xsd:AccessCodeContext"
nillable
="true"
minOccurs
="0"
maxOccurs
="unbounded"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="find"
type
="acd_accessCode_local_xsd:find"
/>
< xsd:complexType name
="find"
>
< xsd:sequence >
< xsd:element name
="accessCode"
type
="xsd:string"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="findResponse"
type
="acd_accessCode_local_xsd:findResponse"
/>
< xsd:complexType name
="findResponse"
>
< xsd:sequence >
< xsd:element name
="accessCodeContext"
type
="acd_accessCode_xsd:AccessCodeContext"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="save"
type
="acd_accessCode_local_xsd:save"
/>
< xsd:complexType name
="save"
>
< xsd:sequence >
< xsd:element name
="accessCodeContext"
type
="acd_accessCode_xsd:AccessCodeContext"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="saveResponse"
type
="acd_accessCode_local_xsd:saveResponse"
/>
< xsd:complexType name
="saveResponse"
>
< xsd:sequence >
< xsd:element name
="result"
type
="xsd:boolean"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="update"
type
="acd_accessCode_local_xsd:update"
/>
< xsd:complexType name
="update"
>
< xsd:sequence >
< xsd:element name
="accessCodeContext"
type
="acd_accessCode_xsd:AccessCodeContext"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="updateResponse"
type
="acd_accessCode_local_xsd:updateResponse"
/>
< xsd:complexType name
="updateResponse"
>
< xsd:sequence >
< xsd:element name
="result"
type
="xsd:boolean"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="delete"
type
="acd_accessCode_local_xsd:delete"
/>
< xsd:complexType name
="delete"
>
< xsd:sequence >
< xsd:element name
="accessCode"
type
="xsd:string"
/>
</ xsd:sequence >
</ xsd:complexType >
< xsd:element name
="deleteResponse"
type
="acd_accessCode_local_xsd:deleteResponse"
/>
< xsd:complexType name
="deleteResponse"
>
< xsd:sequence >
< xsd:element name
="result"
type
="xsd:boolean"
/>
</ xsd:sequence >
</ xsd:complexType >
</ xsd:schema >
</ wsdl:types >
< wsdl:message name
="AccessCode_getTotalItemMessageRequest"
>
< wsdl:part name
="parameters"
element
="acd_accessCode_local_xsd:getTotalItem"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_getTotalItemMessageResponse"
>
< wsdl:part name
="result"
element
="acd_accessCode_local_xsd:getTotalItemResponse"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_listMessageRequest"
>
< wsdl:part name
="parameters"
element
="acd_accessCode_local_xsd:list"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_listMessageResponse"
>
< wsdl:part name
="result"
element
="acd_accessCode_local_xsd:listResponse"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_findMessageRequest"
>
< wsdl:part name
="parameters"
element
="acd_accessCode_local_xsd:find"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_findMessageResponse"
>
< wsdl:part name
="result"
element
="acd_accessCode_local_xsd:findResponse"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_saveMessageRequest"
>
< wsdl:part name
="parameters"
element
="acd_accessCode_local_xsd:save"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_saveMessageResponse"
>
< wsdl:part name
="result"
element
="acd_accessCode_local_xsd:saveResponse"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_updateMessageRequest"
>
< wsdl:part name
="parameters"
element
="acd_accessCode_local_xsd:update"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_updateMessageResponse"
>
< wsdl:part name
="result"
element
="acd_accessCode_local_xsd:updateResponse"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_deleteMessageRequest"
>
< wsdl:part name
="parameters"
element
="acd_accessCode_local_xsd:delete"
/>
</ wsdl:message >
< wsdl:message name
="AccessCode_deleteMessageResponse"
>
< wsdl:part name
="result"
element
="acd_accessCode_local_xsd:deleteResponse"
/>
</ wsdl:message >
< wsdl:portType name
="AccessCode"
>
< wsdl:operation name
="getTotalItem"
>
< wsdl:input message
="acd_accessCode:AccessCode_getTotalItemMessageRequest"
/>
< wsdl:output message
="acd_accessCode:AccessCode_getTotalItemMessageResponse"
/>
< wsdl:fault name
="ServiceException"
message
="acd_common_faults:ServiceException"
/>
</ wsdl:operation >
< wsdl:operation name
="list"
>
< wsdl:input message
="acd_accessCode:AccessCode_listMessageRequest"
/>
< wsdl:output message
="acd_accessCode:AccessCode_listMessageResponse"
/>
< wsdl:fault name
="ServiceException"
message
="acd_common_faults:ServiceException"
/>
</ wsdl:operation >
< wsdl:operation name
="find"
>
< wsdl:input message
="acd_accessCode:AccessCode_findMessageRequest"
/>
< wsdl:output message
="acd_accessCode:AccessCode_findMessageResponse"
/>
< wsdl:fault name
="ServiceException"
message
="acd_common_faults:ServiceException"
/>
</ wsdl:operation >
< wsdl:operation name
="save"
>
< wsdl:input message
="acd_accessCode:AccessCode_saveMessageRequest"
/>
< wsdl:output message
="acd_accessCode:AccessCode_saveMessageResponse"
/>
< wsdl:fault name
="ServiceException"
message
="acd_common_faults:ServiceException"
/>
</ wsdl:operation >
< wsdl:operation name
="update"
>
< wsdl:input message
="acd_accessCode:AccessCode_updateMessageRequest"
/>
< wsdl:output message
="acd_accessCode:AccessCode_updateMessageResponse"
/>
< wsdl:fault name
="ServiceException"
message
="acd_common_faults:ServiceException"
/>
</ wsdl:operation >
< wsdl:operation name
="delete"
>
< wsdl:input message
="acd_accessCode:AccessCode_deleteMessageRequest"
/>
< wsdl:output message
="acd_accessCode:AccessCode_deleteMessageResponse"
/>
< wsdl:fault name
="ServiceException"
message
="acd_common_faults:ServiceException"
/>
</ wsdl:operation >
</ wsdl:portType >
</
wsdl:definitions
>
第三章 在MyEclispe中通过wsdl生成Java代码
3.1 建立工程环境
在MyEclipse中建立一个工程,例如建立一个名为wsdl2java的WEB工程。需要添加到WEB-INF/lib目录下的包如下所示:

将wsdl目录拷贝到工程目录,例如src/wsdl目录下。
3. 2. 根据wsdl文件生成对应的java类
选择新建的工程后,点击右键,选择“Run As”->“Run”,如下图所示:

弹出窗口如下图所示:

在上图中,左边选择“Java Application”后,点击左上角的新增“”按钮new configuration,页面如下图所示:

在上图中,将“Include libraries when searching for a main class” 勾上,而后点击“Main class”右边的“Search”按钮,弹出窗口如下图所示:

在上图中输入WSDL2Java后,查找到axis这个jar包中对应类,点击“OK”按钮,此时主窗口如下图所示:

在上图中点击“Arguments”页签,Arguments里把要生成的web service URI或wsdl文件写进去,最后点run。在下图中输入的是wsdl文件的路径: src/wsdl/acd_accessCode_interface.wsdl、src/wsdl/acd_accessCode_service.wsdl:

生成的代码的结构如下图所示:

第四章 更简便的生成Java代码的方法
本章讲述的方法是笔者采用的方法,也是笔者所推荐的,原理与前一章相同,但是要简便一些。
4.1 准备jar包
将上一章提到的6个jar包放到某个目录,例如 E:\amigo\project\ws_lib
4.2 拷贝wsdl以及相关文件
将上面章节5个wsdl文件拷贝到某个目录,例如: E:\interface
4.3 编写一个批处理文件
编写一个根据wsdl生成Java代码的批处理文件,以后都可以拿来用。在wsdl文件所在目录创建批处理文件createPackageByWsdl.bat,编写该文件内容:
set LibPath=E:\amigo\project\ws_lib
set AxisClassPath=%LibPath%\axis.jar;%LibPath%\commons-logging.jar;%LibPath%\commons-discovery-0.2.jar;%LibPath%\jaxrpc.jar;%LibPath%\saaj.jar;%LibPath%\wsdl4j.jar;
set WSDL2JavaCommand=java -classpath %AxisClassPath% org.apache.axis.wsdl.WSDL2Java
set WsDeploy=-s
%WSDL2JavaCommand% %WsDeploy% acd_accessCode_interface.wsdl
%WSDL2JavaCommand% %WsDeploy% acd_accessCode_service.wsdl 在后面可加入更多的wsdl文件。
编写完成后,运行该批处理文件,可在同目录下生成指定的wsdl对应的Java类。生成的文件与上一章的文件一样。
注意:第一行指定的是jar所在的目录,读者需要进行修改。
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论






