不推荐使用的mule传输http的contentType属性的替代品是什么?
从不推荐使用的mule传输http的contentType属性的替代品是什么?,mule,mule-esb,Mule,Mule Esb,从mule传输http切换到mule模块http 在我的XML中,我有以下入站端点: <http:inbound-endpoint contentType="text/xml" exchange-pattern="request-response" host="0.0.0.0" port=1337 path="/"> 现代的中没有类似的属性(请参阅)。它应该如何替换此设置?我用我的旧Mule 3.5.0项目做了一些测试 当您为不推荐的http:inbound endpoint设
mule传输http
切换到mule模块http
在我的XML中,我有以下入站端点:
<http:inbound-endpoint contentType="text/xml" exchange-pattern="request-response" host="0.0.0.0" port=1337 path="/">
现代的
中没有类似的属性(请参阅)。它应该如何替换此设置?我用我的旧Mule 3.5.0项目做了一些测试
当您为不推荐的http:inbound endpoint
设置contentType
属性时,它不会拒绝包含其他或缺少Content Type
头的请求。
它也不会将其设置为响应头的值。
但是我注意到它确实设置了一个调用属性(变量)内容类型
(可以通过message.getInvocationPropertyNames()
进行检查)。
因此,等价物将是:
<http:listener config-ref="HTTP_Listener_Configuration"
path="somePath"/>
<set-variable variableName="Content-Type" value="text/xml"/>
如果没有以某种方式使用该变量(至少我没有注意到它的用法),我看不出有任何理由保留该变量。该属性在入站端点中的用途是什么?新模块中没有类似的内容,因为所有服务器路径都允许任何内容类型。@afelisatti实际上不知道。我想它是用来拒绝不匹配或缺少内容类型的请求的。需要检查。@Afelisati刚刚检查过。令我惊讶的是,它没有拒绝
application/xml
对application/json
入站http端点的请求。它将内容类型
键的调用属性设置为应用程序/json
值,而不管我在实际请求头中设置了什么类型。