WSO2-企业集成商-过滤器中介
我试图了解过滤器中介器是如何工作的。 我有一个与SOAP API对话的代理服务。我尝试将过滤器中介器引入到基于头的路由中,但它不再工作 请查看并让我知道我在这里做错了什么WSO2-企业集成商-过滤器中介,wso2,wso2esb,wso2carbon,wso2ei,Wso2,Wso2esb,Wso2carbon,Wso2ei,我试图了解过滤器中介器是如何工作的。 我有一个与SOAP API对话的代理服务。我尝试将过滤器中介器引入到基于头的路由中,但它不再工作 请查看并让我知道我在这里做错了什么 soapProxy.xml <?xml version="1.0" encoding="UTF-8"?> <proxy name="soapProxy" startOnLoad="true" transports="http https" xmlns="http://ws.apache.org
soapProxy.xml
<?xml version="1.0" encoding="UTF-8"?>
<proxy name="soapProxy" startOnLoad="true" transports="http https" xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<filter regex="test" source="get-property('transport','header1')">
<then>
<log description="ifLog" level="custom">
<property name="value" value="---------- Then Clause ---"/>
</log>
<send>
<endpoint key="SoapEndpoint"/>
</send>
</then>
<else>
<log description="elseLog" level="custom">
<property name="value" value="--- Else Clause ---"/>
</log>
<log description="log1" level="custom" separator="
 ---> ">
<property name="log1.message" value=" ---> printing log1"/>
<property expression="get-property('transport','header1')" name="log1.headerProperty"/>
</log>
<property description="welcomeMsgProperty" name="welcomeMsg" scope="default" type="STRING" value="------ Hello World Property Mediator"/>
<log description="log2" separator="
 ---> ">
<property name="log2.message" value=" -------------> Welcome to Log Mediator"/>
<property expression="get-property("log2.message")" name="log2.MyProperty"/>
<property expression="get-property("MessageID")" name="log2.msgID"/>
<property expression="get-property("welcomeMsg")" name="log2.welcomeMsg"/>
<property expression="$trp:Content-Type" name="log2.stockprop"/>
</log>
<send>
<endpoint key="SoapEndpoint"/>
</send>
</else>
</filter>
</inSequence>
<outSequence>
<log description="resLog" separator="
 ---> ">
<property expression="get-property("welcomeMsg")" name="welcomeMsg"/>
<property name="test" value="*****"/>
</log>
<send/>
</outSequence>
<faultSequence/>
</target>
</proxy>
**SoapEndpoint.xml**
<?xml version="1.0" encoding="UTF-8"?>
<endpoint name="SoapEndpoint" xmlns="http://ws.apache.org/ns/synapse">
<address format="soap12" optimize="swa" uri="http://localhostlocal:9090/ws/countries.wsdl"/>
<property name="ENDPOINT_ADDRESS" value="http://localhost.local:9090/ws/countries.wsdl"/>
</endpoint>
soapProxy.xml
**SoapEndpoint.xml**
然后我尝试使用sequence Mediator重定向请求,但也出现了错误。
错误-找不到名为Value{name='null',keyValue='sequence1'}的SequenceMediator序列
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="sequence1" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<send>
<endpoint>
<address uri="http://localhost:9090/ws/countries.wsdl"/>
</endpoint>
</send>
</sequence>
<filter regex="test" source="get-property('transport','header1')">
<then>
<log description="ifLog" level="custom">
<property name="value" value="---------- Then Clause ---"/>
</log>
<sequence key="sequence1"/>
</then>
.....
.....
.....
.....
以下代理正在为我工作
<?xml version="1.0" encoding="UTF-8"?><proxy xmlns="http://ws.apache.org/ns/synapse" name="soapProxy" startOnLoad="true" statistics="disable" trace="disable" transports="http,https">
<target>
<inSequence>
<filter regex="test" source="get-property('transport','header1')">
<then>
<log level="custom">
<property name="value" value="---------- Then Clause ---"/>
</log>
<send>
<endpoint>
<http uri-template="http://www.mocky.io/v2/5185415ba171ea3a00704eed"/>
</endpoint>
</send>
</then>
<else>
<log level="custom">
<property name="value" value="--- Else Clause ---"/>
</log>
<send>
<endpoint>
<http uri-template="http://www.mocky.io/v2/5185415ba171ea3a00704eed"/>
</endpoint>
</send>
</else>
</filter>
<respond/>
</inSequence>
</target>
<description/>
使用以下CURL命令
curl-X柱\
\
-H'缓存控制:无缓存'\
-H'内容类型:应用程序/json'\
-H'头1:test2'\
-H'邮递员代币:d4d1e767-3cd7-39a6-2782-58ab0ffba987'\
-d'
{
“a”:“a”
}"
curl-X柱\
\
-H'缓存控制:无缓存'\
-H'内容类型:应用程序/json'\
-H‘头1:测试’\
-H'邮递员代币:d4d1e767-3cd7-39a6-2782-58ab0ffba987'\
-d'
{
“a”:“a”
}“以下代理正在为我工作
<?xml version="1.0" encoding="UTF-8"?><proxy xmlns="http://ws.apache.org/ns/synapse" name="soapProxy" startOnLoad="true" statistics="disable" trace="disable" transports="http,https">
<target>
<inSequence>
<filter regex="test" source="get-property('transport','header1')">
<then>
<log level="custom">
<property name="value" value="---------- Then Clause ---"/>
</log>
<send>
<endpoint>
<http uri-template="http://www.mocky.io/v2/5185415ba171ea3a00704eed"/>
</endpoint>
</send>
</then>
<else>
<log level="custom">
<property name="value" value="--- Else Clause ---"/>
</log>
<send>
<endpoint>
<http uri-template="http://www.mocky.io/v2/5185415ba171ea3a00704eed"/>
</endpoint>
</send>
</else>
</filter>
<respond/>
</inSequence>
</target>
<description/>
使用以下CURL命令
curl-X柱\
\
-H'缓存控制:无缓存'\
-H'内容类型:应用程序/json'\
-H'头1:test2'\
-H'邮递员代币:d4d1e767-3cd7-39a6-2782-58ab0ffba987'\
-d'
{
“a”:“a”
}"
curl-X柱\
\
-H'缓存控制:无缓存'\
-H'内容类型:应用程序/json'\
-H‘头1:测试’\
-H'邮递员代币:d4d1e767-3cd7-39a6-2782-58ab0ffba987'\
-d'
{
“a”:“a”
}“请修改您的文章标题,以提出实际问题(而不是列出标签)。谢谢请修改您的文章标题,以提出实际问题(而不是列出标签)。谢谢