Ankündigung

Einklappen
Keine Ankündigung bisher.

GUI bauen aus WSDL Datei und SoapUI mit Standard SOAP

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • GUI bauen aus WSDL Datei und SoapUI mit Standard SOAP

    Hallo,

    ich bekam eine Schnittstellendokumentation geliefert dazu eine WSDL-Datei. Die Schnittstelle wird per Standard SOAP-Webservice zur Verfügung gestellt. Ich muss nun Daten aus der Schnittstelle lesen und zurückschreiben wie z.B. Vorname und Nachname, weil ich mit den importierten Daten eine PDF-Datei mit einem Ticket generiert bekomme, welches ich dann ausdrucken muss. Die Methoden stehen in der Schnittstellenbeschreibung und ich las die Daten per Soap-UI Webservicetester ein, damit ich mir einen Überblick zu den Methoden und verlangten Werten verschaffen kann. Jetzt muss ich eine GUI dafür programmieren um mit der Schnittstelle arbeiten zu können. Wie kann ich das am besten machen, welche Programme verwende ich dafür am besten? Es soll so einfach wie möglich sein, ich habe wenig Zeit dies zu realisieren!


  • #2
    Das kannst du mit dem PHP Soap Client umsetzen

    Kommentar


    • #3
      OK danke, können sie mir bitte noch ein Beispiel geben wie dies möglich ist: Die Kollegin gibt den Namen und Vornamen in ein Formular ein, das Formular überträgt die Daten an die SOAP-Schnittstelle und die Schnittstelle gibt dann den Vornamen und Nachnamen zurück mit einem PDF-Ticket. Funktioniert das mit einem Standardformular oder brauche ich spezielle Elemente/Plugins um das Formular zu designen. Welche IDE ist dafür die beste?

      Kommentar


      • #4
        Nicht ganz richtig: Das Formular wird erst vom Browser an dein PHP-Script übertragen und PHP sendet dann die Daten an den SOAP Service.
        Ja, das funktioniert mit einem Standardformular und einer IDE deiner Wahl.
        Beispiel Formularverarbeitung

        Beispiel SOAP-Client (ganz stark vereinfacht und an die Struktur des Service anzupassen)
        PHP-Code:
        <?php
        header
        ("content-type: application/pdf");

        $client = new SoapClient('http://url/zur.wsdl');
        $result $client->methodenname(['Vorname' => $_POST['vorname'], 'Nachname' => $_POST['nachname']]);
        echo 
        base64_decode($result->PDF);

        Kommentar


        • #5
          Was ist denn das für Code Meister1900 ?
          Ich hab echt in der Docu nachgeschaut...

          Kommentar


          • #6
            OK Danke, es ist jetzt schon deutlich verständlicher. Nur mit einem Datentyp komme ich nicht zurecht. Es gibt in der Schnitttstellendokumentation mehrere Felder zum Abfragen z.B.
            Vorname, Nachname, PLZ, Ort die ich alle mit einem Array Abfrage. Nur gibt es einen Datentypen welcher in der Schnittstellendokumentation als "Struktur" bezeichnet wird mit den Kontaktdaten-Elementen:

            <?php
            $client = new SoapClient('https://www.webservice.de/downlink.wsdl',
            array('encoding'=>'UTF-8' ));
            $parameter = array (
            "Vorname" => "Max", //Datentyp char255
            "Nachname" => "Mustermann", //Datentyp char255
            "Strasse" => "Musterstrasse", //Datentyp char255
            "PLZ" => "42343", //Datentyp char64
            "Ort" => "Musterort", //Datentyp char255
            "Kontaktdaten" => ??? // dieses Feld enthält den Datentyp Struktur
            );
            $result = $client->search( $parameter );
            echo $result->response_code, ": ", $result->status_message, "\n";

            Kontaktdaten hat nicht wie alle übrigen Elemente den Datentyp char64, char255 oder boolean sondern Struktur
            Struktur beinhaltet die Kontaktdaten:

            Die "Kontaktdaten"-Elemente sind
            E-Mailadresse Format char255
            Mobilfunknummer Format char64
            Festnetznummer Format char64
            Firmennummer
            Skype
            Linkedin
            Xing
            Instagramm
            Facebook etc.

            Wie kann ich die Kontaktdaten mit dem Typ "Struktur" abfragen? Kann man einen Array in einen Array kapseln?


            Kommentar


            • #7
              Wenn ich das Beispiel richtig verstehe, kann man das als PHP Object bzw. stdClass übergeben.
              Könnte aber auch mit einem verschachtelten Array funktionieren, einfach mal ausprobieren, welche Variante bei diesem Service funktioniert.

              tomBuilder sollte ein Beispiel sein, wie man ein PDF über einen SOAP Service empfangen und darstellen kann.

              Kommentar


              • #8
                "Struktur" ist ein komplexer Datentyp, zusammengesetzt aus 1-n simplen und/oder anderen, komplexen Datentypen... letztendlich läuft es auf verschachtelte Arrays hinaus, wie Meister1900 bereits schrieb.
                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar

                Lädt...
                X