WSO2 ESB-Post请求时的错误响应-内容类型应用程序/x-www-form-urlencoded
我正在使用WSO2 EI 6.3v。我想将application/x-www-form-urlencoded数据传递给rezlive酒店供应商。在hear中,我输入了代码和响应 代码WSO2 ESB-Post请求时的错误响应-内容类型应用程序/x-www-form-urlencoded,wso2,wso2esb,wso2ei,Wso2,Wso2esb,Wso2ei,我正在使用WSO2 EI 6.3v。我想将application/x-www-form-urlencoded数据传递给rezlive酒店供应商。在hear中,我输入了代码和响应 代码 <inSequence> <log category="WARN" level="full"> <property name="API BEGIN" value="Test_Supplier API"/> </log&
<inSequence>
<log category="WARN" level="full">
<property name="API BEGIN" value="Test_Supplier API"/>
</log>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<HotelFindRequest xmlns="">
$1
</HotelFindRequest>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="$env/*[local-name()='Body']/*[local-name()='HotelFindRequest']/*"/>
</args>
</payloadFactory>
<property expression="$env/*[local-name()='Body']/*" name="xmlbody" scope="default" type="STRING"/>
<log>
<property expression="$ctx:xmlbody" name="Body======="/>
</log>
<property name="messageType" scope="axis2" type="STRING" value="application/x-www-form-urlencoded"/>
<property expression="$body" name="payload" scope="default" type="STRING"/>
<property name="uri.var.url" scope="default" type="STRING" value="http://test.xmlhub.com/testpanel.php/action/findhotel"/>
<call>
<endpoint>
<address format="pox" uri="http://test.xmlhub.com/testpanel.php/action/findhotel?XML={xmlbody}"/>
</endpoint>
</call>
<respond/>
</inSequence>
$1
我把同样的配置放在邮递员身上。我尝试了很多方法来得到回应,但都失败了。
那个代码有什么问题?。
请提供帮助。您可以尝试使用post使用HTTP端点()吗
有效负载工厂已经设置了正文,因此它应该立即工作,因为它将尝试发布它。尝试使用“uri.var.xmlBody”属性名而不是简单的“xmlBody”:
你能试试这个吗
$1
我试过那种方法。但仍然没有解决办法。这是密码<代码>
正常。我认为我们应该尝试将内容类型设置为您尝试发送的内容类型。检查这个答案:也许您可以在另一个ESB版本上尝试相同的请求。就我个人而言,我使用6.1,对API端点的请求还没有问题。不幸的是,我很快就没有时间在6.3上测试它了。uri.var.xmlBody
。这不会影响任何事情。您在写入之前尝试过吗?根据“RESTful URI…variables…”,可以在中介运行时使用名称具有“URI.var.”前缀的属性值填充
<HotelFindRequest>
<Authentication>
<AgentCode>xxxxxxx</AgentCode>
<UserName>xxxxx</UserName>
<Password>xxxxxx</Password>
</Authentication>
<Booking>
<ArrivalDate>22/05/2019</ArrivalDate>
<DepartureDate>25/05/2019</DepartureDate>
<CountryCode>AE</CountryCode>
<City>968</City>
<GuestNationality>LK</GuestNationality>
<HotelRatings>
<HotelRating>1</HotelRating><HotelRating>2</HotelRating>
<HotelRating>3</HotelRating><HotelRating>4</HotelRating>
<HotelRating>5</HotelRating>
</HotelRatings>
<Rooms>
<Room>
<Type>Room-1</Type>
<NoOfAdults>2</NoOfAdults>
<NoOfChilds>0</NoOfChilds>
</Room>
<Room>
<Type>Room-2</Type>
<NoOfAdults>1</NoOfAdults>
<NoOfChilds>0</NoOfChilds>
</Room>
<Room>
<Type>Room-3</Type>
<NoOfAdults>2</NoOfAdults>
<NoOfChilds>0</NoOfChilds>
</Room>
<Room>
<Type>Room-4</Type>
<NoOfAdults>3</NoOfAdults>
<NoOfChilds>0</NoOfChilds>
</Room>
</Rooms>
</Booking>
<HotelFindResponse>
<error>Please provide agentcode.</error>
<error>Please provide username.</error>
<error>Please provide password.</error></HotelFindResponse>
<property expression="$env/*[local-name()='Body']/*" name="uri.var.xmlBody" scope="default" type="STRING"/>
<call>
<endpoint>
<address format="pox" uri="http://test.xmlhub.com/testpanel.php/action/findhotel?XML={uri.var.xmlBody}"/>
</endpoint>
</call>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<root xmlns="">
<XML>$1</XML>
</root>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="$ctx:xmlbody"></arg>
</args>
</payloadFactory>
<property name="messageType" value="application/x-www-form-urlencoded" scope="axis2" type="STRING"></property>
<property name="DISABLE_CHUNKING" value="true" scope="axis2" type="STRING"></property>
<call>
<http method="post" uri-template="test.xmlhub.com/testpanel.php/action/findhotel"/>
</call>