Мне нужно использовать 3 XSLT-преобразования в моем ESB-прокси (Wso2), но это не работает.Могу ли я использовать более двух преобразований XSLT в ESB Proxy (WSO2)? Для этого есть предел?
Когда я пытаюсь использовать 2 XSLT и 1 Factory Factory (вместо второго XSLT), прокси работает правильно: выполните первый XSLT, вызовите первую услугу, выполните второй XSLT, вызовите вторую услугу, выполните третий XSLT и ответьте правильно, заканчивая поток.
Но когда я изменяю эту фабрику полезных нагрузок для преобразования XSLT, прокси-сервер выполняет первый XSLT, вызывает первую услугу, выполняет второй XSLT, пропускает второй вызов и пытается выполнить третий XSLT, но перестает работать.
Если я посмотрю на свой файл журнала, это показывает, что сервер делает преобразования правильно (я поместил некоторые журналы, чтобы увидеть это, а преобразования правильные). Поэтому я считаю, что мои преобразования правильные.
Мой прокси-сервер это то звено, которое:
<proxy name="Proxy1" startOnLoad="true" trace="disable" transports="http https" xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<xslt key="conf:transformation/TransformSubmitPartnerRequestToFirstExternalServiceRequest.xsl" source="//SubmitPartnerRequest">
</xslt>
<call>
<endpoint key="FirstExternalServiceEndpoint"/>
</call>
<xslt key="conf:transformation/transformFirstExternalServiceResponseToSecondExternalServiceRequest.xsl" source="//FirstExternalServiceResponse">
</xslt>
<call>
<endpoint key="CLMServiceEndpoint"/>
</call>
<send/>
</inSequence>
<outSequence>
<xslt key="conf:transformation/transformSecondExternalServiceResponseToSubmitPartnerResponse.xsl" source="//SecondExternalServiceResponse"/>
<send/>
</outSequence>
<faultSequence/>
</target>
<publishWSDL key="gov:wsdl/ServiceV1.wsdl">
<resource key="gov:wsdl/Information.xsd" location="./Information.xsd"/>
</publishWSDL>
</proxy>
Пример моих преобразований:
<!-- First transformation: TransformSubmitPartnerRequestToFirstExternalServiceRequest.xsl -->
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="//SubmitPartnerRequest">
<Request>
<!-- info here... -->
</Request>
</xsl:template>
</xsl:stylesheet>
там что-то случилось с моим кодом? Могу ли я использовать более 2 преобразований XSLT в своем ESB-прокси?
Я поставил последний XSLT внутри inSequence, но проблема продолжается ... Моя внешняя необходимость пуста. –
использовать log level = "full" между 3-м xslt и последней отправкой: можете ли вы увидеть результат своей трансформации? если нет, можете ли вы найти ошибки в wso2-esb-error.log? –