Ich habe einen HTTP-Listener und die Daten, die an ihn gesendet werden, kommen als HTTP_RAW_POST_DATA. Wie greife ich darauf zu? Ich habe # [Nachricht], # [Nutzlast] und auch inboundAttachments ausgegeben und ich kann einfach nicht herausfinden, wie man zu den Daten kommt.Mule 3.7 Wie kann ich auf eingehende HTTP_RAW_POST_DATA zugreifen?
Antwort
Wenn Sie über die Nutzlast sprechen Sie in Ihrer POST-Methode sind vorbei, können Sie einfach den folgenden Ausdruck in einem Logger verwenden: - <logger message="#[message.payloadAs(java.lang.String)]" level="INFO"/>
oder alternativ können Sie <object-to-string-transformer>
nach HTTP-Listener verwenden und dann einen Logger wie <logger message="#[message.payload]" level="INFO"/>
die Nutzlast verwenden, nachdem der HTTP-Listener ist in Input Format, so dass Sie es als String
Danke. Dies führte mich zu der Erkenntnis, dass, da die geposteten Daten ein Soap-Dokument sind, ich
Einfache Möglichkeit zu prüfen, ob Sie auf Daten von mule Http Endpunkt zugreifen können, ist eine leere Logger, druckt alle Daten auf der Konsole und Sie können die Daten für dort auswählen.
`INFO 2016-06-08 10:18:59,339 [[test].HTTP_Listener_Configuration.worker.01] org.mule.api.processor.LoggerMessageProcessor:
org.mule.DefaultMuleMessage
{
id=505d9b40-2d34-11e6-9b78-8cdcd4d3ab0f
payload=org.mule.transport.NullPayload
correlationId=<not set>
correlationGroup=-1
correlationSeq=-1
encoding=UTF-8
exceptionPayload=<not set>
Message properties:
INVOCATION scoped properties:
INBOUND scoped properties:
accept=*/*
accept-encoding=gzip, deflate, sdch
accept-language=en-US,en;q=0.8
cache-control=no-cache
connection=keep-alive
host=localhost:8084
http.listener.path=/
http.method=GET
http.query.params=ParameterMap{[]}
http.query.string=
http.relative.path=/
http.remote.address=/127.0.0.1:58506
http.request.path=/
http.request.uri=/
http.scheme=http
http.uri.params=ParameterMap{[]}
http.version=HTTP/1.1
postman-token=78bda747-9e48-66ab-bcd1-6dac20387f12
user-agent=Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
OUTBOUND scoped properties:
SESSION scoped properties:
}
`
Danke, Naveen. Ich kannte das schon, aber immer noch tolle Informationen! – kambythet
sprechen Sie über die HTTP heade rs? Können Sie ein Beispiel dafür angeben, auf welche Daten Sie zugreifen müssen? –