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);?
?