Ankündigung

Einklappen
Keine Ankündigung bisher.

Php soap

Einklappen

Neue Werbung 2019

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

  • Php soap

    Hi,

    bin gerade dabei mit einem WebService zu kommunizieren, verstehe aber nicht wie man die XML-Datei richtig erstellt.

    So wie ich es verstanden habe geht es im Prinzip recht einfach:
    Mein momentaner Ansatz:
    $soap_param = Array(
    "login" => "login",
    "password" => "password",
    "soap_version" => SOAP_1_1,
    "exceptions" => true,
    "trace" => true,
    "encoding" => "UTF-8",
    "cache_wsdl" => WSDL_CACHE_NONE
    );
    $newArray = array(
    "sercon" => array (
    "nam" => "Name",
    ),
    "siglis" => array(
    "catnam" => "catnam",
    "iniln" => "iniln",
    "sigil" => array(
    "sisei" => array(
    array(
    "nam" => "nam",
    "thty" => "thty"
    ),
    array(
    "nam" => "nam",
    "thty" => "thty"
    )
    )
    ),
    "viinf" => array(
    "viinf" => array (
    array ( "vln" => "vln" ),
    array ( "vln" => "vln" )
    )
    )
    ),
    "fsi" => "fsi"
    );
    $soap = new SoapClient("url to wsdl file", $soap_param);
    header("Content-Type: text/xml; charset=utf-8");
    $result = $soap->EineFunction($newArray);
    Im Body-Tag Envelope sollten laut "Vorgabe" folgende Attribute stehen.
    xmlns : xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns : xsd="http://www.w3.org/2001/XMLSchema" xmlns : soap="http://schemas.xmlsoap.org/soap/envelope/

    und der prefix bei den Tags sollte <soap: sein.

    Bei mir wird jedoch nur folgendes Attribute gesetzt:
    xmlns:env="http://www.w3.org/2003/05/soap-envelope

    und der Prefix ist bei mir <env:

    Das Array $newArray habe ich aus der WSDL aufgebaut. Jedesmal wenn ich das Array sigil und/oder viinf erstelle, bekomme ich einen Bad-Request. Setzte ich die beiden Sachen auf null, bekomm ich vom Server eine Fehlermeldung, dass die Daten noch nicht vollständig sind, was ja vollkommen richtig ist.

    Kann man die Attribute und Prefixe von Hand setzen? Irgendwie find ich im Web keine vernüftige Anleitung, wie man das macht und die auch funktioniert.
    Oder ist das wie ich das mache schon richtig? Eigentlich sollte ja alles durch die WSDL-Datei vorgegeben sein.

    Wäre net wenn mit jemand helfen könnte!!??


    schonmal danke im voraus!

Lädt...
X