jax-ws,jax-rs规范的webservice客户端调用方式与soap安全验证.doc

jax-ws,jax-rs规范的webservice客户端调用方式与soap安全验证.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java调用webservice方式的总结 柿子当然要拿软的捏,笔者先讲基于http协议的jax-rs规范的webservice的调用方式。 客户端调用WebService的方式: 1.通过wximport生成代码 2.通过客户端编程方式(同第一种是一样都是本地调用) 3.通过ajax调用方式(可能存在跨域 jax-rs) 通过 URL Connection 方式调用 通过HttpClient方式调用 xfire框架下生成的客户端(不用) wximport根据wsdl文档生成客户端代码,再调用 在eclipse中,根据操作生成客户端代码, Eg:调用helloWS方法即可 客户单编程方式(和第一种方式一样) URL url = new URL(http://localhost:88/webServiceWS/wsWSPort?wsdl); QName sname = new QName(http://ws.webservice.suan/, wsWSService); Service service = Service.create(url,sname); WsWSDelegate ms = service.getPort(WsWSDelegate.class); System.out.println(ms.helloWS(suansuan)); } catch (MalformedURLException e) { e.printStackTrace(); 第二种方式中,还可以直接创建了SOAP消息后使用dispatch便可以进行传递,通过extractConentAsDocument方法得到Document类型的返回值 参考网页:/wanghuan203/article/details/9219565 使用ajax+xml+js的方式调用 具体使用方法,参考整理的ajax跨域文档 URL Connection方式 //服务的地址 //服务的地址 URL wsUrl = new URL(http://localhost:88/webServiceWS/wsWSPort); HttpURLConnection conn = (HttpURLConnection) wsUrl.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod(POST); conn.setRequestProperty(Content-Type, text/xml;charset=UTF-8); OutputStream os = conn.getOutputStream(); //创建SOAPMessage SOAPMessage msg=MessageFactory.newInstance().createMessage(); SOAPEnvelope envelope =msg.getSOAPPart().getEnvelope(); SOAPBody body=envelope.getBody(); //创建QName来指定消息中传递数据 QName ename=new QName(http://ws.webservice.suan/,HelloWS,wsWSService); //nn:add xmlns=xx/ SOAPBodyElement ele=body.addBodyElement(ename); ele.addChildElement(arg0).setValue(suansuan); String soap1=soap.toSoapString(msg); os.write(soap1.getBytes()); InputStream is = conn.getInputStream(); byte[] b = new byte[1024]; in

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档