apache synapse学习-属性设置

本文详细介绍了Apache Synapse中的属性设置,包括Generic Properties、HTTP Transport Properties和Synapse Message Context Properties。内容涵盖如何控制消息处理,如WS-Addressing、响应处理、错误处理和HTTP传输特性,以及如何设置SYNAPSE消息上下文属性。
摘要由CSDN通过智能技术生成

属性设置-Generic Properties

PRESERVE_WS_ADDRESSING
默认情况下,ESB将一组新的WS-Addressing头添加到从ESB转发的消息中。如果在消息上将此属性设置为“true”,ESB将在不更改其现有的WS-Addressing头的情况下转发它。

<property name="PRESERVE_WS_ADDRESSING" value="true"/>

RESPONSE
一旦消息的此属性设置为“true”,ESB将开始将其视为响应消息。它通常用于将请求消息作为响应路由回其源。但是,当前respond mediator执行相同的功能。

<property name="RESPONSE" value="true"/>

OUT_ONLY
将消息的此属性设置为“true”,以指示一旦从ESB转发该消息,就不需要为其提供响应消息。换句话说,ESB将使用此类消息执行一个仅出调用。对于只参与out-only调用的消息设置此属性非常重要,以防止ESB注册不必要的回调以进行响应处理,并最终耗尽内存。

<property name="OUT_ONLY" value="true"/>

ERROR_CODE
使用此属性设置消息的自定义错误代码,该消息稍后可由synapse错误处理程序处理。如果synapse在中介或路由过程中遇到错误,将自动填充此属性。

<property name="error-code" expression="get-property('ERROR_CODE')"/>

ERROR_MESSAGE
使用此属性可以对消息设置自定义错误消息,该消息稍后可由synapse错误处理程序处理。如果synapse在中介或路由过程中遇到错误,将自动填充此属性。

<property name="Cause" expression="get-property('ERROR_MESSAGE')"/>

ERROR_DETAIL
使用此属性可在出现错误时设置异常stacktrace。如果ESB在中介或路由过程中遇到错误,则将自动填充此属性。

<property name="Trace" expression="get-property('ERROR_DETAIL')"/>

ERROR_EXCEPTION
包含运行时错误时引发的实际异常。

<property name="error-exception" expression="get-property('ERROR_EXCEPTION')"/>

TRANSPORT_HEADERS
包含传输头的映射。自动填充。可以使用传输作用域中的属性中介访问此映射的各个值。

<property name="TRANSPORT_HEADERS" action="remove" scope="axis2"/>

messageType
基于此属性选择消息格式化程序。此属性应具有ContentType,如text/xml、application/xml或application/json。

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

ContentType
只有设置了messagetype属性,此属性才会生效。如果设置了messagetype,则将基于此属性选择传出请求的content-type-http头的值。请注意,只有在消息格式化程序在消息格式化程序实现中查找该属性时,才需要设置该属性。

<property name="ContentType" value="text/xml" scope="axis2"/>

##preserveProcessedHeaders
默认情况下,synapse会删除已处理的传入请求的SOAP头。如果我们将此属性设置为“true”,synapse将保留SOAP头。

<property name="preserveProcessedHeaders" value="true" scope="default"/>

SERVER_IP
托管服务器的服务器IP/主机名

<property name="StringServerIp" expression="get-property('SERVER_IP')" scope="default" type="STRING"/>

属性设置-HTTP Transport Properties

HTTP传输属性允许控制和配置HTTP传输如何处理正在进行的消息。

POST_TO_URI
此属性使ESB的传出URL成为完整的URL。当我们通过代理服务器交谈时,这一点很重要。

<property name="POST_TO_URI" scope="axis2" value="true"/>

FORCE_SC_ACCEPTED
当设置为true时,此属性强制202 HTTP响应到客户端,以便它停止等待响应。

<property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>

DISABLE_CHUNKING
禁用传出消息的HTTP分块。

<property name="DISABLE_CHUNKING" scope="axis2" value="true"/>

NO_ENTITY_BODY
如果用户希望从ESB生成对请求的响应没有entity body,例如GET请求,则应删除此属性。

<property name="NO_ENTITY_BODY" scope="axis2" value="true"/>

FORCE_HTTP_1.0
强制HTTP 1.0用于传出HTTP消息。

<property name="FORCE_HTTP_1.0" scope="axis2" value="true"/>

FAULTS_AS_HTTP_200
Set the HTTP status code.

<property name="FAULTS_AS_HTTP_200" value="true" scope="axis2"/>

NO_KEEPALIVE

为对应的连接流禁用HTTP keep alive状态。这可以用于流入和流出。

<property name="NO_KEEPALIVE" value="true" scope="axis2"/>

REST_URL_POSTFIX
当通过地址端点以RESTful方式发送消息时,此属性的值将附加到目标URL。当需要将上下文附加到目标URL以防RESTful调用时,这非常有用。如果使用的是HTTP端点而不是地址端点,请以“uri.var.*”格式指定变量,而不是使用此属性。

<property name="REST_URL_POSTFIX" value="/context" scope="axis2"/>

REQUEST_HOST_HEADER
此属性的值将设置为传出请求的HTTP主机头。

<property name="REQUEST_HOST_HEADER" value="www.wso2.org" scope="axis2"/>

FORCE_HTTP_CONTENT_LENGTH
此属性允许在ESB向后端服务器发送请求时发送内容长度。使用HTTP 1.1时,此属性禁用分块并发送内容长度。使用HTTP 1.0时,属性只发送内容长度。应该在后端服务器无法接受分块内容的情况下设置此属性。

<property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"/>

COPY_CONTENT_LENGTH_FROM_INCOMING
此属性允许从传入消息复制HTTP内容长度。仅当使用FORCE_HTTP_CONTENT_LENGTH属性时才有效。COPY_CONTENT_LENGTH_FROM_INCOMING避免在内存中缓冲消息以计算内容长度,从而降低了性能下降的风险。

<property name="COPY_CONTENT_LENGTH_FROM_INCOMING" scope="axis2" value="true"/>

属性设置-Synapse Message Context Properties

SYSTEM_DATE
以字符串形式返回当前日期。或者,可以提供标准日期格式的日期格式。例如synapse:get-property(“SYSTEM_DATE”, “yyyy.MM.dd G ‘at’ HH:mm:ss z”) 或get-property(‘SYSTEM_DATE’).

<property name="StringDateVal" expression="get-property('SYSTEM_DATE')" scope="default" type="STRING"/>

SYSTEM_TIME
返回当前时间(毫秒)。

<property name="StringTimeVal" expression="get-property('SYSTEM_TIME')" scope="default" type="STRING"/>

MESSAGE_FORMAT
根据消息返回pox、soap11、soap12。如果消息类型未知,则返回SOAP12。

<property name="StringMessageFormat" expression="get-property('MESSAGE_FORMAT')" scope="default" type="STRING"/>

OperationName
返回与消息对应的操作名。

<property name="StringOperationName" expression="get-property('OperationName')" scope="default" type="STRING"/>

参考:http://synapse.apache.org/userguide/properties.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值