- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jax-ws,jax-rs规范的webservice客户端调用方式及soap安全验证jax-ws,jax-rs规范的webservice客户端调用方式及soap安全验证
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 byt
您可能关注的文档
- Innovation management process (创新管理流程).docx
- Innovation network.doc
- INSTITUTE CARGO CLAUSES(ICC2009)(C).doc
- Institutes.docx
- Insulation testing method.doc
- INSURANCE.docx
- Intel招聘实习生.doc
- Integration of multiple platforms for real-time remote model-based condition monitoring翻译.doc
- Intensive Reading —5. Science and Technology.doc
- Intercultural Communication in English.doc
文档评论(0)