Ich habe eine Sequenz, die eine Callout (Blockierung) ausführt, weil ich einige Daten aus der Antwort extrahieren muss, um eine Payload für eine neue Callouts zu einem anderen Dienst zu erstellen .So verwenden Sie Antwortdaten von Callouts zu einem anderen Callout in einer Nachricht
Die Legende
<callout action="nextSource" initAxis2ClientOptions="false" serviceURL="http://192.168.0.33:9764/services/AltaLigeraService?wsdl"> <source type="envelope" /> <target key="myresponse" /> </callout>
So kann ich die Antwort log:
<property expression="get-property('myresponse')" name="rta" scope="default" type="STRING" />
<log level="custom"> <property expression="$ctx:rta" name="Respuesta" /> </log>
Der bzw. onse log ist:
INFO - LogMediator Respuesta = <ns:nextSourceResponse xmlns:ns="http://carbon.bbva.gtko.co"> <ns:return xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ax2431="http://vo.carbon.bbva.gtko.co/xsd" xsi:type="ax2431:Automatizacion"> <ax2431:filename1>28189133_AltaLigerao_Oficina_cmarguello_20160408102300_N.txt</ax2431:filename1><ax2431:filename2>28189133_AltaLigerao_Oficina_cmarguello_20160408102300_S.txt</ax2431:filename2> <ax2431:modulo>ALTA_LIGERA</ax2431:modulo> </ns:return> </ns:nextSourceResponse>
Also ich brauche die Werte von filename1, filename2 kennen und Modulo Ich versuche, mit XPath Wert loggt filename1 aber ich kann nicht tun.
<property expression="fn:concat('filename - ', $ctx:rta/ns:nextSourceResponse/ns:return/ax2431:filename1)" name="filename1" scope="default" type="STRING" xmlns:ns="http://carbon.bbva.gtko.co" xmlns:ax2431="http://vo.carbon.bbva.gtko.co/xsd"/> <log level="custom"> <property expression="get-property('filename1')" name="filename" xmlns:ns="http://carbon.bbva.gtko.co" /> </log>
und das Protokoll:
`INFO - LogMediator filename = filename - `
i auch mit dem gleichen Ergebnis (gleiche log) versuchen
´expression="fn:concat('filename - ', $ctx:rta/ax2431:filename1)"´
`expression="fn:concat('filename - ', $ctx:rta/filename1)"`
Was ist der richtige Weg, das zu tun?
Dank
nicht funktioniert ... i log den Körper $ und haben diese ' \t \t \t \t \t \t \t \t \t \t ' ' LogMediator Respuesta = ' –
cmarguello
meine Lösung funktioniert, wie Sie in den gedruckten Protokollen sehen können ... wenn Sie also eine Lösung benötigen, können Sie die Eigenschaft "Respuesta2" verwenden, um den Wert, den Sie in der concat-Funktion verwenden möchten, zu erfassen Problemumgehung. –
Bitte überprüfen Sie den letzten Teil meiner Antwort, jetzt funktioniert es, wie Sie möchten –