首先在Eclipse中创建一个Java Project名称为TestWebService
创建类StockQuoteService
package samples.quickstart.service.pojo;
import java.util.HashMap;
public class StockQuoteService {
private HashMap map = new HashMap();
public double getPrice(String symbol) {
Double price = (Double) map.get(symbol);
if(price != null){
return price.doubleValue();
}
return 42.00;
}
public void update(String symbol, double price) {
map.put(symbol, new Double(price));
}
}
在随意目录创建目录StockQuoteService,将类导出jar包。这样就能够编译为class文件,将jar包中的类复制到刚刚创建的目录下,在apache的官网上下载Axis2。在百度上搜索Apache。在官网首页上找到Axis,点击进入,打开Axis2的java版本号,在左側能够找到下载的链接,下载二进制版本号,解压到本地目录,配置环境变量:AXIS2_HOME.
打开dos,cd到刚刚创建的StockQuoteService目录中
输入命令:
%AXIS2_HOME%\bin\java2wsdl -cp . -cn samples.quickstart.service.pojo.StockQuoteService -of StockQuoteService.wsdl
使用java2wsdl工具能够生成wsdl文件
打开刚刚Apache的Axis2的下载页面,下载war包
解压war包。找到axis2.war文件。复制到tomcat的webapps目录下
执行tomcatserver,war包被自己主动部署到了webapps目录下
在一開始创建的StockQuoteService目录下创建META-INF目录,在目录下创建文件services.xml
代码例如以下:
<service name="StockQuoteService" scope="application">
<description>
Stock Quote Sample Service
</description>
<messageReceivers>
<messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">
samples.quickstart.service.pojo.StockQuoteService
</parameter>
</service>
将StockQuoteService目录复制到webapps\axis2\WEB-INF\services目录下。重新启动server,訪问http://127.0.0.1:8080/axis2/services/listServices地址,能够看到创建的服务在列表中。那么说明该webservice已经起作用了。