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