Powershell - SOAP - Benannte Parameter
Moin zusammen,
ich beschäftige mich gerade zum ersten mal mit SOAP und das in Powershell.
Die Verbindung zum Webservice wird mittels New-WebServiceProxy initiiert. Das funktioniert soweit auch.
Nun gibt es da eine Methode GetItemStock. Diese ist wie folgt definiert:
Soweit klar. Die Methode braucht nur einen Wert (EAN oder ItemKey oder oder) um zu funktionieren - getestet mit SoapUI. Deswegen würde ich gerne sagen wir EAN über einen benannten Parameter übergeben. Bei einer Powershell-Function würde ich das Beispielsweise mit -EAN erledigen
Nur funktioniert das hier nicht - unerwartetes Token.
Geht das hier nicht oder fehlt mir da mal wieder Wissen im Bereich Powershell?
Lieben Dank und Gruß
ich beschäftige mich gerade zum ersten mal mit SOAP und das in Powershell.
Die Verbindung zum Webservice wird mittels New-WebServiceProxy initiiert. Das funktioniert soweit auch.
Nun gibt es da eine Methode GetItemStock. Diese ist wie folgt definiert:
OverloadDefinitions
-------------------
System.Object GetItemStock(System.Data.SqlTypes.SqlInt32 ItemKey, System.Data.SqlTypes.SqlString EAN, System.Data.SqlTypes.SqlString ItemNrSuppl, System.Data.SqlTypes.SqlString
ItemNrInt, System.Data.SqlTypes.SqlBoolean LocationStock, System.Data.SqlTypes.SqlBoolean OnlyEnabledItems, System.Data.SqlTypes.SqlString ExcludeBinGroups)
Soweit klar. Die Methode braucht nur einen Wert (EAN oder ItemKey oder oder) um zu funktionieren - getestet mit SoapUI. Deswegen würde ich gerne sagen wir EAN über einen benannten Parameter übergeben. Bei einer Powershell-Function würde ich das Beispielsweise mit -EAN erledigen
$response=$Webservice.GetItemStock -EAN 12345
Nur funktioniert das hier nicht - unerwartetes Token.
Geht das hier nicht oder fehlt mir da mal wieder Wissen im Bereich Powershell?
Lieben Dank und Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 364742
Url: https://administrator.de/contentid/364742
Ausgedruckt am: 04.12.2024 um 08:12 Uhr
3 Kommentare
Neuester Kommentar
Eine Funktion eines Objektes rufst du anders auf
Und wenn der Typ eines Parameters nicht eindeutig ist, gebe den Typ in eckigen Klammern vor dem Parameter an.
Bsp.
[int32]$parametervariable
$Webservice.GetItemStock(Parameter1,Parameter2)
Bsp.
[int32]$parametervariable
Also muss ich tatsächlich alle Parameter übergeben und kann sie nicht per Name referenzieren?
Nur die die für den "jeweiligen Konstruktor" nötig sind. Damit das passiert müsste ja der Webservice geändert werden. Und somit auch dein Skript, außer du wertest die Methoden Parameter manuell selbst aus.Das sind normale Funktionsdefintionen wie sie es in jeder Programmiersprache gibt.
Mit Get-Member kannst du alle Methoden und Eigenschaften inkl. Parameterdefintion auslesen.