【发布时间】:2014-12-08 02:56:46
【问题描述】:
我正在使用 WSO2 API Manager 1.7.0 并且正在做一个简单的 payloadfactory 尝试将调用从 GET 转换为 POST 并传入 json 有效负载。
但是,当我查看日志文件时,似乎 WSO2 正在发送用 {"jsonObject": [myjson] } 包装的 json
我是 WSO2 的新手,不确定我需要使用什么配置设置来阻止这种情况。我认为这是一个配置设置,因为在我发现的任何示例或文档中都没有其他人提到这一点。
我的 api 是这样的:
"POST http://localhost:81/Service/ProcessRequest HTTP/1.1[\r][\n]"
"Authorization: Basic asdfadfadfadfadfadfadfa=[\r][\n]"
"Accept-Encoding: gzip,deflate[\r][\n]"
"Content-Type: application/json[\r][\n]"
"activityID: 2342342342342342342342342[\r][\n]"
"Transfer-Encoding: chunked[\r][\n]"
"Host: localhost:81[\r][\n]"
"Connection: Keep-Alive[\r][\n]"
"User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"
"[\r][\n]"
I/O session http-outgoing-2-3 11.11.11.11:12345<->192.168.1.1:8080[ACTIVE][rw:w]: 0 bytes written
http-outgoing-2: Produce output
I/O session http-outgoing-2-3 11.11.11.11:12345<->192.168.1.1:8080[ACTIVE][rw:w]: 230 bytes written
"db[\r][\n]"
"{"jsonObject":{"UserType":"User"}}[\r][\n]"
"0[\r][\n]"
"[\r][\n]"
似乎适用于服务调用的日志文件部分如下所示:
<api name="admin--JJJJJ" context="/jjjjj" version="v1.0" version-type="url">
<resource methods="GET" url-mapping="/documents">
<inSequence>
<payloadFactory media-type="json">
<format>{"UserType":"User"}</format>
<args/>
</payloadFactory>
<property name="Authorization" expression="fn:concat('Basic ', base64Encode('user:password'))" scope="transport"/>
<property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
<property name="messageType" value="application/json" scope="axis2"/>
<property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>
<log>
<property name="JSON-Payload" expression="json-eval($.)"/>
</log>
<send>
<endpoint name="admin--JJJJJ_APIproductionEndpoint_0">
<http trace="enable" method="post" uri-template="http://localhost:81/Service/ProcessRequest"></http>
</endpoint>
</send>
</inSequence>
<outSequence>
<send/>
</outSequence>
</resource>
<handlers>
...
</handlers>
</api>
我不确定 db 和 0 在传输中来自何处,但我从服务返回的错误似乎是由包装 jsonObject 引起的。
是否有人对我如何防止这种包装或在发送它之前修改有效负载以将其删除有任何提示或想法。或者我猜想一种更好甚至不同的方式将 GET 请求转换为带有 json 有效负载的 POST。
感谢您对我做错的任何提示。
【问题讨论】:
标签: api wso2 jsonobject wso2-am