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

以下是一个对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);
 

猜你喜欢

转载自crazywen2011.iteye.com/blog/1730374