Wie kann ich einen SOAPUI Request mit PHP ausführen?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie kann ich einen SOAPUI Request mit PHP ausführen?

    Hi,

    ich bin gerade hoffnungslos überfordert und Tante Google hilft mir auch nicht wirklich.

    Ich habe gerade von einem indischen Entwickler meines Kunden ein SOAPUI Projekt bekommen mit dessen Hilfe ich Daten von einem Webservice meines Kunden abfragen kann. Das funktioniert auch prächtig. Nur muss ich diese Abfrage jetzt in PHP umsetzen. Dazu bin ich aber definitiv zu blöde. Zumal dieser SOAP Request auch irgendwie kein wirklicher SOAP Request ist. Zumindest fehlen die üblichen Tags wie envelope etc.

    Der Request sieht einfach nur so aus

    <?xml version="1.0" encoding=UTF-8" standalone="no"?>
    <eServiceData><eFullCommentsRequest>
    <CountryCode>419</CountryCode>
    <RFSNumber>82028051</RFSNumber>
    <STTLine>000000</STTLine>
    </eFullCommentsRequest>
    </eServiceData>

    Dazu habe ich jetzt noch einen Usernamen und ein Passwort und eine URL.

    Wie in gottes Namen mache ich daraus jetzt einen HTTP Request den ich mit PHP absetzen kann oder meinetwegen auch einen SOAP Request, so das denn überhaupt einer ist?

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • So,

    nach vielen Lesen und probieren habe ich nun die Lösung. Vielleicht interessiert es ja jemanden:

    Quellcode

    1. $xml = '<?xml version="1.0" encoding=UTF-8" standalone="no"?>...put your xml data here';
    2. $headers = array(
    3. "Content-type: text/xml;charset=\"utf-8\"",
    4. "Accept: text/xml",
    5. "Cache-Control: no-cache",
    6. "Pragma: no-cache",
    7. "SOAPAction: \"run\""
    8. );
    9. $options = array(
    10. CURLOPT_RETURNTRANSFER => true, // return web page
    11. CURLOPT_HEADER => false, // don't return headers
    12. CURLOPT_FOLLOWLOCATION => true, // follow redirects
    13. CURLOPT_ENCODING => "", // handle all encodings
    14. CURLOPT_USERPWD => "username:password",
    15. CURLOPT_AUTOREFERER => true, // set referer on redirect
    16. CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
    17. CURLOPT_TIMEOUT => 120, // timeout on response
    18. CURLOPT_MAXREDIRS => 100, // stop after 10 redirects
    19. CURLOPT_SSL_VERIFYPEER => false,
    20. CURLOPT_POST => 1,
    21. CURLOPT_POSTFIELDS => $xml,
    22. CURLOPT_HTTPHEADER => $headers
    23. );
    24. $ch = curl_init( "put your url here");
    25. curl_setopt_array( $ch, $options );
    26. $content = curl_exec( $ch );
    27. $err = curl_errno( $ch );
    28. $errmsg = curl_error( $ch );
    29. $header = curl_getinfo( $ch );
    30. curl_close( $ch );
    31. $header['errno'] = $err;
    32. $header['errmsg'] = $errmsg;
    33. $header['content'] = $content;
    Alles anzeigen
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)