赫罗,。
我正在尝试执行以下命令:
curl -d "param1=A¶m[2]=B¶m[3]=username¶m[4]=password" https://dev-domain.com/test/
我得到了预期的结果。
但是当我尝试使用 WSO2 API Manager 来实现它时,使用下面的 API 突触,
<?xml version="1.0" encoding="UTF-8"?><api xmlns="http://ws.apache.org/ns/synapse" name="admin--auth" context="/auth" version="1.0.0" version-type="url">
<resource methods="POST" url-mapping="/*">
<inSequence>
<property name="POST_TO_URI" value="true" scope="axis2"/>
<filter source="$ctx:AM_KEY_TYPE" regex="PRODUCTION">
<then>
<send>
<endpoint name="admin--auth_APIproductionEndpoint_0">
<http uri-template="https://dev-domain.com/test/">
<timeout>
<duration>30000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<errorCodes>-1</errorCodes>
<initialDuration>0</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<errorCodes>-1</errorCodes>
</markForSuspension>
</http>
</endpoint>
</send>
</then>
<else>
<sequence key="_sandbox_key_error_"/>
</else>
</filter>
</inSequence>
<outSequence>
<send/>
</outSequence>
</resource>
<handlers>
<handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/>
<handler class="org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler">
<property name="id" value="A"/>
<property name="policyKey" value="gov:/apimgt/applicationdata/tiers.xml"/>
</handler>
<handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler"/>
<handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler">
<property name="configKey" value="gov:/apimgt/statistics/ga-config.xml"/>
</handler>
<handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerExtensionHandler"/>
</handlers>
</api>
我使用以下命令进行测试:
curl -d "param1=A¶m[2]=B¶m[3]=username¶m[4]=password" http://apiserver.com:8280/auth/1.0.0
我得到了意想不到的结果,结果是:404,找不到页面
由于端点地址是安全连接,我已将证书注册到 [API_MGR_HOME]/repository/resources/security/client-truststore.jks
我认为如果我直接访问 curl 中的端点,结果应该是相同的。
有什么我没有做的吗?或者有什么建议可以让我得到相同的结果。它必须使用 WSO2 API Manager 来完成。
如果有任何意见或建议,请让我知道,提前谢谢。