欢迎来到天天文库
浏览记录
ID:16344327
大小:878.46 KB
页数:19页
时间:2018-08-09
《webservice学习笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、WebServicelSOAP协议ØSimpleObjectAccessProtocol-简单对象访问协议Ø模拟SOAPMessageØ通过Handler处理SOAP消息n创建一个类实现SOAPHandler,并在HandlerMessage中编写代码n配置handler(类路径),在实现类上配置@HandlerChain(file="handler-chain.xml")n服务器端获取相应的SOAPHandleru在服务器端编写Handler通过handler来截取信息u在服务器显示申明一个参数来获取信息(进行契约优先的方式来获取)lJAX-WSØJavaAPIXMLWebServiceØ第
2、一个快速实现项目(java文件都位于包com.wick.service下)n服务器的建立u创建接口(SEI)ServiceEndpointInterface-服务端点接口修改为u创建实现类(SIB)ServiceImplementationBean-服务实现Beanu开启服务u在浏览器地址栏中输入:http://localhost:20031/ns?wsdl,可以看到如下图u测试程序Øwsimportjdk自带的工具-de:/aaa/01指定生成的目录-keep指定是否生成.java的源文件-verbose显示生成的详细过程http….网络中的wsdl文件u新建一个java项目,将com文件夹
3、下的所有内容copy到项目中,新建一个类如下Øxjc将schema生成java类lWSDLØwsdl文档参数ntypes==用来定义访问的类型nmessage==SOAPnportType==指明服务器的消息,并通过operation绑定相应的in和out消息,其中in表示参数,out表示返回nbinding==指定传递消息所使用的格式nservice==指定消息所发布的名称Øwsdl文档三种编写方式n基本Document的wrappered的方式封装,所有的参数都通过一个element来进行封装n基本bare不封装的方式n基于RPC的方式lmarshaller和unmarshallerØ将j
4、ava对象转换为xml格式Ø将xml字符串转换为java对象lCXF-WSlAxis-WSlMetro-WSl契约优先的编写方式Ø先写schema或者wsdl文件u如果是一个JavaProject,则在类路径下新建一个META-INF/wsdl文件夹u如果是一个WebProject,则在WEB-INF目录下新建wsdl文件夹u编写typeu编写messageu编写portType(指定接口和方法)u编写binding,指定编码样式u编写serviceØ根据wsdl文件生成一个服务端代码Ø根据生成的服务器接口编写实现类,并在实现类上指定wsdlLocationØ发布服务Ø根据服务器地址http:
5、//localhost:20011/ms生成客户端代码Ø在客户端编写测试类进行测试注:可以使用MyEclipse自带的TCP/IPMonitor工具进行查看传输的数据注意将测试类中的端口改号为7777。如果加入隐式头信息Ø在手工编写的wsdl中加入一个message,如下信息Ø然后重新生成服务端接口程序并在add方法中加入头部信息Ø重新发布服务Ø根据wsdl网络地址生成客户端代码Ø在测试类中根据SOAPMessage来添加头部信息l异常处理Ø创建异常处理类Ø在wsdl中添加消息和elementØ为PortType和Binding设置异常l在Web服务器中发布服务Ø将wsdl放到WEB-INF目
6、录下Ø修改实现类Ø在WEB-INF下创建sun-jaxws.xmlØ导入JAX-WSRI(referenceimplements)包Ø配置web.xml
此文档下载收益归作者所有