Mule ESB - How zum erstellen einer HTTP-Anfrage mit der Methode POST (senden-Parameter)
Kurz: ich möchte per post ein paar Parameter (wie z.B. user=admin, key=12345678) mit der POST-Methode an eine PHP-Seite (wie localhost/post-debug.php). Das Skript Lesen würden, die $_POST-Werte und tun, was auch immer.
Meine Fragen sind:
1. Wie bekomme ich das Beispiel unten, um zu arbeiten?
2. Wie kann ich die Karte Nutzlast mit POST-Parameter aus einer JSON-codierten Nutzlast und senden Sie es an das PHP-Skript?
Unten ist ein Einzelfall, den ich versuche zu laufen bekommen (die Parameter sind "Lesen" aus dem HTTP-Endpunkt). Ich rufe direkt aus dem browser die folgende URL:
http://localhost:8081/httpPost?user=admin&key=12345678
Den zugrunde liegenden XML:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd ">
<flow name="httpPostTestFlow1" doc:name="httpPostTestFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="httpPost" doc:name="HTTP"/>
<http:body-to-parameter-map-transformer doc:name="Body to Parameter Map"/>
<echo-component doc:name="Echo"/>
<http:outbound-endpoint exchange-pattern="request-response" host="localhost/post-debug.php" port="80" contentType="application/x-www-form-urlencoded" doc:name="HTTP" />
</flow>
</mule>
Ich bin mit MuleStudio 1.3.2, Mule ESB v. 3.3.
Habe ich jetzt viele ähnliche Fragen, aber keiner hat mich auf die richtige Spur.
Danke für dein feedback. Ja, ich möchte bekommen Szenario 2 zu laufen. Ich habe gerade versucht das problem zu isolieren, das Beispiel gegeben.
InformationsquelleAutor Valentin Despa | 2013-02-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist die Lösung für Frage 2 (Beantwortung von Frage 1 wird nicht helfen):
Habe ich die folgenden zu prüfen, es funktioniert:
Hinweis, dass ich
copy-properties
zu propagieren alle die Antwort-Header von PHP-script-Aufruf zurück zu den ursprünglichen Aufrufer. Entfernen Sie, wenn Sie don ' T care.Natürlich, ich danke Ihnen sehr viel für uns in diesem.
Cool, ich bin froh, dass dies funktioniert zu Ihrer Zufriedenheit 🙂
Wenn ich versuche diesen code bekam ich die folgende Fehlermeldung; Fehler beim transformieren von "json" , "java.util.Map". Message-payload-Typ ist: ContentLengthInputStream (org.mule.api.Transformator.TransformerMessagingException ). Message-payload-Typ ist: ContentLengthInputStream
Stellst du eine JSON - Objekt Mule?
InformationsquelleAutor David Dossot
Haben Sie versucht, konfigurieren Sie Ihre outbound-endpoint-so:
Ich habe gerade bemerkt, dass der host, den Sie festlegen, ist nicht eine gültige ein. Aktualisiert die Antwort entsprechend
Es hat nicht funktioniert aber danke für deine Zeit.
InformationsquelleAutor genjosanzo
Fragen, die ein wenig alt, aber einfach auf das gleiche problem. Ich konnte nie die "Körper-zu-parameter-map-Transformator" zu arbeiten, so warf ich in einem benutzerdefinierten java-Komponente. Es analysiert eine URLEncoded param string in eine HashMap. Stellen Sie Ihre vars basierend auf, dass.
InformationsquelleAutor jp_inc