WSO2 ESB 无法将完整的 JSON 数据转换为 XML
我正在构建 POC.我为 Google Plus 创建了一个直通代理服务.在不使用任何代理服务的情况下,我得到了这是我的输出:
I am constructing a POC. And I created a pass through proxy service for Google Plus. Without using any proxy service I get this is my output :
{
"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":"u003cbu003ehie, abhishek - ma full name u003c/bu003eu003cdivu003eu003cbu003em a DANCER ,u003c/bu003eu003c/divu003eu003cdivu003eu003cbu003ei luv ma dancing .u003c/bu003eu003c/divu003eu003cdivu003eu003cbu003ei care ma dancing ,u003c/bu003eu003c/divu003eu003cdivu003eu003cbu003ei jus hv a gr8 thng in me dats ma dancing.u003c/bu003eu003c/divu003e",
"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"
}
]
}
但是当我尝试使用简单的直通服务来做同样的事情时,我只得到:
But when I try to do the same using a simple pass through service I get only :
{
"kind":"plus#person"
}
我在 wso2esb 网站上读到他们有一个错误,解决错误的解释是收到的 json 数据格式不正确.但是现在我该如何解决这个问题.我的意思是他们可以在 esb 将其转换为 json 数据之前以任何方式操作 json 数据.
I read on the wso2esb site that they had a bug and the explanation given to resolve the bug was that json data received was not in the proper format. But now how do I resolve the problem. I mean is their any way I can manipulate the json data before the esb converts it into json data.
推荐答案
我们已经在最新版本的 ESB(版本 4.5.0)中解决了这个问题.默认情况下,它带有 JSONMessageFormatter/JSONBuilder,可以处理带有多个键的 JSON 有效负载.
We have solved this issue in the latest release of ESB (version 4.5.0). By default it comes with JSONMessageFormatter/JSONBuilder that can handle JSON payloads with multiple keys.
我们还提出了另一种解决方案,用于处理涉及不同类型的 JSON <--> XML(或 JSON <--> JSON)转换的消息流.JSONStreamBuilder
和 JSONStreamFormatter
可用于通过脚本"中介实现此类场景.查看 ESB 4.5.0 中的示例 #441.
We also came up with another solution for handling message flows that involve different types of JSON <--> XML (or JSON <--> JSON) conversions. JSONStreamBuilder
and JSONStreamFormatter
can be used to implement such scenarios with the 'script' mediator. Have a look at sample #441 in ESB 4.5.0.
运行示例 #441;
- 添加
JSONStreamBuilder
和JSONStreamFormatter
作为构建器和repository/conf/axis2/axis2.xml 文件中 JSON 的格式化程序 - 部署 SimpleStockQuoteService
- 启动示例axis2server
- 使用 '
ant newjsonclient
' 运行 JSON 客户端
- Add
JSONStreamBuilder
andJSONStreamFormatter
as the builder and formatter for JSON in repository/conf/axis2/axis2.xml file - Deploy SimpleStockQuoteService
- Start the sample axis2server
- Run the JSON client with '
ant newjsonclient
'
相关文章