package com.axis.webserivce.client;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Date;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import com.test.webservice.bean.User;
public class TestAxisClient {
String url = "http://localhost:8888/webservice/services/checks";//services的地址
Service service = new Service();//构造一个新的服务对象-这个假设呼叫者将在适当的栏位的手而不是他们的WSDL
public Integer getCheck() {
Integer mark = null;
try {
Call call = (Call) service.createCall();// 创建一个调用对象不与特定的操作或目标服务端点
call.setUsername("test");// 设置调用时需要输入的用户名和密码
call.setPassword("test");
call.setTargetEndpointAddress(url);// 方法布署的路径
call.setOperationName("check");// 调用的方法名
try {
mark = (Integer) call.invoke(new Object[] { "wondtech",
"wondtech", new Integer(23), new Date() });// 这里传入的参数需要和webService写的方法的参数类型、数量匹配,返回值也一致
} catch (RemoteException e) {
e.printStackTrace();
}
} catch (ServiceException e) {
e.printStackTrace();
}
return mark;
}
@SuppressWarnings("unchecked")
public void getListCount() throws Exception{
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName("urn:AnalyzeOrder", "Order");
call.registerTypeMapping(User.class, qn,
new BeanSerializerFactory(User.class, qn),
new BeanDeserializerFactory(User.class, qn));
call.setTargetEndpointAddress(new java.net.URL(url));
call.setOperationName(new QName("checks", "listCheck"));
call.setReturnType(new QName("ArrayList"), ArrayList.class);
ArrayList<User> list = (ArrayList<User>) call.invoke(new Object[] {});
for (int i = 0; i < list.size(); i++) {
User order =(User) list.get(i);
System.out.println(order.getName());
System.out.println(order.getPass());
}
}
public static void main(String[] args) throws Exception {
TestAxisClient test = new TestAxisClient();
System.out.println("<<<<<<<<return List<<<<<<<<<<");
test.getListCount();
System.out.println("<<<<<<<<return int<<<<<<<<<<");
Integer count = test.getCheck();
System.out.println("activityId:" + count);
System.out.println("<<<<<<<<WebService实验成功<<<<<<<<<<");
}
}
完整的axis webservice例子 实现List
5星 · 超过95%的资源 需积分: 9 26 浏览量
2013-05-10
11:54:24
上传
评论 1
收藏 2.59MB RAR 举报
cnsyzb
- 粉丝: 5
- 资源: 5
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈