WSO2中使用的Restful端点未接收任何请求有效负载

时间:2018-04-19 11:30:55

标签: wso2 sequence wso2esb endpoints

我试图在WSO2中调用两个休息端点。来自第一个端点的响应用于构建json有效负载,以作为发布请求发送到第二个端点。 问题是第二个端点没有看到有效负载,因此错误消息“请求正文中提供的JSON语法无效:com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)接受显示第1行第54列的格式错误的JSON。

当我启用wirelogs时,我发现post请求被发送到第二个端点但没有有效负载。但令我惊讶的是,当我记录它时,有效载荷不是空的。

如果你能帮帮我,我将不胜感激。

请在下面找到我的模型摘录

<?xml version="1.0" encoding="UTF-8"?>
<api context="/openAccount" name="AccountCreation" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST">
        <inSequence>
            <log/>
            <header name="Authorization" scope="transport" value="Basic bWlmb3M6cGFzc3dvcmQ="/>
            <header name="Content-Type" scope="transport" value="text/plain"/>
            <header name="Fineract-Platform-TenantId" scope="transport" value="default"/>
            <property expression="get-property('SYSTEM_DATE', 'dd MMMM yyyy')" name="todayDate" scope="default" type="STRING"/>
            <payloadFactory media-type="json">
                <format>
            {
                                "firstname" : "$1",
                                 "lastname" : "$2",
                                 "externalId":"$3",
                                 "dateFormat":"$4",
                                 "locale":"$5",
                                 "officeId":"$6",
                                 "mobileNo":"$7",
                                 "clientTypeId":"$8",
                                 "clientClassificationId":"$9",
                                 "legalFormId":"$10",
                                 "dateOfBirth":"$11",
                                 "genderId":"$12",
                                 "submittedOnDate":"$13",
                                 "active":"true",
                                 "activationDate":"$14"

                         }
            </format>
                <args>
                    <arg evaluator="json" expression="$.firstname"/>
                    <arg evaluator="json" expression="$.lastname"/>
                    <arg evaluator="json" expression="$.externalId"/>
                    <arg evaluator="json" expression="$.dateFormat"/>
                    <arg evaluator="json" expression="$.locale"/>
                    <arg evaluator="json" expression="$.officeId"/>
                    <arg evaluator="json" expression="$.motherMaidenName"/>
                    <arg evaluator="json" expression="$.accountPurpose"/>
                    <arg evaluator="json" expression="$.maritalStatus"/>
                    <arg evaluator="json" expression="$.legalFormId"/>
                    <arg evaluator="json" expression="$.dateOfBirth"/>
                    <arg evaluator="json" expression="$.genderId"/>
                    <arg evaluator="json" expression="$.submittedOnDate"/>
                    <arg evaluator="xml" expression="get-property('todayDate')"/>
                </args>
            </payloadFactory>
            <property name="STATE" scope="default" type="STRING" value="CUSTOMER_CREATION"/>
            <property name="FORCE_HTTP_1.0" scope="axis2" type="STRING" value="true"/>
            <property name="DISABLE_CHUNKING" scope="axis2" type="STRING" value="true"/>
            <log>
                <property expression="json-eval($.)" name="customer-payload"/>
            </log>
            <send>
                <endpoint key="client-create-endpoint"/>
            </send>
        </inSequence>
        <outSequence>
            <switch source="get-property('STATE')">
                <case regex="CUSTOMER_CREATION">
                    <log>
                        <property expression="json-eval($.)" name="customer-response-payload"/>
                    </log>
                    <header name="Authorization" scope="transport" value="Basic bWlmb3M6cGFzc3dvcmQ="/>
                    <header name="Content-Type" scope="transport" value="text/plain"/>
                    <header name="Fineract-Platform-TenantId" scope="transport" value="default"/>
                    <payloadFactory media-type="json">
                        <format>{"productId":"1","locale":"en","dateFormat":"dd MMMM yyyy","clientId":"$1"}
           </format>
        <args>
            <arg evaluator="json" expression="$.clientId"/>
        </args>
                    </payloadFactory>
                    <log level="full">
                        <property expression="json-eval($.)" name="savingsaccount-request-payload"/>
                    </log>
                    <property name="STATE" scope="default" type="STRING" value="ACCOUNT_CREATION"/>
                    <property name="FORCE_HTTP_1.0" scope="axis2" type="STRING" value="true"/>
                    <property name="DISABLE_CHUNKING" scope="axis2" type="STRING" value="true"/>


                    <send>
                        <endpoint key="account-create-endpoint"/>
                    </send>
                </case>
                <case regex="ACCOUNT_CREATION">
                    <log level="full">
                        <property expression="json-eval($.)" name="savingsaccount-response-payload"/>
                    </log>
                    <send/>
                </case>
                <default/>
            </switch>
        </outSequence>
        <faultSequence/>
    </resource>
</api>

0 个答案:

没有答案