欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xFire 下的 复杂对象传参 的一个处理

程序员文章站 2022-06-14 16:13:33
...

以下是一个对WebService接口传入复杂对象的一个处理:

可以有多种方式进行解决:

1.可以根据wsdl生成其对象代码,构造复杂对象进行传值

2. 1方法对于异构平台有些风险,之前我试过几次总是返回不了正确的结果,在xFire下进行invoke的时候可以选择   

Object [] org.codehaus.xfire.client.Client .invoke(String name, XMLStreamReader reader) throws Exception
可以向接口方索要一份原生的Request请求,自行进行合并,转为XMLStreamReader,进行发送请求。
以下是一个请求片段:

                Object[] result = null;
		Client client = null;
		client = m_Clients.getClient();
		StringBuilder xml = new StringBuilder();
		xml.append("<request></request>");
		XMLInputFactory xmlin = XMLInputFactory.newInstance();
		StringReader reader = new StringReader(xml.toString());
		XMLStreamReader xsr = xmlin.createXMLStreamReader(reader);
		xml.toString().getBytes("utf-8");
		result = client.invoke("request", xsr);