



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Soap服务模拟及服务编排方式一. Soap协议服务模拟1. 添加Spring ws 与jdom的支持该文档所描述的模拟Soap协议的服务是在Spring + Maven项目的基础上创建,在pom.xml文件中增加如下jar包。org.springframework.wsspring-ws-core2.2.3.RELEASEjaxenjaxen1.1org.jdomjdom22.0.5wsdl4jwsdl4j1.6.32. 添加spring-ws.xml文件在配置文件中添加spring-ws.xml文件。 注1. 类似SpringMVC扫描Controller包,这里要扫描注解为Endpoint的包。2. 开启注解(Endpoint、PayloadRoot等)。3. 存放wsdl的路径。3. 添加webservice servlet在web.xml中添加转发soap协议请求的servlet,如下。spring-wsorg.springframework.ws.transport.http.MessageDispatcherServletcontextConfigLocationclasspath:config/spring-ws.xmltransformWsdlLocationstrue1spring-ws/ws/*注意spring-ws.xml的路径和mapping路径。4. 编写Endpoint在被扫描的包下编写Endpoint,每个wsdl文件可以编写一个Endpoint,每个wsdl里面的方法为一个Endpoint的方法,如下。 Endpointpublic class UserPlanProdEnpoint private static final String NAMESPACE_URI = /obd/product_app.obd; PayloadRoot(namespace = NAMESPACE_URI, localPart = get_userPlanProd) ResponsePayload public Element get_userPlanProd(RequestPayload Element param, RequestPayload Element param2) Element element = ReadFileUtil.getElementFromXmlFile(get_userPlanProd.txt);return element;注1. 被扫描的类用Endpoint注解。2. 务必保证namespace与wsdl里面的namespace一致。3. PayloadRoot注解在方法上面,“localPart”为wsdl里面对应的方法名字,务必一致。4. RequestPayload和ResponsePayload 可以把soap报文映射为jdom元素,也可以映射为jaxb注解的java类,这里简单的映射为jdom元素。务必保证Element类导入的包为“jdom2”,而不是“jdom”,否则可能会报找不到Endpoint的错误。5. 使用封装好的工具返回一个jdom Element元素,该工具传入记录返回报文模板的文件,该文件放在资源目录下的response-templ文件夹下。二. 服务编排方式由于soap报文参数过多的时候,科大的产品需要创建很多环节对应每个参数,所以可以在soap服务调用前一个环节把soap报文创建好,在soap模板里面把整个报文当成一个参数选择。如下。1. 简单的映射封装在groovy项目中封装了一个工具类WebServiceUtil,里面的方法soapInputParamsMapping 接收一个request报文(可以在SoapUI得到,不需要去掉问号)和一个Map,返回一个填好参数的请求报文。Map中键值对为request的节点名字和对应的值。由于不确定OEGW传来的是什么形式的报文,目前只能做到这一步,后续会根据实际情况改进。 def param = :param._client_ip = 12345param._client_mac = ABCDEparam._verify_code = 455677param._phone_id = 008param._so_region_code = haobingparam._so_county_code = haobingparam._so_org_id = haobingprintln WebServiceUtil.soapInputParamsMapping(request, param)2. 服务的编排把groovy项目打为一个jar包,放在esi-7.2/zuhe/a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论