您的位置:首页 > 编程语言 > Java开发

java(axis)调用java编写的webservice

2010-07-12 17:18 274 查看
webservice服务端基于xfire,至于如何创建基于xfire的服务端,网上有很多文章就不再阐述。

服务端:

pojo:

public class GpsInfo {

private String carNum; //车牌

private double dwlongitude; //经度

private double dwlatitude; //纬度

private int status; //0在线1不在线

}

方法:

public GpsInfo findGPSInfoByID(String deviceIDSTR){

GPSInfoJdbcUtil gpsInfoJdbcUtil= new GPSInfoJdbcUtil();

GpsInfo gpsInfo = gpsInfoJdbcUtil.queryGpsInfoByID(deviceIDSTR);

return gpsInfo;

}

方法说明:传入一个车牌号,返回GpsInfo类的实例。

.

.

客户端:

下载axis1.4相关jar包,执行以下命令自动生成访问webservice代码框架,destdir为生成的目标目录。

java -classpath ".;commons-logging-1.0.4.jar;axis.jar;commons-discovery-0.2.jar;jaxrpc.jar;wsdl4j-1.5.1.jar;saaj.jar;activation.jar;mail.jar" org.apache.axis.wsdl.WSDL2Java -o "destdir" http://192.168.1.174:8080/gps/services/XXX?wsdl
当然,如果您使用axis其它版本,引用的jar包可能名字有所出入。将生成的代码和axis相关包加入工程后,编写示例代码如下:

GpsInfoPortType stub = null;

GpsInfoLocator service = new GpsInfoLocator();

GpsInfo gpsInfo = null;

try {

stub = service.getGpsInfoHttpPort();

gpsInfo = stub.findGPSInfoByID("浙A082XX");

System.out.println(gpsInfo.carNum + ","+ gpsInfo.dwlongitude + "," + gpsInfo.dwlatitude;);

} catch (ServiceException e1) {

e1.printStackTrace();

}

本例在MyEclipse6.5下测试通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: