`

WSDL自动创建服务端与客户端代码

阅读更多

环境:JAVA_HOME  AXIS2_HOME

 

wsdl2java -uri g:\UserService.wsdl -p com.zzt.ws -d adb -s -ss -sd -ssi -o g:\zzt\server

wsdl2java -uri g:\UserService.wsdl -p com.zzt.ws -d adb -s -o g:\zzt\client

 

第一个命令生成服务器端代码 第二个命令生成客户端代码

 

有如下wsdl文件 UserService.wsdl(为方便浏览器的正常显示,去掉了格式)

---------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions name="UserService" targetNamespace="http://ws.zzt.com/" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.zzt.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://ws.zzt.com/" xmlns:tns="http://ws.zzt.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType name="User"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="username" type="xsd:string"></xsd:element> <xsd:element nillable="true" name="password" type="xsd:string"></xsd:element> <xsd:element nillable="true" name="email" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="loginRequest" type="tns:loginRequest"></xsd:element> <xsd:complexType name="loginRequest"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="username" type="xsd:string"></xsd:element> <xsd:element maxOccurs="1" minOccurs="1" name="password" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="loginResponse" type="tns:loginResponse"></xsd:element> <xsd:complexType name="loginResponse"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="resultCode" type="xsd:string"></xsd:element> <xsd:element nillable="true" name="description" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="addUserRequest" type="tns:addUserRequest"></xsd:element> <xsd:complexType name="addUserRequest"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="User_2" type="tns:User"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="addUserResponse" type="tns:addUserResponse"></xsd:element> <xsd:complexType name="addUserResponse"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="resultCode" type="xsd:int"></xsd:element> <xsd:element nillable="true" name="description" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="editUserRequest" type="tns:editUserRequest"></xsd:element> <xsd:complexType name="editUserRequest"> <xsd:sequence> <xsd:element nillable="true" name="oldPassword" type="xsd:string"></xsd:element> <xsd:element maxOccurs="1" minOccurs="1" name="User_2" type="tns:User"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="editUserResponse" type="tns:editUserResponse"></xsd:element> <xsd:complexType name="editUserResponse"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="resultCode" type="xsd:int"></xsd:element> <xsd:element nillable="true" name="description" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="deleteUserRequest" type="tns:deleteUserRequest"></xsd:element> <xsd:complexType name="deleteUserRequest"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="username" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="deleteUserResponse" type="tns:deleteUserResponse"></xsd:element> <xsd:complexType name="deleteUserResponse"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="resultCode" type="xsd:int"></xsd:element> <xsd:element nillable="true" name="description" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="loginRequest"> <wsdl:part element="tns:loginRequest" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="loginResponse"> <wsdl:part element="tns:loginResponse" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="addUserRequest"> <wsdl:part element="tns:addUserRequest" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="addUserResponse"> <wsdl:part element="tns:addUserResponse" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="editUserRequest"> <wsdl:part element="tns:editUserRequest" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="editUserResponse"> <wsdl:part element="tns:editUserResponse" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="deleteUserRequest"> <wsdl:part element="tns:deleteUserRequest" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="deleteUserResponse"> <wsdl:part element="tns:deleteUserResponse" name="parameters"></wsdl:part> </wsdl:message> <wsdl:portType name="UserInterfaces"> <wsdl:operation name="login"> <wsdl:input message="tns:loginRequest" name="login"></wsdl:input> <wsdl:output message="tns:loginResponse" name="loginResponse"></wsdl:output> </wsdl:operation> <wsdl:operation name="addUser"> <wsdl:input message="tns:addUserRequest" name="addUser"></wsdl:input> <wsdl:output message="tns:addUserResponse" name="addUserResponse"></wsdl:output> </wsdl:operation> <wsdl:operation name="editUser"> <wsdl:input message="tns:editUserRequest" name="editUser"></wsdl:input> <wsdl:output message="tns:editUserResponse" name="editUserResponse"></wsdl:output> </wsdl:operation> <wsdl:operation name="deleteUser"> <wsdl:input message="tns:deleteUserRequest" name="deleteUser"></wsdl:input> <wsdl:output message="tns:deleteUserResponse" name="deleteUserResponse"></wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="UserServiceSoapBinding" type="tns:UserInterfaces"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"></soap:binding> <wsdl:operation name="login"> <soap:operation soapAction="" style="document"></soap:operation> <wsdl:input name="login"> <soap:body use="literal"></soap:body> </wsdl:input> <wsdl:output name="loginResponse"> <soap:body use="literal"></soap:body> </wsdl:output> </wsdl:operation> <wsdl:operation name="addUser"> <soap:operation soapAction="" style="document"></soap:operation> <wsdl:input name="addUser"> <soap:body use="literal"></soap:body> </wsdl:input> <wsdl:output name="addUserResponse"> <soap:body use="literal"></soap:body> </wsdl:output> </wsdl:operation> <wsdl:operation name="editUser"> <soap:operation soapAction="" style="document"></soap:operation> <wsdl:input name="editUser"> <soap:body use="literal"></soap:body> </wsdl:input> <wsdl:output name="editUserResponse"> <soap:body use="literal"></soap:body> </wsdl:output> </wsdl:operation> <wsdl:operation name="deleteUser"> <soap:operation soapAction="" style="document"></soap:operation> <wsdl:input name="deleteUser"> <soap:body use="literal"></soap:body> </wsdl:input> <wsdl:output name="deleteUserResponse"> <soap:body use="literal"></soap:body> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="UserService"> <wsdl:port binding="tns:UserServiceSoapBinding" name="UserPort"> <soap:address location="http://localhost:8080/zzt/services/UserService"></soap:address> </wsdl:port> </wsdl:service></wsdl:definitions> 

 

执行以上命令之后,可以看到生成的目录结构,如下:

zzt

|------------client

                |------------src (com\zzt\ws\UserServiceStub.java)

                |------------build.xml

|------------server

                |------------src(com\zzt\ws\....java)

                |------------resources

                                |------------services.xml 

                                |------------UserService.wsdl

 

附件zzt.rar给出生成的源代码。

 

  • zzt.rar (66.7 KB)
  • 下载次数: 73
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics