首先建立ServiceTest.java
Java代码
1.package sample.ws.service;
2.
3.import sample.ws.pojo.Person;
4.
5.public class ServiceTest {
6./**
7. * 很简单我们只是将发过来的person[]返回去
8. * @param person
9. * @return
10. */
11. public Person[] getPerson(Person[] person){
12.
13.// Person person1 = new Person();
14.// person1.setAge("20");
15.// person1.setName("张三");
16.//
17.// Person person2 = new Person();
18.// person2.setAge("30");
19.// person2.setName("李四");
20.//
21.// Person[] person3 = new Person[2];
22.// person3[0] = person1;
23.// person3[1] = person2;
24.// System.out.println("afd");
25. return person;
26. }
27.
28.
29.}
package sample.ws.service;
import sample.ws.pojo.Person;
public class ServiceTest {
/**
* 很简单我们只是将发过来的person[]返回去
* @param person
* @return
*/
public Person[] getPerson(Person[] person){
// Person person1 = new Person();
// person1.setAge("20");
// person1.setName("张三");
//
// Person person2 = new Person();
// person2.setAge("30");
// person2.setName("李四");
//
// Person[] person3 = new Person[2];
// person3[0] = person1;
// person3[1] = person2;
// System.out.println("afd");
return person;
}
}
pojo Person.java 不变
Java代码
1.public class Person{
2.
3. private String name ;
4.
5. public String getName() {
6. return name;
7. }
8.
9. public void setName(String name) {
10. this.name = name;
11. }
12.
13.}
public class Person{
private String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
services.xml 也保持不变;
Java代码
1.<?xml version="1.0" encoding="UTF-8"?>
2.
3.
4.<service name="TestService" scope="application">
5. <description>TestService</description>
6.
7. <messageReceivers>
8. <messageReceiver
9. mep="http://www.w3.org/2004/08/wsdl/in-only"
10. class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
11. <messageReceiver
12. mep="http://www.w3.org/2004/08/wsdl/in-out"
13. class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
14. </messageReceivers>
15. <parameter name="ServiceClass">
16. sample.ws.service.ServiceTest
17. </parameter>
18.
19.</service>
<?xml version="1.0" encoding="UTF-8"?>
<service name="TestService" scope="application">
<description>TestService</description>
<messageReceivers>
<messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">
sample.ws.service.ServiceTest
</parameter>
</service>
下面就是客户端了:
1、 pojo Person.java 保持不变
Java代码
1.public class Person{
2.
3. private String name ;
4.
5. public String getName() {
6. return name;
7. }
8.
9. public void setName(String name) {
10. this.name = name;
11. }
12.
13.}
public class Person{
private String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2、请求客户端 Ws2pojoClient.java
Java代码
1.package sample.ws.client;
2.
3.import javax.xml.namespace.QName;
4.
5.import org.apache.axis2.addressing.EndpointReference;
6.import org.apache.axis2.client.Options;
7.import org.apache.axis2.rpc.client.RPCServiceClient;
8.
9.import sample.ws.pojo.Person;
10.
11.public class Ws2pojoClient {
12.
13. public static void main(String args[]) throws java.lang.Exception {
14.
15. RPCServiceClient client = new RPCServiceClient();
16.
17. Options option = client.getOptions();
18. // 指定客户端访问的webservice服务器端地址
19. EndpointReference erf = new EndpointReference(
20. "http://localhost:9999/Ws2Pojo/services/TestService");
21.
22. option.setTo(erf);
23. // 指定命名空间,指定要调用的方法
24. QName name = new QName("http://service.ws.sample", "getPerson");
25. // 创建Person对象
26. Person person1 = new Person();
27. person1.setAge("20");
28. person1.setName("张三");
29.
30. Person person2 = new Person();
31. person2.setAge("30");
32. person2.setName("李四");
33. // 创建Person数组
34. Person[] person3 = new Person[2];
35. person3[0] = person1;
36. person3[1] = person2;
37.
38. // 创建要传送的object数组
39. Object[] object = new Object[] { person3 };
40. // 创建返回的参数类型
41. Class[] returnTypes = new Class[] { Person[].class };
42. // 调用远程服务,得到返回的object数组
43. Object[] response = client.invokeBlocking(name, object, returnTypes);
44. // 强制转换成Person[]对象
45.
46. Person[] p = (Person[]) response[0];
47. // 遍历得到我们刚刚请求过去的值
48. for (int i = 0; i < p.length; i++) {
49. System.out.println(p.getAge());
50. System.out.println(p.getName());
51. }
52.
53. }
54.}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/youanyyou/archive/2010/06/30/5704916.aspx
分享到:
相关推荐
web service Axis2相关jar 里面包含了Axis2 java调用.net接口所需jar包
Web Service Axis2-1.6.2框架使用 压缩包里有:文档说明,axis2-1.6.2-bin.zip、axis2-1.6.2-war.zip、axis2-eclipse-codegen-plugin-1.6.2.zip、axis2-eclipse-service-plugin-1.6.2.zip。文档里用的所有jar压缩包...
web service axis 1.6。配置说明,客户端,服务端代码
web service axis1.4所有的jar
Web Service Axis1.4 完整的实例,WebService Axis1.4 完整的实例。
AXIS2_1.4.ZIP web service
用axis2开发web service,过程比用axis1开发web service简单
基于AXIS2实现Web Service开发
Axis开发Web Service实例,介绍AXIS的三种方法
Axis2创建web service快速入门
个人总结的 web service axis 总结文档 相关实例说明
Spring 集成 AXIS2 的 Web service 配置方法 Spring 是一个流行的 Java 应用程序框架,它提供了一个灵活的方式来构建企业级应用程序。AXIS2 是一个流行的 Web Service 引擎,它提供了一个强大的方式来构建 Web ...
Axis2与Eclipse整合开发的Web Service的服务端
Chapter 1, Apache Web Services and Axis2 - Gives you an introduction to web services and the web service stack at Apache. Chapter 2, Looking inside Axis2 - Learn about Axis2 architecture and the ...
web service 使用 axis2 框架使用的插件 必不可少的
.Web Service简介 .如何开发一个Web Service .Axis2简介 .Axis2安装与部署 .Web Service开发步骤
Axis2教程, 用于webservice开发, 第一次 接触的 ,可以看看, 很有帮助的哦
4.Add the DynamicResponseHandler module reference to the axis2.xml configuration (located in WEB-INF/conf): <module ref="DynamicResponseHandler"/> 5.Add the JSON Message formatters to the axis2....
在eclipse中用axis2开发Web Service,加快开发速度