2016-04-26 7 views
0

以下の設定でプロキシ&ターゲットinSequenceを作成しました。このプロキシは、ペイロードに構成されたコンテンツ、すなわち(<status>01SUCCESS</status>)の応答を返す必要があります。応答は期待どおりにwso2 4.9.0で<status>01SUCCESS</status>です。使用されるクライアントはApache HTTP Clientです。しかし、同じことはwso2 esbで応答を返さない4.8.1ステータスは200ですが。いずれの場合も、Javaのバージョンは1.7.0_79です。 WSO2 ESB 4.8.1で利用可能なソリューションはありますか?WSO2 ESBバージョン4.8.1プロキシからの応答を取得する際の問題

プロキシ:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="buildResponse" 
     transports="https,http" 
     statistics="disable" 
     trace="disable" 
     startOnLoad="true"> 
    <target inSequence="buildResponse" faultSequence="fault"/> 
    <description/> 
</proxy> 

シーケンス:

<?xml version="1.0" encoding="UTF-8"?> 
<sequence name="buildResponse" xmlns="http://ws.apache.org/ns/synapse"> 
    <property name="prop" scope="default" type="STRING" value="PROP"/> 
    <log> 
     <property expression="get-property('prop')" name="prop" xmlns:ns="http://org.apache.synapse/xsd"/> 
    </log> 
    <payloadFactory media-type="xml"> 
     <format> 
      <status xmlns="">01SUCCESS</status> 
     </format> 
    </payloadFactory> 
    <log> 
     <property expression="$body" name="body" xmlns:ns="http://org.apache.synapse/xsd"/> 
    </log> 
    <header action="remove" name="To" scope="default"/> 
    <property name="RESPONSE" scope="default" type="STRING" value="true"/> 
    <send/> 
</sequence> 

答えて

0

要求がHTTP POSTである場合このプロパティは、HTTP GET要求に含まれていても問題がない場合でも、シーケンスで必要です。

<property name="messageType" value="text/xml" scope="axis2" type="STRING"/> 

以下のシーケンス構成は、HTTP要求とPOST要求の両方で動作します。 POST要求に必要なプロパティもコンフィグレーションに含まれているためです。

<?xml version="1.0" encoding="UTF-8"?> 
    <sequence name="buildResponse" xmlns="http://ws.apache.org/ns/synapse"> 
     <property name="prop" scope="default" type="STRING" value="PROP"/> 
     <log> 
      <property expression="get-property('prop')" name="prop" xmlns:ns="http://org.apache.synapse/xsd"/> 
     </log> 
     <payloadFactory media-type="xml"> 
      <format> 
       <status xmlns="">01SUCCESS</status> 
      </format> 
     </payloadFactory> 
     <log> 
      <property expression="$body" name="body" xmlns:ns="http://org.apache.synapse/xsd"/> 
     </log> 
     <property name="messageType" value="text/xml" scope="axis2" type="STRING"/> 
     <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> 

     <header action="remove" name="To" scope="default"/> 
     <property name="RESPONSE" scope="default" type="STRING" value="true"/> 
     <send/> 
    </sequence> 
0

リクエストがDELETEのGETである場合、あなたは送信メディエーター前NO_ENTITY_BODYを削除する必要があります。<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>