【问题标题】:How to Remove charset=utf-8 in WSO2 ESB如何在 WSO2 ESB 中删除 charset=utf-8
【发布时间】:2017-09-21 02:37:03
【问题描述】:

我需要调用 rest 服务,它在标头中接受“Content-Type: application/json”,但是当我尝试从 ESB 调用它时。 WSO2 自动添加“charset=utf-8”。我不知道如何删除它。

我也使用了 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

【问题讨论】:

    标签: wso2 wso2esb


    【解决方案1】:

    这是 ESB 4.9.0 [1] 中的一个错误。这可能会在以后的版本中得到修复。

    请检查“/repository/conf/passthru-http.properties”中是否有以下属性

    http.headers.preserve=内容类型

    (请注意,您可以将多个标题值添加为逗号分隔列表)

    顺便说一句,使用属性“messageType”来设置内容类型。请参考[2]中关于messageType和ContentType的文档

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

    [2]https://docs.wso2.com/display/ESB500/Generic+Properties#GenericProperties-messageType

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-12
      • 1970-01-01
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2020-10-26
      相关资源
      最近更新 更多