WSO2 ESB - клон и агрегирующий посредник, не отправляющий ответ - PullRequest
0 голосов
/ 12 февраля 2020

У меня странная проблема при использовании клона - агрегатного медиатора. Я поместил журнал в onComplete и увидел данные, но эти данные никогда не отправляются обратно клиенту.

Вот код, который я использовал.

<?xml version="1.0" encoding="UTF-8"?>
<api context="/OneVinmec" name="OneVinmec" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="GET" uri-template="/getPID?*">
        ...
        <outSequence>                
            <property name="info" scope="default">
                <ns:Information xmlns:ns="http://wso2.com"/>
            </property>
            <aggregate id="getPID">
                <completeCondition timeout="10">
                    <messageCount max="-1" min="-1"/>
                </completeCondition>
                <onComplete enclosingElementProperty="info" expression="//*[local-name() = 'DSBenhNhan']">
                    <log description="DSBenhNhan" level="custom">
                        <property expression="//*[local-name() = 'DSBenhNhan']" name="DSBenhNhan"/>
                    </log>
                    <send/>
                </onComplete>
            </aggregate>
            <send/>
        </outSequence>
        <faultSequence/>
    </resource>
</api>

Это журнал, который я получил с консоли, как вы можете видеть, есть журнал INFO - LogMediator , но после этого ответ не отправляется обратно. Изменить: После удаления заголовка кодирования содержимого журнал теперь показывает это

[2020-02-12 17:30:16,052]  INFO - LogMediator DSBenhNhan = <DSBenhNhan xmlns="http://ws.wso2.org/dataservice/getPID"><BenhNhan><Source_System>OH</Source_System><PID>200380141</PID></BenhNhan></DSBenhNhan><DSBenhNhan xmlns="http://ws.wso2.org/dataservice/getPID"><BenhNhan><Source_System>eHOS</Source_System><PID>19006032</PID></BenhNhan><BenhNhan><Source_System>eHOS</Source_System><PID>19086413</PID></BenhNhan></DSBenhNhan>
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "HTTP/1.1 200 OK[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "X-Frame-Options: DENY[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTPS-Sender I/O dispatcher-4 >> "0[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTPS-Sender I/O dispatcher-4 >> "[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "X-Content-Type-Options: nosniff[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "Vary: Accept-Encoding[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "X-XSS-Protection: 1; mode=block[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "Content-Type: application/xml;charset=UTF-8[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "Date: Wed, 12 Feb 2020 10:30:16 GMT[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "Transfer-Encoding: chunked[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "1aa[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "<ns:Information xmlns:ns="http://wso2.com"><DSBenhNhan xmlns="http://ws.wso2.org/dataservice/getPID"><BenhNhan><Source_System>OH</Source_System><PID>200380141</PID></BenhNhan></DSBenhNhan><DSBenhNhan xmlns="http://ws.wso2.org/dataservice/getPID"><BenhNhan><Source_System>eHOS</Source_System><PID>19006032</PID></BenhNhan><BenhNhan><Source_System>eHOS</Source_System><PID>19086413</PID></BenhNhan></DSBenhNhan></ns:Information>[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "0[\r][\n]"
[2020-02-12 17:30:16,052] DEBUG - wire HTTP-Listener I/O dispatcher-2 << "[\r][\n]"

Цените вашу помощь!

1 Ответ

2 голосов
/ 12 февраля 2020

Согласно [2020-02-12 15:59:27,259] DEBUG - wire HTTP-Listener I/O dispatcher-4 << "Content-Encoding: gzip[\r][\n], кажется, что кодировка контента в формате gzip. Пожалуйста, пропустите этот заголовок у клиента при вызове API.

...