原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本人声明。否则将追究法律责任。
作者: 永恒の_☆ 地址: http://www.voidcn.com/article/p-qdntkfbv-bhs.html
作者: 永恒の_☆ 地址: http://www.voidcn.com/article/p-qdntkfbv-bhs.html
现在在学CXF,发布了Webservice服务端 ,如果使用cxf的客户端访问,很简单,如下:
//这个是用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());
但是在使用axis客户端调用的时候一直是服务端接收不到参数,各种方法都试过了,原来要指定传递的参数以及返回结果的类型。
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"); call.setoperationName(qName); call.setUseSOAPAction(true); //这下面两行一定要加上,否则接收在服务器端收不到。 call.addParameter("xmlStr",XMLType.XSD_STRING,ParameterMode.IN); call.setReturnType(XMLType.XSD_STRING); String result = (String) call.invoke(new Object[] { xmlStr }); System.out.println(result);
还有一点必须说明下:
定义接口的时候: public String getAlbumList(@WebParam(name="xmlStr") String xmlStr);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。