SOAP ExecuteScript funktioniert bei mir problemlos, ich würde jedoch gerne in der Art der PHP Funktion „IPS_RunScript(Wait)Ex“ gleichzeitig eine Variable setzen.
Ich nehme an dafür könnte man in „IIPSScriptEngine“ das „ExecuteScriptEx“ verwenden - den Namen „RunScript“ hab ich in der WSDL nicht gefunden.
Nun komme ich einfach auf keinen grünen Zweig, wie ich das Variablen - Array angeben kann (zum Beispiel : Array(„Command“ => „On“) )
Ich verwende übrigen Powershell um die SOAP requests abzusetzen, und generiere die XML Requests ganz primitiv durch Zusammensetzen von Text Fragmenten. Ein Beispiel mit ExecuteScript habe ich mir mit dem kostenlosen soapUI 4 generieren lassen - das hat auch sehr zügig geklappt. Bei ExecuteScriptEx kriege ich aber einfach nicht mehr raus wo die zusätzlichen Parameter hingehören.
Danke im Voraus für jeden Tipp (ein Beispiel wäre natürlich perfekt)! - bin mit der Suche im Forum nun erstmals in meinem IPS - Abenteuer nicht wirklich weitergekommen…
Ich bin auch schon dankbar für einen Tipp wo ich suchen muss, oder wie ich mir die Info erarbeiten könnte - stehe momentan einfach auf dem Schlauch.
Vielen Dank im Voraus,
hixgy
Unten mein Beispiel wo ich nicht weiss wohin mit dem Array (und in welcher Form)
Ich kriegs nicht hin, das XML selber zusammenzustellen, mir scheinen da ehrlich gesagt die Hirnzellen zu fehlen die Notation komplett zu verstehen…:mad:
Nun wollte ich mal ein Beispiel in PHP erstellen und dann die Nachricht „mitschneiden“, aber auch da komm ich auf keinen grünen Zweig - habe auch keine Beispiele gefunden…
<- zur zeit sind das also bei mir nur die beiden ersten Bilder im Loop
Wie schreib ich das richtig, wenn ich ne Variable mit Namen „command“ und Wert „test“ setzen will? (Dies ist nur das einfachste Beispiel von vielen Veruschen die ich bereits gemacht hab…)
Die Frage war wahrscheinlich nicht so klar gestellt, darum nochmal;
Wäre es vielleicht möglich dass jemand ein Beispiel produzieren könnte wie man „ExecuteScriptEx“ über SOAP aus IPS verwendet?
So in der Art wie auf Datenaustausch: IP-Symcon :: Automatisierungssoftware
?
Ich komm einfach nicht klar wie ich da das Array für die Variablen formatieren muss.
Ich hab hier jetzt schon Stunden verbraten und wäre wirklich froh um eine kleine Starthilfe…
Wie das ganze in XML aussehen muss, hab ich unterdessen herausgefunden, würde mich jedoch trotzdem noch brennend interessieren wie ich das aus PHP bewerkstellige (voriger Post).
Poste hier mal das funktionierende XML Beispiel, auch wenn’s wahrscheinlich für die meisten klar ist, oder keine interessiert (vielleicht aber doch wenn ich die Anzahl der Aufrufe sehe, oder waren das etwa alles meine Eigenen? :rolleyes:);
Hier ein Beispiel. Leider funktioniert in PHP nicht, dass man das ScriptResult bekommt und der Wait Parameter muss true sein, sonst gibt es auch einen wundersamen Fehler.
Der zweite Parameter von ExcecuteScriptEx enthält die Identifikation des Aufrufers. Im aktuellen Beispiel ist das „Test“. Das Scirpt könnte daher wie folgt beginnen:
if ($_IPS[‚SENDER‘] == „Test“) { // Script wurde über SOAP von „Test“ aufgerufen
$ParamBla = $_IPS[‚Bla‘]; // Variable abfragen, die übergeben wurde …
…
}
FRAGE: Wie kann man bei ExecuteScritpEx einen Wert zurückgeben? Bei ExecuteScript über SOAP funktioniert das Prima, Wait-Parameter auf True das Funktionsergebnis mit „base64_decode“ transformieren. Leider funktioniert das nicht mit ExceuteScriptEx. Was muss man hier noch beachten?