(1)下载Axis2,并解压。
官方网址:
(2)设置环境变量
SET AXIS2_HOME=解压后bin目录所在的目录,尽量不要有空格或中文
SET PATH=%AXIS2_HOME%\bin;
(3) 修改bin目录中的wsdl2java.bat
为了方便使用,以及避免一些NoClassFoundException类似的问题,修改wsdl2java.bat文件,查找:
set _RUNJAVA="%JAVA_HOME%\bin\java"
在这一行下面增加如下一行
set JAVA_OPTS="-Djava.ext.dirs=%AXIS2_HOME%\lib"
WSDL2Java -uri \WSDL_North_070929\ctcc_mm_send_service_2_2.wsdl -o src
WSDL2Java -uri \WSDL_North_070929\ctcc_mm_send_service_2_2.wsdl -p src -d xmlbeans -s -o build/client
客户端
1. 生成存根代码
WSDL2Java -uri -p src -d xmlbeans -s -o build/client
或
WSDL2Java -uri -o src
try {
BookServiceStub stock=new BookServiceStub();
FindBook findBook3=new FindBook();
findBook3.setIsbn("0123456789");
FindBookResponse Response=stock.findBook(findBook3);
System.out.println(Response.get_return().getAuthor());
} catch (java.rmi.RemoteException remoteException) {
remoteException.printStackTrace();
}
服务端
动态web服务
web.xml 添加如下:
AxisServlet
org.apache.axis2.transport.http.AxisServlet
1
AxisServlet
/services/*
service.xml 代码
targetNamespace="samples/book/">
Book sample service
samples.demo.BookService
wsdl 地址
在调试中遇见的问题:
1:
Unable to generate WSDL 1.1 for this servicedescription>
If you wish Axis2 to automatically generate the WSDL 1.1, then please +set useOriginalwsdl as false in your services.xmlreason>
error>
在service.xml中改为false