使用Axis2开发Web服务 --- 使用ADB建立客户端

服务端参照:http://blog.csdn.net/kunshan_shenbin/archive/2009/01/20/3839417.aspx

1.下载Axis2并解压,在环境变量中追加%AXIS2_HOME%。

2.CMD进入MS-DOS,在%AXIS2_HOME%/samples/quickstart目录下下运行ant generate.wsdl生成WSDL文件(在%AXIS2_HOME%/samples/quickstart/build下生成StockQuoteService.wsdl文件,拷贝至/samples/quickstart/resources/META-INF/下备用)。

3.运行%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.clients -d adb -s -o build/client生成客户端用Stub文件。

注意:上述2,3步参照下图:

使用Axis2开发Web服务 --- 使用ADB建立客户端_第1张图片

4.运行后在%AXIS2_HOME%/samples/quickstart/build/client/src/samples/quickstart/clients下生成StockQuoteServiceStub.java文件。

5.如下图所示建立工程:

使用Axis2开发Web服务 --- 使用ADB建立客户端_第2张图片

代码如下:

ADBClient.java

package client.adb; import samples.quickstart.clients.StockQuoteServiceStub; public class ADBClient { public static void main(java.lang.String args[]){ try{ StockQuoteServiceStub stub = new StockQuoteServiceStub ("http://localhost:8080/Axis2Web/services/StockQuoteService"); getPrice(stub); update(stub); getPrice(stub); } catch(Exception e){ e.printStackTrace(); System.err.println("/n/n/n"); } } /* fire and forget */ public static void update(StockQuoteServiceStub stub){ try{ StockQuoteServiceStub.Update req = new StockQuoteServiceStub.Update(); req.setSymbol ("ABC"); req.setPrice (42.35); stub.update(req); System.err.println("price updated"); } catch(Exception e){ e.printStackTrace(); System.err.println("/n/n/n"); } } /* two way call/receive */ public static void getPrice(StockQuoteServiceStub stub){ try{ StockQuoteServiceStub.GetPrice req = new StockQuoteServiceStub.GetPrice(); req.setSymbol("ABC"); StockQuoteServiceStub.GetPriceResponse res = stub.getPrice(req); System.err.println(res.get_return()); } catch(Exception e){ e.printStackTrace(); System.err.println("/n/n/n"); } } }

StockQuoteServiceStub.java即为上面通过WSDL生成的Stub文件。

 

其他资料:

http://danlley.javaeye.com/blog/102166

http://tenn.javaeye.com/blog/100751

http://ws.apache.org/axis2/1_4_1/quickstartguide.html#clients

http://tenn.javaeye.com/blog/94296

你可能感兴趣的:(java,exception,ant,Class,web服务)