我正在研究WSO2 ESB代理服務,它涉及通過ESB上的SOAP端點公開內部RESTful服務。 我的RESTful服務需要Content-type =「application/rdf + xml」。我嘗試使用文檔中提到的所有3個屬性來設置它:messageType,ContentType和CONTENT_TYPE。但是,請求Content-type仍然是「application/xml」。WSO2 ESB覆蓋ContentType屬性
這裏是我的順序調用REST服務的摘錄:
<property xmlns:ns="http://org.apache.synapse/xsd" name="REST_URL_POSTFIX" value="/record/12345" scope="axis2" type="STRING"/>
<property name="HTTP_METHOD" value="PUT" scope="axis2" type="STRING"/>
<property name="messageType" value="application/rdf+xml" scope="axis2" type="STRING"/>
<property name="ContentType" value="application/rdf+xml" scope="axis2" type="STRING"/>
<property name="CONTENT_TYPE" value="application/rdf+xml" scope="axis2" type="STRING"/>
<send>
<endpoint name="CQ">
<address uri="http://my_url" format="pox">
</address>
<property xmlns:ns="http://org.apache.synapse/xsd" name="Authorization" expression="fn:concat('Basic ', base64Encode('username:password'))" scope="transport"/>
<property name="OSLC-Core-Version" value="2.0" scope="transport"/>
<property name="Accept" value="application/rdf+xml" scope="transport"/>
</endpoint>
</send>
我TCPMon的,也不管我用什麼樣的內容類型的屬性,要求中仍包含「應用程序/ XML」進行了測試。
請指教。
我猜你正在使用ESB 4.6.0。 ESB 4.6.0中有一個已知的錯誤,它總是將傳出的內容類型更改爲application/xml。解決方法是切換到NHTTP傳輸。 – RaviU