我刚开始使用云技术,我正在尝试实现一个简单的 hello world 示例。我正在使用新的 wso2 企业集成服务器。我正在尝试设置一个简单的 API。
我已经实现了 1 个端点:
<endpoint xmlns="http://ws.apache.org/ns/synapse">
<address uri="http://192.168.1.100:9191/v1/hello">
<suspendOnFailure>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
<retryDelay>0</retryDelay>
</markForSuspension>
</address>
</endpoint>
我已经实现了 2 个序列:
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="HelloWorldIN" xmlns="http://ws.apache.org/ns/synapse">
<send>
<endpoint key="gov:/HelloWorld"/>
</send>
</sequence>
和
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="HelloWorldOUT" xmlns="http://ws.apache.org/ns/synapse">
<send/>
</sequence>
最后是 API 本身
<api xmlns="http://ws.apache.org/ns/synapse" name="HelloWorld" context="/helloworld" hostname="192.168.1.100" port="9191">
<resource methods="GET" uri-template="/v1/hello" inSequence="HelloWorldIN" outSequence="HelloWorldOUT"/>
</api>
当我向这个 API 发出 GET ( http://192.168.1.162:8280/helloworld/v1/hello ) 请求时,我得到一个 202 接受的响应,没有数据。任何帮助,将不胜感激。
编辑:这是完整的配置:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
<registry provider="org.wso2.carbon.mediation.registry.WSO2Registry">
<parameter name="cachableDuration">15000</parameter>
</registry>
<taskManager provider="org.wso2.carbon.mediation.ntask.NTaskTaskManager"/>
<sequence name="HelloWorldOUT">
<send buildmessage="true"/>
</sequence>
<sequence name="fault">
<!-- Log the message at the full log level with the ERROR_MESSAGE and the ERROR_CODE-->
<log level="full">
<property name="MESSAGE" value="Executing default 'fault' sequence"/>
<property expression="get-property('ERROR_CODE')" name="ERROR_CODE"/>
<property expression="get-property('ERROR_MESSAGE')" name="ERROR_MESSAGE"/>
</log>
<!-- Drops the messages by default if there is a fault -->
<drop/>
</sequence>
<sequence name="main">
<in>
<!-- Log all messages passing through -->
<log level="full"/>
<!-- ensure that the default configuration only sends if it is one of samples -->
<!-- Otherwise Synapse would be an open proxy by default (BAD!) -->
<filter regex="http://localhost:9000.*" source="get-property('To')">
<!-- Send the messages where they have been sent (i.e. implicit "To" EPR) -->
<send/>
</filter>
</in>
<out>
<send/>
</out>
<description>The main sequence for the message mediation</description>
</sequence>
<sequence name="HelloWorldIN">
<send>
<endpoint name="gov//HelloWorld">
<address uri="http://192.168.1.100:9191/v1/hello"/>
</endpoint>
</send>
</sequence>
<api context="/helloworld" hostname="192.168.1.100"
name="HelloWorld" port="9191" statistics="enable" trace="enable">
<resource inSequence="HelloWorldIN" methods="GET"
outSequence="HelloWorldOUT" uri-template="*"/>
</api>
<!-- You can add any flat sequences, endpoints, etc.. to this synapse.xml file if you do
*not* want to keep the artifacts in several files -->