使用axis调用返回值为对象数组的WebServices博客分类:∙SOAApacheXMLSOAP使用Axis调用WebSerivices非常简单,废话不多说,直接上代码Java代码 1.import java.rmi.RemoteException; 2. 3.import javax.xml.namespace.QName; 4.import javax.xml.rpc.ParameterMode; 5.import javax.xml.rpc.ServiceException; 6. 7.import org.apache.axis.client.Call; 8.import org.apache.axis.client.Service; 9.import org.apache.axis.encoding.XMLType; 10.import org.apache.axis.encoding.ser.BeanDeserializerFactory; 11.import org.apache.axis.encoding.ser.BeanSerializerFactory; 12. 13. 14.public class ClientCall { 15. public static void main(String[] args) { 16. try { 17. String url = "此处为webServices地址"; 18. Service service = new Service(); 19. Call call = (Call) service.createCall(); 20. call.setTargetEndpointAddress(url); 21. call.setOperationName(new QName(url, "exec"));//exec为要调用的方法名 22. call.addParameter(new QName("此处为命名空间,为WSDL文件中的targetNamespace地址", 23. "units"),XMLType.SOAP_STRING,ParameterMode.IN);//这里的units为传入参数的变量名字 24. call.setReturnType(new QName("此处为命名空间,为WSDL文件中的targetNamespace地址", 25. "response"), Xljg[].class);//Xlgj[]这里是重点,返回数组时主要在些配置,Xljg为返回的对象 26. 27. // 注册映射关系 28. QName XljgInfo = new QName("此处为命名空间,为WSDL文件中的targetNamespace地址", "xljg");//此处的xljg为WSDL文件中complexType name的属性值 29. 30. call.registerTypeMapping(Xljg.class, XljgInfo, 31. new BeanSerializerFactory(Xljg.class, XljgInfo), 32. new BeanDeserializerFactory(Xljg.class, XljgInfo));//Xljg.class同上,这里不需要为数组 33. 34. Xljg[] xljg = (Xljg[]) call.invoke(new Object[] {"昆明"});//昆明为传入的参数,即上面的units 35. System.out.println(xljg.length);//打印输出数组 36. for(Xljg xl : xljg){ 37. System.out.println(xl.getQualifications()": "xl.getCount()); 38. } 39. } catch (ServiceException e) { 40. e.printStackTrace(); 41. } catch (RemoteException e) { 42. e.printStackTrace(); 43. } 44. } 45.} Xljg类的代码:Java代码 1.public class Xljg { 2. private String qualifications; 3. private long count; 4. 5. public String getQualifications() { 6. return qualifications; 7. } 8. public long getCount() { 9. return count; 10. } 11. 12. 13.}
本文档为【axis调用返回值为对象数组的WebServices】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。