本地条目作为wso2 esb中介中的筛选条件
我有一个序列作为代理服务的一部分,它基于“源和正则表达式”进行过滤。我将源定义为作为SOAP请求一部分的元素值,将正则表达式定义为“ESB中定义的本地条目”。然而,结果并不是我所期望的 本地输入定义为内联文本(myFields)-FIELD1 | FIELD2 | FIELD3 中介序列定义为-本地条目作为wso2 esb中介中的筛选条件,wso2,wso2esb,Wso2,Wso2esb,我有一个序列作为代理服务的一部分,它基于“源和正则表达式”进行过滤。我将源定义为作为SOAP请求一部分的元素值,将正则表达式定义为“ESB中定义的本地条目”。然而,结果并不是我所期望的 本地输入定义为内联文本(myFields)-FIELD1 | FIELD2 | FIELD3 中介序列定义为- 当我以以下方式发送SOAP请求时- 字段1 执行总是去其他部分。有什么建议吗?对于筛选器中介,regex属性必须是字符串,而不是表达式 您可以使用XPATH2“匹配” 样本: <inSeq
当我以以下方式发送SOAP请求时-
字段1
执行总是去其他部分。有什么建议吗?对于筛选器中介,regex属性必须是字符串,而不是表达式 您可以使用XPATH2“匹配” 样本:
<inSequence>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<property name="fieldName" expression="$body/fieldName/text()"/>
<property xmlns:fn="http://www.w3.org/2005/xpath-functions" name="match" expression="fn:matches(syn:get-property('fieldName'),syn:get-property('myFields'))"/>
<filter source="get-property('match')" regex="true">
<then>
<log level="full" separator="*****YES*********">
<property name="myFields" expression="get-property('myFields')"/>
</log>
</then>
<else>
<log level="full" separator="*********NO**************">
<property name="myFields" expression="get-property('myFields')"/>
</log>
</else>
</filter>
<log level="full"/>
</inSequence>
感谢您的回复。我已经在ESB中启用了XPATH2,但在添加此序列逻辑时,在管理控制台上看到以下错误消息:序列配置无效:字符串索引超出范围:-1这是代理服务定义中的“插入序列”:。。。。我使用ESB 4.8.1,不可能将其置于代理定义之外吗?作为序列定义的一部分?当然,您可以定义一个命名序列,它的内容将是您在我的样本中找到的介于和之间的标记。我尝试了Jean,这就是我得到错误的原因,因为“序列配置无效:字符串索引超出范围:-1”