您的位置:首页 > 其它

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

2009-01-21 14:59 831 查看
服务端参照:http://blog.csdn.net/kunshan_shenbin/archive/2009/01/20/3839417.aspx

请先参阅前例:http://blog.csdn.net/kunshan_shenbin/archive/2009/01/21/3847412.aspx

步骤1,2与前例ADB一致,请先参照前例。

3.运行%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.xmlbeans -d xmlbeans -s -o build/client命令,在当前目录下生成/build/client目录。

4.进如client目录,运行ant jar.client,在当前目录的/build/lib下生成文件StockQuoteService-test-client.jar和XBeans-packaged.jar待用。

以上步骤请参阅下图:



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



代码如下:

XMLBEANSClient.java

package client.xmlbeans;

import samples.quickstart.service.xmlbeans.StockQuoteServiceStub;
import samples.quickstart.xsd.GetPriceDocument;
import samples.quickstart.xsd.GetPriceResponseDocument;
import samples.quickstart.xsd.UpdateDocument;

public class XMLBEANSClient {

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{
UpdateDocument reqDoc = UpdateDocument.Factory.newInstance();
UpdateDocument.Update req = reqDoc.addNewUpdate();
req.setSymbol ("BCD");
req.setPrice (42.32);

stub.update(reqDoc);
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{
GetPriceDocument reqDoc = GetPriceDocument.Factory.newInstance();
GetPriceDocument.GetPrice req = reqDoc.addNewGetPrice();
req.setSymbol("BCD");

GetPriceResponseDocument res =
stub.getPrice(reqDoc);

System.err.println(res.getGetPriceResponse().getReturn());
} catch(Exception e){
e.printStackTrace();
System.err.println("/n/n/n");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: