Webservice接口开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Webservice接口开发
Author:Geloin
目录
1 准备工作 (1)
2 服务器端 (1)
2.1 主程序 (1)
2.2 services.xml (2)
2.3 传值方式 (3)
2.4 打包 (4)
2.5 发布 (6)
3 客户端 (8)
3.1 导入包 (8)
3.2 示例代码 (8)
3.3 代码解析 (10)
3.3.1 设定服务器地址 (10)
3.3.2 设定action (10)
3.3.3 设定要调用的方法名 (11)
3.3.4 设定客户端控件 (11)
3.3.5 设定命名空间 (11)
3.3.6 设定需要传送的值 (11)
3.3.7 设定返回数据类型 (11)
3.3.8 获取返回结果 (12)
1准备工作
至/axis2/下载axis2的bin及war包,分别解压之,在环境变量中添加AXIS2_HOM,将axis2.war放置到tomcat/webapps目录下,启动tomcat,用浏览器打开http://localhost:8080/axis2,如下图所示:
2服务器端
2.1主程序
服务器端可以是任何一个程序,例如下面的例子:
public class Test {
// 此程序返回一个字符串
public String test1(String arg) {
return arg + “测试”;
}
// 此程序返回一个一维数组
public String[] test2(String arg) {
String[] result = new String[]{arg};
return result;
}
// 当返回值为多维数组时,将之转化为一维数组返回
public String[] test3(String arg) {
String[] result = new String[]{“测试,” + arg};
return result;
}
// 当返回值为其它类型,例如自定义类型、Map、List等时,将其序列化(冷冻或腌成咸菜)后返回
public byte[] test4(String arg) {
Map
map.put(“测试”, arg);
java.io.ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(map);
return baos.toByteArray();
}
}
2.2s ervices.xml
需要在根目录下建立META-INF文件夹,文件夹下放置MANIFEST.MF和services.xml文件,最好自己写好MANIFEST.MF文件,不然导出的时候可能会出错。
services.xml文件的内容如下:
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> 2.3传值方式 上文中提及到传值方式,即: class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />片段,在AXIS2中有两种传值方式,分别为: org.apache.axis2.rpc.receivers.RPCMessageReceiver:即需要客户端传参数过来,又返回值。 org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver:需要客户端传参数过来,但不返回值。