ich bei Erzeugen einer POST-Meldung aus AnyPoint Studio bin Fehler:Fehler beim Senden der HTTP-Anfrage. Nachrichtennutzlast ist vom Typ: HashMap
Was ich versuche Schlüssel-Wert-Paar zu erreichen, ist mit 3 eine POST zu unserem Kykloud api Endpunkt zu senden, wie die Payload als x-www-form-urlencodierten Inhalt.
Dies ist die aktuelle visuelle Setup:
(Nebenbei bemerkt:. Ich weiß, dass seine schlechte Praxis Geheimnisse zu speichern und Login-Daten in der normalen Ansicht Ich werde versuchen, herauszufinden, wie man dies richtig zu tun später)
die entsprechende XML wie folgt aussieht:
<flow name="LoginFlow">
<set-payload value="#[['ApiToken': 'xxxXXXxxxXXXxxxXXX']]" doc:name="Set ApiToken"/>
<set-payload value="#[['Email':'serv[at]someaddress.com']]" doc:name="Set Email"/>
<set-payload value="#[['Password':'VeryLongPenis']]" doc:name="Set Password"/>
<http:request config-ref="KyklouConnectorns" path="/api/v2/sessions?format=json" method="POST" doc:name="Login to Kykloud" port="80" />
<logger level="INFO" message="SessionId is #[message.payload.'SessionId']" doc:name="Logger"></logger>
</flow>
In der Theorie sollte die Antwort einige JSON mit einem Sessi sein onId-Objekt darin.
Was ich eigentlich in POSTMAN empfangen ist:
Error sending HTTP request. Message payload is of type: HashMap
Offensichtlich ich etwas falsch mache meine Nutzlast bei der Definition, aber sie Dokumentation zu diesem Thema ist nicht klar, wie es die richtige Art und Weise zu tun:
HTTP Request Body Die Mule Message-Payload wird in ein Byte Array konvertiert und als HTTP-Request-Body gesendet. Dieses Verhalten wird aus immer ausgeführt, außer in den folgenden Szenarien:
Die Mule Nachricht der Payload eine Karte von Schlüsseln und Werten
Die Nachricht
Outbound-Anhänge hatGenerieren Sie die Anfrage Körper mit Content- Geben Sie Folgendes ein: application/x-form-urlencoded Immer wenn die Nachricht Nutzlast eine Zuordnung ist, generiert der Connector automatisch eine HTTP-Anfrage mit der Kopfzeile Content-Type:
application/x-www-form-urlencoded
. Die Schlüssel und Werte der Karte in der Nutzlast werden in Formparameterschlüssel und Werte in den Hauptteil der HTTP-Anforderung konvertiert.
Es sagt, die Nutzlast ist eine Karte von Schlüsseln und Werten. Sie haben eine HashMap. Während sie ähnlich sind, sind sie nicht genau gleich. Bevor Sie Ihren Code zum Senden der Nachricht ausführen, konvertieren Sie Ihre hashmap in eine Map mit 'Map map2 = myHashMap;' –
MattCorr
@MattCorr Ich hätte sagen sollen, dass dies mein erster Tag mit diesem Produkt ist und ich keine Ahnung wie um dies in XML zu tun. – Marco