OSB转换项目操作手册

新建一个OSB项目

建立以下文件夹,以便更规范的管理工程

一、XML转JSON

1.导入wsdl文件

1)右键wsdl文件夹,选择import选项

2)在弹出框中选择Service Bus Resource选项

3)选择from url选项

4)输入wsdl的URL:http://172.21.8.22:8083/esb/WebService?wsdl

5)完成后在wsdl文件夹中生成如下两个文件,说明导入成功

2.新建Business Service

6)在面板中拖入http组件

7)我们取名为Xml2JsonService,并选择存放位置为business文件夹

8)选择WSDL选项,并点击右侧按钮选择之前导入的wsdl文件

9)一直下一步即可

10)点击finish完成操作

11)在操作面板上上则生成了如下这个Business Service

3.生成Pipeline

12)长按Business Service上的小箭头,拖动到pipelines区域

13)命名为Xml2JsonPipeline,并选择transformation为存放文件夹

14)第二布,取消此选项

15)创建完成后如下图所示

4.生产Proxy Service,并将相应文档转换为JSON

16)右键刚刚新建的Pipeline,选择Expose As REST

17)我们命名为Xml2JsonProxyService

18)在此界面删除不要的方法,并选择HTTP Method

19)在HTTP Method选择界面,选择Response为JSON

20)最终效果如下,点击完成

此时XML转JSON开发完成

5.测试

将该项目发布到OSB服务器,在OSB控制台测试,发现XML已经被转换为JSON格式

二、JSON转XML

6.创建Business Service

21)继续在此面板拖入REST组件

22)我们取名为Json2XmlService

23)在URI中填入地址

24)点击“+”号,创建一个方法,这里可以选择POST、GET等各种HTTP方法

25)这里我们选择GET,之后完成即可

26)同样的方式生成pipeline,成功后如下图所示

7.编辑pipeline

27)双击pipeline进入编辑界面,如下图所示

28)我们把接口地址返回的json文件下载下来后放到wsdl中

29)根据JSON文件生成nXSD文件,右键transformation文件夹选择新建一个NXSD Schema文件

30)一直下一步,此页面选择JSON Interchange Format

31)此页面选择之前放进来的json文件

32)下一步,发现已经将json转换为了xml的描述文件,一直完成即可

33)回到此页面,拖入nXSD Translate组件到Response Action处

34)安装图中配置nXSD Translate即可

其中,nXSD Schema选项中static就选择上一步新建的nXSD Schema文件即可

35)在拖入Replace组件,替换header中的Content-type即可,配置如下图所示

8.生成ProxyService

36)选中如图所示的箭头,拖动到Proxy Service区域即可

37)这里我们命名为Json2XmlProxyService,并选择proxy文件存放

38)一直下一步后就完成了所有的开发,如下图所示

9.测试

在OSB控制台进行测试

OSB格式(REST)转化(XML到JSON,JSON到XML)的更多相关文章

  1. 【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化

    接着来说这个JSON循环引用的问题: 关于JSON格式的转化,其实关键就是这几个依赖: <!-- json --> <!-- 1号 --> <dependency> ...

  2. Python学习笔记——基础篇【第六周】——json & pickle & shelve & xml处理模块

    json & pickle 模块(序列化) json和pickle都是序列化内存数据到文件 json和pickle的区别是: json是所有语言通用的,但是只能序列化最基本的数据类型(字符串. ...

  3. python 序列化及其相关模块(json,pickle,shelve,xml)详解

    什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...

  4. json/pickle/shelve/xml/configparser/hashlib/subprocess - 总结

    序列化:序列化指把内存里的数据类型转成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes为什么要序列化:可以直接把内存数据(eg:10个列表,3个嵌套字典)存到硬盘 ...

  5. 模块 - json/pickle/shelve/xml/configparser

    序列化: 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 为什么要序列化: 有种办法可以直接把内存数据(eg:10个列表,3 ...

  6. python序列化及其相关模块(json,pickle,shelve,xml)详解

    什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...

  7. 模块 序列化 json pickle shelv xml

    序列化 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. json 模块 json.dump(d,f) json.load(f ...

  8. Cocos2d-x 3.0 Json用法 Cocos2d-x xml解析

    Cocos2d-x 3.0 加入了rapidjson库用于json解析.位于external/json下. rapidjson 项目地址:http://code.google.com/p/rapidj ...

  9. 模块(序列化(json&pickle)+XML+requests)

    一.序列化模块 Python中用于序列化的两个模块: json     跨平台跨语言的数据传输格式,用于[字符串]和 [python基本数据类型] 间进行转换 pickle   python内置的数据 ...

随机推荐

  1. java 标准输入输出System.in与System.out

    System.in System.in 是 InputStream 类的实例对象,该对象的创建是由本地(native)方法完成的. public static final InputStream in ...

  2. ASP.NET AJAX入门系列(1):概述

    经常关注我的Blog的朋友可能注意到了,在我Blog的左边系列文章中,已经移除了对Atlas学习手记系列文章的推荐,因为随着ASP.NET AJAX 1.0 Beta版的发布,它们已经不再适用,为了不 ...

  3. Go RPC返回值

    Go 语言RPC定义格式如下: func (t T) MethodName(argType T1, replyType T2) error 第一个参数是接收的参数,第二个参数是返回给客户端的参数,第二 ...

  4. hanlp和jieba等六大中文分工具的测试对比

    本篇文章测试的哈工大LTP.中科院计算所NLPIR.清华大学THULAC和jieba.FoolNLTK.HanLP这六大中文分词工具是由  水...琥珀 完成的.相关测试的文章之前也看到过一些,但本篇 ...

  5. 推荐四款 Bug 管理系统,最适合你的才是最好的!

    转载自:https://www.jianshu.com/p/e7d3121eaaec   在这个移动互联网的时代,每天都会涌入大量新的 App,想要留住你的用户,必须时刻保持产品创新与系统的稳定.对于 ...

  6. mybatis异常:Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for。。。。。。

    框架环境:ssm 昨天下午技术经理更新了下表结构,多加了一个字段. 之后我根据新的mapper.xml文件写了增删改查的操作.重新启动之后不是这个错就是那个错,一大堆错误,头疼. 像类似于NoSuch ...

  7. mariadb开机自启

    执行命令:systemctl enable mariadb 并由此想到,添加服务自启的命令格式: systemctl enable 服务名 当然关闭服务自启也是可以得: systemctl disab ...

  8. 根据时间段获取时间段内所有时间点(js)

    Date.prototype.format=function (){var s='';s+=this.getFullYear()+'-';// 获取年份.s+=(this.getMonth()+1)+ ...

  9. Python进行RSA安装加密

    一.下载ez_setup.py(http://peak.telecommunity.com/dist/ez_setup.py) 二.用python解释执行它 (如使用IDLE打开该py文件,按F5解释 ...

  10. 解决Windows远程桌面连接每次都提示输入密码的问题,远程桌面记不住密码

    FROM:http://www.veryhuo.com/a/view/80444.html Windows 远程桌面连接几乎每天都用,所以使用的方便性非常重要.如果你经常用,也许会发现在某些系统中,每 ...