xfire客户端代码,对于复杂类型的调用
来源:互联网 发布:网络统考是看答案抄吗 编辑:程序博客网 时间:2024/06/06 08:33
复杂的类型我们这里就是像Map,List等的集合类型,或Person这种我们自己定义的Pojo类。
这些类型在我们的web服务端进行了相应的使用。
例如在和别的公司进行调试的时候,他们用的xfire做的webservice的服务端,好了后会给你个wsdl
在上面的的文章我写了,可以利用ant自动生成一堆代码。
1 自定义的Person类,在客户端调用
// Person p = new Person();
// p.setAge(20);
// //注意namespace要和wsdl中的一致,否则不能辨认出来
// p.setName(new JAXBElement<String>(new
// QName("http://pojo","name"),String.class,"lambert"));
自动生成的代码会是如下的样子:Person.java
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Person", propOrder = {
"age",
"name"
})
public class Person {
protected Integer age;
@XmlElementRef(name = "name", namespace = "http://pojo", type = JAXBElement.class)
protected JAXBElement<String> name;
/**
* Gets the value of the age property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getAge() {
return age;
}
/**
* Sets the value of the age property.
*
* @param value
* allowed object is
* {@link Integer }
*
*/
public void setAge(Integer value) {
this.age = value;
}
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link String }{@code >}
*
*/
public JAXBElement<String> getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link String }{@code >}
*
*/
public void setName(JAXBElement<String> value) {
this.name = ((JAXBElement<String> ) value);
}
}
2 Map类型的。
这时候会自动生成一个AnyType2AnyTypeMap.java的类,接口中的调用参数也是AnyType2AnyTypeMap这种类型的。
我们要制造了.
ObjectFactory fac = new ObjectFactory(); //在AnyType2AnyTypeMap的同个包中就有
AnyType2AnyTypeMap at2am = fac.createAnyType2AnyTypeMap();
List<AnyType2AnyTypeMap.Entry> list = at2am.getEntry();
//对于传进来的map
Map map = new HashMap();
map.put("name", "rose");
map.put("age", "23");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> entry = it.next();
AnyType2AnyTypeMap.Entry ey = fac.createAnyType2AnyTypeMapEntry();
ey.setKey(entry.getKey());
ey.setValue(entry.getValue());
list.add(ey);
}
spt.printMap(at2am); //接口的调用
3 List类型
同2 中的差不多也是列用ObjectFactory
ArrayOfString bookNames = fac.createArrayOfString();
List<String> bookNameList = bookNames.getString();
bookNameList.add("《社会心理学》");
bookNameList.add("《心理学与生活》");
.......//调用
- xfire客户端代码,对于复杂类型的调用
- xfire客户端代码调用2
- Xfire处理复杂类型的方法
- webservice之xfire的客户端调用
- Xfire webService 返回复杂类型
- xfire 客户端调用
- xfire客户端调用
- xfire 客户端代码分析
- xfire 客户端代码分析
- webservice的axis2客户端调用方式和xfire调用方式
- xfire客户端调用cxf服务的时候 传递过去的参数,String 类型的 老是为null
- xfire-在客户端调用WebServices
- xfire+webservice(客户端调用篇)
- xfire客户端调用webservice测试
- myeclipse xfire客户端调用接口
- WSClient客户端调用---codehaus.xfire
- CXF客户端动态调用--复杂类型参数传递
- axis1.4发布返回复杂类型的webservice服务+代码访问+客户端访问
- ubi and ubifs应用手记
- java中Hashtable与HashMap的区别
- 数字大小写转换
- static关键字
- JAVA接口的见解
- xfire客户端代码,对于复杂类型的调用
- win7中删除自定义主题
- 调试记录-关于#include与#include在64位编译时的问题
- 如何对hadoop作业的某个task进行debug单步跟踪
- Linux 内核中的 GCC 特性
- DownloaderTest | Http协议 | 断点续传 | Thread
- Keil软件仿真的串口调试技巧
- xfire客户端代码调用2
- Delphi中的THashedStringList对象