Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WSO2 ESB不';t处理来自API存储的Put请求_Api_Wso2_Wso2esb_Put_Wso2 Am - Fatal编程技术网

WSO2 ESB不';t处理来自API存储的Put请求

WSO2 ESB不';t处理来自API存储的Put请求,api,wso2,wso2esb,put,wso2-am,Api,Wso2,Wso2esb,Put,Wso2 Am,我们正在使用WSO2 ESB 4.7.0和WSO2 API Manager 1.6.0 我在ESB中定义了一个API,它接受PUT请求并将其处理到后端系统,然后将响应作为成功返回 如果我使用soap客户机或高级Rest客户机,API可以正常工作。 请求URL:http://:/culorumadmin/Terms/2010/Classes/11513/LMSURL?LMSURL=KRanthiPUTARCAPI 答复: 状态200 OK 但是,如果我使用WSO2 API管理器创建一个API,并从

我们正在使用WSO2 ESB 4.7.0和WSO2 API Manager 1.6.0

我在ESB中定义了一个API,它接受PUT请求并将其处理到后端系统,然后将响应作为成功返回

如果我使用soap客户机或高级Rest客户机,API可以正常工作。 请求URL:http://:/culorumadmin/Terms/2010/Classes/11513/LMSURL?LMSURL=KRanthiPUTARCAPI

答复: 状态200 OK

但是,如果我使用WSO2 API管理器创建一个API,并从中使用try-it选项,我会得到一个202响应

请求URL: https://:/TestURL/v1.0/Terms/2010/Classes/11513/LMSURL?LMSURL=KranthiTestAPI

其中TestURL/v1.0是我的API的上下文根/资源

答复: 响应体

响应代码 202

我可以看到响应一直到ESB,但ESB对请求不做任何处理,只发送一个返回202的响应代码

非常感谢您的任何建议/帮助

谢谢
Kranthi

发生此问题的原因是WSO2 API管理器默认设置了一个参数

转到/usr/local/wso2/wso2am-1.6.0/repository/deployment/server/synapse-configs/default/api 打开相应API的.xml文件并删除以下行

<property name="POST_TO_URI" value="true" scope="axis2"/>

默认情况下,此参数由API管理器设置。WSO2将在1.8.0版中修复其产品API管理器,以不将此属性设置为默认值

更改前的ESB日志: TID:[0][ESB][2014-10-27 11:16:18068]DEBUG{org.apache.synapse.transport.http.wire}->“PUT http://://curloumadmin/Terms/2010/Classes/11513/LMSURL?LMSURL=www.http/1.1[\r][\n]”{org.apache.synapse.transport.http.wire}

观察发送到ESB的请求中出现的主机名和端口号

更改后的ESB日志: TID:[0][ESB][2014-10-27 11:24:54478]DEBUG{org.apache.synapse.transport.http.wire}->“PUT/curruumadmin/Terms/2010/Classes/11513/LMSURL?LMSURL=www http/1.1[\r][\n]”{org.apache.synapse.transport.http.wire}

主机名和端口号将从URL中删除

这很好,因此问题得到了解决。希望对某人有用

谢谢 克兰蒂