Hallo zusammen,
ich hoffe ich bin im richtigen Forum. Mittlerweile bin ich mit meinem Latein am Ende.
Leider konnte der OXID Support auch nicht mehr weiterhelfen, da der Abruf der Daten über PHP einwandfrei funktioniert.
Folgendes Problem habe ich.
Wenn ich versuche über SOAP per Visual Basic 2008 Ordersätze abzurufen bekomme ich keine Daten geliefert. Ich möchte es mal genauer erklären.
Wir haben die Enterprise Version 4.2.0_23610. Haben einen Mastershop und einen Subshop. Den Ordner “erp” (wo die SOAP Schnittstelle drin ist) habe ich in das Hauptverzeichnis des OXID Shop unter “…/oxid/modules/” abgespeichert. Die oxerpservice_v230.wsdl habe ich als Webservice in Visual Basic eingefügt. Mit folgenden Zeilen melde ich mich am Shop 2 an.
Imports OXIDVERBINDUNG.SOAPWISSENSCHAFT
Dim SERVICE As New Service1
Dim LOGIN As OXERPType = SERVICE.OXERPLogin(sUserName:=“admin”, sPassword:=“admin”, iShopID:=2, iLanguage:=0)
Dim SESSION As String = LOGIN.sMessage.ToString
Hier generiert er auch die richtige SessionID. Wenn ich jetzt über den IE folgende Zeile mit der gerade generierte SessionID eingebe:
…/modules/erp/oxerpcsvexport.php?fnc=OXERPGetOrders&sid=d07bedfc95b93b93dca
6066544aec544&version=2.3.0&&iStart=1&iCount=200
erhalte ich 200 Ordersätze aus dem Shop2.
Mit folgender Zeile versuche ich nun über Visual Basic diese Ordersätze abzurufen:
Dim ORDER as Object
Dim SORT1 As New OXERPSort
SORT1.sFieldName = (“oxordernr”) : SORT1.sType = (“asc”)
ORDER = SERVICE.OXERPGetOrders(sSessionID:=SESSION, iStart:=0, iCount:=200, OXERPSort:=SORT1, Timestamp:=DATUM, TimestampSpecified:=False, iCountSpecified:=False, iStartSpecified:=False)
Aber beim dem Abruf der Daten erhalte ich keinen einzigen Datensatz zurück.
Wenn ich aber die ShopID eines Ordersatzes von 2 auf 1 (für Mastershop) abändere, bekomme ich diesen Datensatz auch zurückgeliefert. Obwohl ich eine SessionID vom Shop 2 generiere.
Vielleicht habt ihr noch eine Idee.
Vielen Dank.