首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集成了决策支持系统的WSO2企业服务总线不响应JSON

集成了决策支持系统的WSO2企业服务总线不响应JSON
EN

Stack Overflow用户
提问于 2017-01-28 00:53:40
回答 1查看 469关注 0票数 0

我有一个安装了DSS功能的WSO2企业服务总线服务器。当我在请求头部中使用"accept: application/ JSON“调用REST服务时,我没有收到JSON响应,只收到了XML。

最好的,伊凡

EN

回答 1

Stack Overflow用户

发布于 2017-01-28 04:43:26

在此API中,为了获得JSON格式的响应,我使用以下两个属性:

代码语言:javascript
复制
<property name="Accept" value="application/json" scope="transport" type="STRING"/>
<property name="messageType" value="application/json" scope="axis2"/>

您可以在此处查看实现

代码语言:javascript
复制
<api xmlns="http://ws.apache.org/ns/synapse" name="showById" context="/getById">
   <resource methods="POST GET" uri-template="/getEmployeeXML/{Id}">
      <inSequence>
         <property name="getId" expression="get-property('uri.var.Id')" scope="default" type="STRING"/>
         <log>
            <property name="ID" expression="get-property('getId')"/>
         </log>
         <property name="Accept" value="application/json" scope="transport" type="STRING"/>
         <property name="messageType" value="application/json" scope="axis2"/>
         <payloadFactory media-type="xml">
            <format>
               <p:getEmployeeXML xmlns:p="arce.farmacy">
                  <xs:Id xmlns:xs="arce.farmacy">$1</xs:Id>
               </p:getEmployeeXML>
            </format>
            <args>
               <arg evaluator="xml" expression="get-property('getId')"/>
            </args>
         </payloadFactory>
         <property name="Action" value="urn:getEmployeeXML" scope="transport" type="STRING"/>
         <property name="SOAPAction" value="urn:getEmployeeXML" scope="transport" type="STRING"/>
         <property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>
          <send>
            <endpoint>
               <address uri="http://169.254.193.10:9763/services/StoredProcedureFarmacy" format="soap11"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log level="full"/>
         <send/>
      </outSequence>
      <faultSequence>
         <sequence key="{faultSEQ}"/>
      </faultSequence>
   </resource>
</api>

这是响应

代码语言:javascript
复制
{
  "Employees": {
    "Employe": [
      {
        "Id": 5,
        "Description": "Office 2"
      }
    ]
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41899095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档