(转载)webservice 客户端,axis调用cxf 发布的webservices服务
发布时间:2020-12-16 23:16:10 所属栏目:安全 来源:网络整理
导读:使用CXF发布了Webservice服务端 现在在学CXF,发布了Webservice服务端 ,如果使用cxf的客户端访问,很简单,如下: public static void main(String[] args) throws Exception {//这个是用cxf 客户端访问cxf部署的webservice服务//千万记住,访问cxf的webser
使用CXF发布了Webservice服务端
现在在学CXF,发布了Webservice服务端 ,如果使用cxf的客户端访问,很简单,如下: public static void main(String[] args) throws Exception { //这个是用cxf 客户端访问cxf部署的webservice服务 //千万记住,访问cxf的webservice必须加上namespace,否则通不过 //现在又另外一个问题,传递过去的参数服务端接收不到 JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); org.apache.cxf.endpoint.Client client = dcf.createClient("http://localhost:8080/facelook/services/facelookWebService?wsdl"); //url为调用webService的wsdl地址 QName name=new QName("http://server.webservice.facelook.com/","getAlbumList"); //namespace是命名空间,methodName是方法名 String xmlStr = "<?xml version="1.0" encoding="UTF-8"?>" + " <facelook>" + " <condition>" + " <name>家</name>" + " <description></description>" + " <pageno></pageno>" + " <pagesize></pagesize>" + " </condition>" + " </facelook>"; //paramvalue为参数值 Object[] objects=client.invoke(name,xmlStr); //调用web Service//输出调用结果 System.out.println(objects[0].toString()); } public static void main(String[] args) throws ServiceException,RemoteException,MalformedURLException { String xmlStr = "<?xml version="1.0" encoding="UTF-8"?>" + " <facelook>" + " <condition>" + " <name>家</name>" + " <description></description>" + " <pageno></pageno>" + " <pagesize></pagesize>" + " </condition>" + " </facelook>"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress("http://localhost:8080/facelook/services/facelookWebService?wsdl"); QName qName = new QName("http://server.webservice.facelook.com/","getAlbumList"); <span style="background-color: rgb(51,204,255);"> call.setOperationName(qName); call.setUseSOAPAction(true); //这下面两行一定要加上,否则接收在服务器端收不到。 call.addParameter("xmlStr",XMLType.XSD_STRING,ParameterMode.IN); call.setReturnType(XMLType.XSD_STRING);</span> String result = (String) call.invoke(new Object[] { xmlStr }); System.out.println(result); //将返回的字符串转换成list集合 //JSONArray array = JSONArray.fromObject(result); //List<Album> list = JSONArray.toList(array,Album.class); }转载:http://blog.csdn.net/chenghui0317/article/details/9318317 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |