2017-09-21 3 views
0

ヘッダーに "Content-Type:application/json"を受け入れるレストサービスを呼び出す必要がありますが、ESBから呼び出そうとします。 WSO2は自動的に "charset = utf-8"を追加します。私はそれを取り除く方法がわかりません。WSO2でcharset = utf-8を削除する方法ESB

ContentTypeプロパティも使用していますが、運はありません。

 <property name="HTTP_METHOD" scope="axis2" type="STRING" value="PUT"/> 
<property name="ContentType" scope="axis2" type="STRING" value="application/json"/> 
        <header expression="fn:concat('Basic ', get-property('ENCODED_URL'))" name="Authorization" scope="transport" xmlns:ns="http://org.apache.synapse/xsd"/> 
        <payloadFactory media-type="json"> 
         <format>{ 
            "name": "XXX_Token", 
            "type": "XXXX-cf04186e2156_sessionID", 
            "version": "1.0.1", 
            "Attribute-N": $1 
            } 
         </format> 
         <args> 
           <arg expression="$ctx:XXXTokenValue" literal="false" /> 
         </args> 
        </payloadFactory> 
        <property name="REST_URL_POSTFIX" scope="axis2" value=""/> 
        <call> 
         <endpoint> 
          <address trace="disable" uri="https://XXXXX:9493/governance/restservices/52b1caba-b507-4f6a-95bc-2ea7b2418e67"/> 
         </endpoint> 
        </call> 

ログ:

- End : Call mediator - Non Blocking Call 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "PUT /governance/restservices/5XXXXX2ea7b2418e67 HTTP/1.1[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "X-AspNet-Version: 4.0.30319[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "Authorization: Basic YWRtaW46YWRtaW4=[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "Content-Type: application/json; charset=utf-8[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "X-Powered-By: ASP.NET[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "Cache-Control: private, max-age=0[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "Transfer-Encoding: chunked[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "Host: XXXXXXz:9493[\r][\n]" 
TID: [-1] [ESB] [2017-09-21 14:30:37,785] DEBUG {org.apache.synapse.transport.http.wire} - << "Connection: K 

答えて

0

これは、ESB 4.9.0のバグだった[1]。これは、後のバージョンで修正されている可能性があります。

あなたが複数のヘッダ値を追加することもできます(プロパティの下に "/repository/conf/passthru-http.properties" で使用可能であるかどうか

http.headers.preserve = Content-Typeの

をご確認くださいカンマ区切りのリストとして)

Btwプロパティ "messageType"を使用してコンテンツタイプを設定します。 [2] https://docs.wso2.com/display/ESB500/Generic+Properties#GenericProperties-messageType

[1] https://wso2.org/jira/browse/ESBJAVA-4620

を[2]

からにmessageTypeとcontentType上のドキュメントを参照してください

関連する問題