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