进入接口所在源文件的文件夹(包的最上层,如果包名是com.yy.ws则需要在com的上一层目录下如classes),我的文件夹结构是classes/com/yy/ws/所以我需要进入源文件目录:
C:\ws>cd classes
在控制台输入如下命令:
C:\ws\classes> java org.apache.axis.wsdl.Java2WSDL -o mb.wsdl -l "http://localhost:8080/axis/services/MobileBoss" -n "urn:MobileBoss" -p"com.yy.ws" "urn:MobileBoss" com.yy.ws.MobileBoss
参数说明: -o 输出wsdl文件名称
-l 访问的url
-n 命名空间
-p 包名 命名空间的名字(urn:是命名空间的缩写,必须有!)
com.yy.ws.MobileBoss 是接口的全路径。包名+类名。
如果没有抛出异常,我们就可以在C:\ws\classes文件夹下找到mb.wsdl.
这个mb.wsdl文件描述的这个ws的所有信息,包括请求响应对象、访问url、端口等等信息。这个文件是由axis的Java2WSDL 工具生成的,怎么样?是不是很方便啊!
下面我们来通过org.apache.axis.wsdl.WSDL2Java来生成相应的webservice代码。
进入wsdl文件所在目录。
C:\ws> cd classes
键入如下命令:
C:\ws\classes> java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true -Nurn:MobileBoss com.yy.ws mb.wsdl
参数说明: -o 输出文件所在目录( .-代表当前目录 )
-s生成server端绑定代码
-d发布范围
-S是否产生发布和撤销webservice的deploy.wsdd和undeploy.wsdd文件。ture代表生成发布文件。
-Nurn:命名空间 包名
mb.wsdl - wsdl文件名。
如果没有抛出异常,我们就可以在C:\ws\classes文件夹下找到下面几个文件:
ClientRequest.java
MobileBoss.java
MobileBossService.java
MobileBossServiceLocator.java
MobileBossSoapBindingImpl.java
MobileBossSoapBindingSkeleton.java
MobileBossSoapBindingStub.java
ServerResponse.java
deploy.wsdd 和undeploy.wsdd。
1 楼 huihai 2010-03-08 16:48