一尘不染

WSO2 ESB无法将完整的JSON数据转换为XML

json

我正在构建一个POC。我为Google Plus创建了一个直通代理服务。不使用任何代理服务,我得到的是我的输出:

 {
   "kind":"plus#person",
   "etag":"\"ExituU7aUpmkkfyD52VulzptThw/4J1clegrhxYC2fsJOu2XWCs1Ewg\"",
   "id":"117488614303967062311",
   "displayName":"Abhi NeoN",
   "name":{
      "familyName":"NeoN",
      "givenName":"Abhi"
   },
   "tagline":"hey guys ! ssup!! check out ma recnt videos... uploaded",
   "gender":"male",
   "aboutMe":"\u003cb\u003ehie, abhishek - ma full name \u003c/b\u003e\u003cdiv\u003e\u003cb\u003em a DANCER ,\u003c/b\u003e\u003c/div\u003e\u003cdiv\u003e\u003cb\u003ei luv ma dancing .\u003c/b\u003e\u003c/div\u003e\u003cdiv\u003e\u003cb\u003ei care ma dancing ,\u003c/b\u003e\u003c/div\u003e\u003cdiv\u003e\u003cb\u003ei jus hv a gr8 thng in me dats ma dancing.\u003c/b\u003e\u003c/div\u003e",
   "relationshipStatus":"single",
   "url":"https://plus.google.com/117488614303967062311",
   "image":{
      "url":"https://lh6.googleusercontent.com/-tF-ip0tUxD4/AAAAAAAAAAI/AAAAAAAAAAA/WKI3USUh_DA/photo.jpg?sz=50"
   },
   "urls":[
      {
         "value":"https://plus.google.com/117488614303967062311",
         "type":"profile"
      },
      {
         "value":"https://www.googleapis.com/plus/v1/people/117488614303967062311",
         "type":"json"
      }
   ],
   "organizations":[
      {
         "name":"our lady of nazareth high school",
         "title":"science",
         "type":"school"
      },
      {
         "name":"",
         "title":"BLUEBYTES",
         "type":"work"
      }
   ]
}

但是,当我尝试使用简单的传递服务执行相同操作时,我只会得到:

{
   "kind":"plus#person"
}

我在wso2esb网站上看到他们有一个错误,并且为解决该错误而给出的解释是所接收的json数据格式不正确。但是现在我该如何解决该问题。我的意思是,在esb将其转换为json数据之前,他们可以通过任何方式操作json数据。


阅读 276

收藏
2020-07-27

共1个答案

一尘不染

我们已经在最新版本的ESB(版本4.5.0)中解决了此问题。默认情况下,它带有JSONMessageFormatter /
JSONBuilder,它可以处理具有多个键的JSON负载。

我们还提出了另一种解决方案,用于处理涉及不同类型的JSON <-> XML(或JSON <->
JSON)转换的消息流。JSONStreamBuilder并且JSONStreamFormatter可以用来实现与“脚本”调停这样的场景。看一下ESB
4.5.0中的样本#441。

运行样本#441;

  • 在repository / conf / axis2 / axis2.xml文件中添加JSONStreamBuilderJSONStreamFormatter作为JSON的构建器和格式化程序
  • 部署SimpleStockQuoteService
  • 启动示例axis2server
  • 使用’ ant newjsonclient‘ 运行JSON客户端
2020-07-27