问题描述
服务端提供了若干接口例如http://80.0.67.150:9877/outInterface/ciService/getApps?wsdl接口方法说明:接口方法名:Publicall[]selectApp(stringusername,stringpassword,stringappNumber)输入参数:username/password必填项appNumber可选项,否则返回全部信息。输出参数:returncode0表示调用成功1表示调用失败,在返回的xml中体现count表示返回的数量信息,在返回xml中体现已知接口返回的XML样例<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:selectAppResponsexmlns:ns1="http://service.cc.com/"><return><applications><app><appNumber>阿斯顿</appNumber><appName>爱是对的</appName><appDesc>对方答复</appDesc><appType>顶顶顶</appType></app><app><appNumber>试试斯顿</appNumber><appName>谢谢对的</appName><appDesc>谢谢方答复</appDesc><appType>顶顶顶</appType></app></applications><count>1</count><message>执行成功</message><returnCode>0</returnCode></return></ns1:selectAppResponse></soap:Body></soap:Envelope>
我写个公共的方法,想用实体类接受不知口否,由于接口地址是内网,无法测试。publicclassGetDateUtil{privatestaticLoggerlogger=publicFunction.getLogger();publicListgetData(Stringurls,StringUserName,StringPassWord{try{Serviceservice=newService();Callcall=(Call)service.createCall();call.setTargetEndpointAddress(newjava.net.URL(urls));call.setOperationName("selectAppliciation");call.addParameter("username",org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);call.addParameter("password",org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);call.setReturnType(XMLType.SOAP_ARRAY);Listlst=(List)call.invoke(newObject[]{UserName,PassWord});returnlst;}catch(MalformedURLExceptione){e.printStackTrace();logger.debug("newjava.net.URL(url)错误!");}catch(ServiceExceptione){e.printStackTrace();logger.debug("Service获取Call对象失败!");}catch(RemoteExceptione){e.printStackTrace();logger.debug("远程错误!");}returnnull;}}
实体类publicclassInformaiton{privateStringappType;privateStringappNumber;privateStringappName;privateStringappDesc;publicStringgetAppNumber(){returnappNumber;}publicvoidsetAppNumber(StringappNumber){this.appNumber=appNumber;}publicStringgetAppName(){returnappName;}'''''''''''''''''''''}
调用公共方法处List<Informaiton>result=getDateUtil.getData("http://80.0.67.150:9877/outInterface/ciService/getApps?wsdl","username","password");
这样写不知口否,总觉得用实体类接受可以吗?还是返回xml解析,在存入到实体类里(这样还可以判断returncode和count),但是接口返回的是个数组啊?本人第一次写webservice,所以一点不会。求教。谢谢。
解决方案
解决方案二:
没人回复?自己顶一个..................