首先建立ServiceTest.java
Java代码
package sample.ws.service;
import sample.ws.pojo.Person;
public class ServiceTest {
/**
* 很简单我们只是将发过来的person[]返回去
* @param person
* @return
*/
public Person[] getPerson(Person[] person){
return person;
}
}
pojo Person.java 不变
Java代码
public class Person{
private String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
services.xml 也保持不变;
Java代码
<?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代码
public class Person{
private String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2、请求客户端 Ws2pojoClient.java
Java代码
package sample.ws.client;
import javax.xml.namespace.QName;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import sample.ws.pojo.Person;
public class Ws2pojoClient {
public static void main(String args[]) throws java.lang.Exception {
RPCServiceClient client = new RPCServiceClient();
Options option = client.getOptions();
// 指定客户端访问的webservice服务器端地址
EndpointReference erf = new EndpointReference(
"http://localhost:9999/Ws2Pojo/services/TestService");
option.setTo(erf);
// 指定命名空间,指定要调用的方法
QName name = new QName("http://service.ws.sample", "getPerson");
// 创建Person对象
Person person1 = new Person();
person1.setAge("20");
person1.setName("张三");
Person person2 = new Person();
person2.setAge("30");
person2.setName("李四");
// 创建Person数组
Person[] person3 = new Person[2];
person3[0] = person1;
person3[1] = person2;
// 创建要传送的object数组
Object[] object = new Object[] { person3 };
// 创建返回的参数类型
Class[] returnTypes = new Class[] { Person[].class };
// 调用远程服务,得到返回的object数组
Object[] response = client.invokeBlocking(name, object, returnTypes);
// 强制转换成Person[]对象
Person[] p = (Person[]) response[0];
// 遍历得到我们刚刚请求过去的值
for (int i = 0; i < p.length; i++) {
System.out.println(p[i].getAge());
System.out.println(p[i].getName());
}
}
}
得到结果:
20
张三
30
李四
分享到:
相关推荐
这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...
本文将详细介绍如何使用Apache Axis库来实现这一功能,以及处理.NET WebService返回的对象,特别是Dataset类型。 首先,为了在Java中调用.NET WebService,我们需要以下依赖库: 1. axis.jar - Apache Axis的核心...
总结,动态调取WebService返回的JSON数据并将其显示在GridView中,涵盖了WebService调用、JSON解析和数据绑定等多个技术点。这要求开发者熟悉.NET框架、HTTP协议、JSON格式以及前端数据展示控件的使用。通过这一系列...
这段代码创建了服务的Stub类实例,设置了一个Weather对象,并获取了返回的Weather对象,从而验证了setWeather方法是否正常工作。 总之,AXIS2通过POJO发布Web服务提供了一种简洁高效的方式,但在实际操作中需要注意...
5. 对象序列化:如果WebService返回的对象需要在Android端进行反序列化,可以创建一个对应的Java类,并使用` PropertyInfo `对象来描述其属性: ```java public class ResponseObject { private String property1;...
jQuery调用Webservice传递json数组的方法涉及了前端JavaScript库jQuery与后端Web服务的交互,并且在交互中传递了JSON格式的数据。JSON,即JavaScript Object Notation,是一种轻量级的数据交换格式,易于人阅读和...
在本示例中,“JSON返回值格式的WebService样例”旨在展示如何构建一个Web服务,该服务能够从数据库获取数据,并以JSON格式将结果返回给调用者。 首先,我们需要了解WebService的基本概念。WebService是一种基于...
- `getBeanArray` 方法接收一个 `Bean` 类型的数组作为参数,并返回该数组。这展示了如何在服务端处理自定义数组对象。 **3. 配置Axis服务** ```xml xmlns:java=...
* getList:取得有权限访问的文档对象数组 文档对象 文档对象是文档webservice接口的核心内容,包含了文档的所有信息。文档对象的属性包括: * 文档ID * 文档类型 * 文档标题 * 文档编号 * 新闻类型 * 文档版本 *...
ervice.asmx/GetStringArray", dataType: "xml", success: function (xml) { var array = $(xml).find("string"); for (var i = 0;...在处理WebService返回结果时,理解数据类型和使用适当的处理方法是关键。
- 凭证引入参数包括WSVoucher[]普通对象数组、isVerify(核销状态)和isImpCashflow(是否引入现金流量)。 - 凭证引入代码调用需要传递WSVoucher对象数组,指定核销状态和现金流量引入状态。 - 返回值String[][]是...
总的来说,使用jQuery访问Web服务返回的JSON数据,关键在于正确配置$.ajax()方法,并在`success`回调中解析和利用返回的对象。无论是简单的数据还是包含复合类型和集合的数据,jQuery都能提供优雅且强大的解决方案。...
这个方法首先创建一个MemoryStream对象,然后构造一个GZipStream,设置为DecompressionMode.Decompress模式,接着读取并解压缩数据,最后返回解压缩后的字节数组。 5. **数据反序列化**:客户端解压后,原始数据...
在Android开发中,有时我们需要与服务器进行数据交互,这时候Web Service接口就显得尤为重要。...对于更复杂的情况,例如处理数组、列表或其他复杂的对象结构,可能需要更深入地理解KSOAP的使用方式和SOAP的XML结构。
在返回结果时,同样需要将处理后的多维数组序列化为XML或JSON响应,供客户端解析。nusoap库会帮助我们完成这一过程。 综上所述,nusoap创建多维数组并结合WebserviceStudio20进行测试,涉及的主要步骤包括:在PHP中...
* WebService 测试类,包括带参数函数,无参函数,数组返回的例子。 * 尽量使用字符及字符数组。 * @since 2011-07-18 * @author douzq */ public class HelloService { // 全局数组,无特别含义,可以放在...
在"complexservice"和"aegisservice"这样的服务中,可能会处理各种复杂的数据结构,例如嵌套的对象、数组或者自定义的数据类型,这就需要进行数据转换以适应不同的接收端。 在描述中提到的学习材料可能包括了...
- 使用`org.json.JSONArray`和`org.json.JSONObject`(来自`org.json`库)创建JSON数组和对象。 - 遍历`Prescription`元素,对于每个元素,创建一个新的`JSONObject`,设置`PrescriptionId`和`AuditResultCode`...
- 当WebService返回复杂类型时,需要根据实际情况解析数据。 #### 四、总结 通过以上内容的学习,我们可以看到使用jQuery的Ajax方法调用WebService是非常简单且高效的。开发者可以根据实际需求选择合适的调用方式...