我正在尝试使用post API(wso2 APIm v1.9),要求是将动态application / xml有效负载传递给后端服务URL。
我从API控制台和api synapse配置传递json有效负载,然后使用PayloadFactory中介,我创建了动态有效负载,将传递给服务端点。
PayloadFactory配置附加了和标签:
Logout
在测试API时,低于错误 API控制台响应:
<payloadFactory media-type="xml">
<format>
<input>
<Param>$1</Param>
</input>
</format>
<args>
<arg evaluator="json" expression="$."/> //passing like this since the json payload is massive.
</args>
</payloadFactory>
请您检查一下我的配置问题并提出建议。
API配置:
<am:fault xmlns:am="http://wso2.org/apimanager">
<am:code>404</am:code>
<am:type>Status report</am:type>
<am:message>Runtime Error</am:message>
<am:description>Production key offered to the API with no production endpoint</am:description>
</am:fault>
答案 0 :(得分:0)
我认为你应该在wso2 ESB中定义的API中开发逻辑。处理应该在那里进行,而API Manager则用于“管理”您的后端API服务。这称为API Facade模式(http://wso2.com/blogs/architecture/2013/05/a-pragmatic-approach-to-the-api-faade-pattern/)。
您不应该修改API Manager中的Synapse源视图,因为它是由wso2人自动生成并仔细开发的。
获得esb api之后,从API管理器中调用该api(通过将其指向生产端点,在发布者中)