url-mapping 或 uri-template 值在调用期间附加到端点

url-maping or uri-template value appended to endoint during call

我的 wso2 esb 中有一个资源

 <resource methods="POST" protocol="http" uri-template="/ft">
        <inSequence>
            <sequence key="T24InSequence"/>
        </inSequence>
        <outSequence>
            <sequence key="T24OutSequence"/>
        </outSequence>
</resorce>

我有一个正在 T24 Sequence

中调用的 wsdl 端点
<?xml version="1.0" encoding="UTF-8"?>
<endpoint name="operationsDbWsdlEndpoint" xmlns="http://ws.apache.org/ns/synapse">
    <wsdl port="HTTPEndpoint" service="mfb_transact_service" uri="http://localhost:8290/services/mfb_transact_service?wsdl">
        <suspendOnFailure>
            <initialDuration>-1</initialDuration>
            <progressionFactor>1.0</progressionFactor>
        </suspendOnFailure>
        <markForSuspension>
            <retriesBeforeSuspension>0</retriesBeforeSuspension>
        </markForSuspension>
    </wsdl>
</endpoint>

我按以下方式调用端点

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="T24InsertCashinDBSquence" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <log level="full">
        <property name="DBACTION" value="=================== INSERT INTO CASHIN DB =================="/>
    </log>
    <property expression="get-property('SYSTEM_DATE','yyyy-MM-dd HH:mm:ss')" name="requestTime" scope="default" type="STRING"/>
    <payloadFactory media-type="xml">
        <format>
            <p:insert_sop_t24FT_operation xmlns:p="t24FT">
                <!--Exactly 1 occurrence -->
                <xs:sopRequestId xmlns:xs="t24FT"></xs:sopRequestId>
                <!--Exactly 1 occurrence -->
                <xs:destinationInstitutionCode xmlns:xs="t24FT"></xs:destinationInstitutionCode>
                <!--Exactly 1 occurrence -->
                <xs:destinationAccountNumber xmlns:xs="t24FT">
                </xs:destinationAccountNumber>
                <!--Exactly 1 occurrence -->
                <xs:sourceInstitutionCode xmlns:xs="t24FT">
                </xs:sourceInstitutionCode>
                ...
            </p:insert_sop_t24FT_operation>
        </format>
        <args>
            <arg evaluator="json" expression="$.requestID"/>
            <arg evaluator="json" expression="$.destinationInstitutionCode"/>
            <arg evaluator="json" expression="$.destinationAccountNumber"/>
            <arg evaluator="json" expression="$.sourceInstitutionCode"/>
             ...
        </args>
    </payloadFactory>
    <property name="FORCE_ERROR_ON_SOAP_FAULT" scope="default" type="STRING" value="true"/>
    <callout endpointKey="operationsDbWsdlEndpoint">
        <source type="envelope"/>
        <target key="response"/>
    </callout>
</sequence>

我无法弄清楚为什么当我调用端点时出现以下错误

Error processing POST request for : /services/mfb_transact_service.HTTPEndpoint/ft org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is /services/mfb_transact_service.HTTPEndpoint/ft and the WSA Action = null. If this EPR was previously reachable, please contact the server administrator.

所以 wso2 似乎将 /ft 附加到 wsdl url

您可以尝试在标注调解器之前添加以下内容吗?

<property name="REST_URL_POSTFIX" action="remove" scope="axis2"/>