数据未到达wso2 esb编排中的我的端点
我对WSO2和ESB完全陌生,但我有一个序列,它获取json数据并将json数据中的值发送到我的数据未到达wso2 esb编排中的我的端点,wso2,esb,orchestration,Wso2,Esb,Orchestration,我对WSO2和ESB完全陌生,但我有一个序列,它获取json数据并将json数据中的值发送到我的端点msf4j-springmicro服务,该服务接受一个字符串并返回一个字符串,我的insequence似乎能够找到正在运行的微服务,但我无法将数据发送到该服务进行处理。我知道我做错了什么,但我不知道那是什么 <?xml version="1.0" encoding="UTF-8"?> <sequence name="mainServiceRouteSeq" trace="enab
端点msf4j-spring
micro服务,该服务接受一个字符串并返回一个字符串,我的insequence
似乎能够找到正在运行的微服务,但我无法将数据发送到该服务进行处理。我知道我做错了什么,但我不知道那是什么
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="mainServiceRouteSeq" trace="enable" xmlns="http://ws.apache.org/ns/synapse">
<property expression="json-eval($.type)" name="postParam"
scope="default" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<log level="custom">
<property expression="$ctx:postParam"
name="########RouteServiceLogs" xmlns:ns="http://org.apache.synapse/xsd"/>
</log>
<switch source="json-eval($.type)" xmlns:ns="http://org.apache.synapse/xsd">
<case regex="foo">
<log>
<property name="+RouteSeq" value="FOO"/>
<property expression="json-eval($)" name="sending uri.data"/>
</log>
<property expression="json-eval($)" name="uri.data"
scope="default" type="STRING"/>
<call>
<endpoint>
<address format="rest" uri="http://localhost:9090/out/encrypt"/>
</endpoint>
</call>
<property expression="json-eval($)" name="RESPONSE2"
scope="default" type="STRING"/>
<log level="custom">
<property expression="get-property('RESPONSE2')" name="LOG_RESPONSE2"/>
</log>
</case>
<case regex="bar">
<log>
<property name="-RouteSeq" value="BAR"/>
<property expression="json-eval($)" name="sending uri.data"/>
</log>
<property expression="json-eval($)" name="uri.data"
scope="default" type="STRING"/>
<send>
<endpoint>
<address format="rest" uri="http://localhost:9090/out/encrypt"/>
</endpoint>
</send>
<log level="full"/>
<property expression="json-eval($)" name="RESPONSE2"
scope="default" type="STRING"/>
<log level="custom">
<property expression="get-property('RESPONSE2')" name="LOG_RESPONSE2"/>
</log>
</case>
<default/>
</switch>
</sequence>
在长时间阅读和理解wso2语法后。下面是在我的API序列中删除url映射后的问题解决方案,因为它干扰了我的调用中介,我将阻塞
添加为真
,以便我的调用是同步的
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="balanceEnquirySeqIN" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<log level="custom">
<property expression="json-eval($.)" name="in_request"/>
</log>
<switch source="json-eval($.agentInstitutionCode)">
<case regex="001">
<payloadFactory media-type="json">
<format>{
"channel": "",
"type": "",
"customerId": "$1",
"customerIdType": "",
"submissionTime": "",
"reqTranId": "$2",
"passcode": ""
}
</format>
<args>
<arg evaluator="json" expression="$.agentAccountNumber"/>
<arg evaluator="json" expression="$.requestID"/>
</args>
</payloadFactory>
<log level="custom">
<property expression="json-eval($.)" name="CHANGED_REQUEST"/>
</log>
<call blocking="true"/>
<property name="messageType" scope="default" type="STRING" value="application/json"/>
<log level="custom">
<property expression="json-eval($.)" name="DATA_RETURNED"/>
</log>
<enrich>
<source clone="true" type="inline">
<direct xmlns="">001</direct>
</source>
<target action="child" type="body"/>
</enrich>
<log level="full">
<property expression="json-eval($.)" name="msg2"/>
</log>
<loopback/>
</case>
</switch>
</sequence>
{
“频道”:“,
“类型”:“,
“客户ID”:“$1”,
“customerIdType”:”,
“提交时间”:“,
“reqTranId”:“$2”,
“密码”:”
}
001