下面介绍一下WSDL2Java工具,运行方式很简单:java org.apache.axis.wsdl.WSDL2Java xxx.wsdl就可以了(当然得加上一定的参数,具体参数可以看帮助),运行后会生成一堆的文件,先看看下面这张生成的文件图:

WSDL2Java的操作:对wsdl文件中每一个<wsdl:type>产生相应的type-name.java,如果有参数输入或有参数返回就产生type-nameHolder.java;对<wsdl:porttype>产生port-name.java;对<wsdl:binding>产生port-nameBindingStub.java,port-nameSoapBindingImpl.java,port-nameSoapBindingSkeleton.java;对<wsdl:service>产生port-nameService.java,port-nameServiceLocator.java,port-nameServiceTestCase.java;另外对每一个wsdl文件会产生deploy.wsdd,undeploy.wsdd文件
有了这些文件后,服务器端可以用前面介绍的wsdd的方法部署(因为WSDL2Java也产生相应的deploy.wsdd和undeploy.wsdd文件),客户端的调用代码如下:
BookService service = new BookServiceLocator();
BookPortType stub = service.getBookPort(new URL("http://localhost:8080/axis/services/BookService"));
stub.create(book);