SOAP Web Service Rückgabewert (array)

  • VB.NET
  • .NET (FX) 4.0

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Radinator.

    SOAP Web Service Rückgabewert (array)

    Nabend zusammen,

    ich hätt da gern mal wieder ein Problemchen ... ;)
    Ich versuche aus einer CRM Software Kontakte via Web Service (SOAP) auszulesen damit sie
    anschließend überarbeitet und in eine ERP Software übernommen werden können.
    Das auslesen einzelner Werte klappt wunderbar (z.B. die Gesamtanzahl der Kontakte):
    anzahl (as integer) = soap_contact.crmcountcontacts(session_id)

    Doch leider liefert jeder einzelne Kontakt dann ein Array verschiedener Typen zurück.
    Die Abfrage mittels PHP ($result = $contact->crmgetcontact(session_id, 16)) liefert folgende Rückgabe:
    Name=Horst
    Street=Ahornweg 1
    email1=horst@home.de
    email2=horst@arbeit.de
    ID=32
    ...
    Insgesamt sind es knapp 35 Zeilen.

    Nun meine Frage:
    Wie muss ich den PHP Befehl "$result = $contact->crmgetcontact(session_id, 16)" in Visual Basic umsetzen?
    xy() = soap_contact.crmgetcontact(session_id, 16) -> funktioniert nicht.
    String() funktioniert nicht (Rückgabe stamt laut Fehlermeldung nicht von Typ String).

    Jemand eine Idee?
    Wäre für eine kleine Hilfestellung sehr dankbar :)

    Gruß
    EcB
    Wäre glaub ich am einfachsten, du rufst die URL mit GET Parametern auf, als response gibst du dann das Ergebnis als JSON aus. Das JSON kannst du dann aus dem ResponseStream auslesen -> in String -> mit NewtonSoft.Json anschließend parsen.

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Die Datenquelle (WSDL) habe ich meinem Projekt als Webverweis hinzugefügt, wodurch ich die einzelnen
    Werte recht einfach (z.B. crmgetchangedcontacts) abfragen kann. Ehrlich gesagt wüsste ich jetzt nicht wie
    ich die URL (SERVER/soap/index.php?op=contacts&wsdl) mit GET Parametern aufrufen sollte.

    Glaub ich brauch mal ne Pause :)

    Meinst du via httpwebrequest?
    Werde mir das "JSON" mal ansehen. Vielen Dank erstmal für den Tipp.

    EcB schrieb:

    mit GET Parametern aufrufen sollte.
    ?

    EcB schrieb:

    (SERVER/soap/index.php?op=contacts&wsdl
    Machst du doch schon

    EcB schrieb:

    Meinst du via httpwebrequest
    Geenau :D. Den WebRquest aus System.Net per System.Net.WebRequest.Create() oder über System.Net.WebRequest.CreateHttp()
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell