欢迎来到天天文库
浏览记录
ID:8969511
大小:408.00 KB
页数:14页
时间:2018-04-13
《jax-wsjax-rs规范的webservice客户端调用方式及soap安全验证》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java调用webservice方式的总结柿子当然要拿软的捏,笔者先讲基于http协议的jax-rs规范的webservice的调用方式。客户端调用WebService的方式:1.通过wximport生成代码2.通过客户端编程方式(同第一种是一样都是本地调用)3.通过ajax调用方式(可能存在跨域jax-rs)4.通过URLConnection方式调用5.通过HttpClient方式调用6.xfire框架下生成的客户端(不用)1.wximport根据wsdl文档生成客户端代码,再调用在eclipse中,根据操作生成客户端代码,Eg:调用helloW
2、S方法即可2.客户单编程方式(和第一种方式一样)先生成客户端代码后,调用以下是经测试后的实例:URLurl=newURL("http://localhost:88/webServiceWS/wsWSPort?wsdl");QNamesname=newQName("http://ws.webservice.suan/","wsWSService");Serviceservice=Service.create(url,sname);WsWSDelegatems=service.getPort(WsWSDelegate.class);System.out
3、.println(ms.helloWS("suansuan"));}catch(MalformedURLExceptione){e.printStackTrace();第二种方式中,还可以直接创建了SOAP消息后使用dispatch便可以进行传递,通过extractConentAsDocument方法得到Document类型的返回值参考网页:http://blog.csdn.net/wanghuan203/article/details/92195651.使用ajax+xml+js的方式调用具体使用方法,参考整理的ajax跨域文档2.URLConn
4、ection方式//服务的地址//服务的地址URLwsUrl=newURL("http://localhost:88/webServiceWS/wsWSPort");HttpURLConnectionconn=(HttpURLConnection)wsUrl.openConnection();conn.setDoInput(true);conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type","text/xml;charse
5、t=UTF-8");OutputStreamos=conn.getOutputStream();//创建SOAPMessageSOAPMessagemsg=MessageFactory.newInstance().createMessage();SOAPEnvelopeenvelope=msg.getSOAPPart().getEnvelope();SOAPBodybody=envelope.getBody();//创建QName来指定消息中传递数据QNameename=newQName("http://ws.webservice.suan/","
6、HelloWS","wsWSService");//SOAPBodyElementele=body.addBodyElement(ename);ele.addChildElement("arg0").setValue("suansuan");Stringsoap1=soap.toSoapString(msg);os.write(soap1.getBytes());InputStreamis=conn.getInputStream();byte[]b=newbyte[1024];intlen=0;Strings=
7、"";while((len=is.read(b))!=-1){Stringss=newString(b,0,len,"UTF-8");s+=ss;}System.out.println(s);is.close();os.close();conn.disconnect();1.httpclient方式需要commons-codec-1.3.jar,commons-logging-1.0.4.jar,commons-httpclient-3.1.jar//定义一个PostMethod,这时需要指定web服务的Url//soapRequestData是传
8、递的soap协议的信息,可以通过soap建立,也可以直接StringPostMethodpostMethod=newPos
此文档下载收益归作者所有