mit PHP auf C#-Server zugreifen (SOAP)

  • PHP

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von slice.

    mit PHP auf C#-Server zugreifen (SOAP)

    Hallo Community,


    ich habe von einem Kollegen eine C# - Server - Anwendung (HTTP-Binding), die Methoden-Köpfe bereitstellt.
    In eine weitere C#-Anwendung (Client) lässt sich der Server recht einfach integrieren und die Funktionen aufrufen. Soweit so gut.

    Mein Problem ist nun, dass ich per PHP ein Frontend dafür bauen möchte, aber zum verrecken nicht hinbekomme, wie ich diesen Service bzw. eine Methode auf diesem Service aufrufe.

    Hat damit jemand Erfahrung?
    Kann mir jemand ein vereinfachtes Beispiel geben?

    Ich habe schon versucht, einen SOAP-Server und SOAP-Client über PHP nach diesem ( part2 ) Tutorial aufzubauen, aber leider erfolglos. -> bei mir kommt immer wenn ich die Funktion callen will false als return, statt dem erwartetem Value.

    Das ganze ist für ein Schulprojekt, wobei ich bis dato noch nichts mit SOAP-Servern in C# gemacht habe, sondern immer nur PHP-Backend als API.
    Ich hoffe man versteht, dass ich keinen Ansatzpunkt habe, wie ich die Kommunikation zwischen C# und PHP aufbaue. Deshalb kann ich bis dato auch keine konkreten programmatischen Fragestellungen formulieren.
    Ein einfaches wie es geht/gehen könnte oder was dabei zu beachten ist - wäre super.

    LG Acr0most :thumbup:
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Meh youtube Videos bez. programmieren sind meist nicht zu gebrauchen.
    Hast du dir schon den SoapClient im PHP-Manual angeschaut?
    Der ist sehr einfach zu benutzten.

    PHP-Quellcode

    1. $client = new SoapClient('http://address-to-server/example.wsdl', array('option1' => 'optval1', 'option2' => 'optval2'));
    2. $result = $client->__soapCall('YourMethod', array(
    3. 'param1' => $param1,
    4. 'param2' => $param2
    5. ));
    6. print_r($result);
    Danke @slice!

    damit komme ich schonmal weiter.

    Ich habe folgende Situation:

    C#-Server auf VirtualBox-VM gestartet, kann per web (<ip>:<port>) darauf zugreifen und bekomme die SOAP Übersicht.

    Nun kommt folgender Fehler:

    Quellcode

    1. ​ Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /var/www/html/soap/client.php on line


    Hat das etwas mit SOAP/HTTP zu tun oder blockt mir eine Firewall und/oder VirtualBox etwas ab?


    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Mit SOAP hat das m.M.n. erstmal nichts zutun, eher mit dem Transport. Versuch mal die WSDL mit file_get_contents zu laden und schau ob das funktioniert.
    Hey, danke!Ich habe es erstmal zum laufen bekommen.Neu gestartet, Server neu angemacht und nochmal alles überprüft.Dann habe ich die Funktion aufrufen können, kam aber kein logisches Ergebnis zurück. Fehler war: Beim SoapClient die Parameter als Array im Array angeben.Also funzt erstmal. wenn was neues aufkommt, melde ich mich nochmal.Danke erstmal :)
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Meinst du das hier?

    PHP-Quellcode

    1. $result = $client->__soapCall('YourMethod', array(
    2. 'YourMethod' => array(
    3. 'param1' => $param1,
    4. 'param2' => $param2
    5. )
    6. ));

    Ich meine mich zu erinnern das du auch $client->YourMethod($val1, $val2); benutzten kannst, da bin ich mir aber nicht mehr sicher - ist schon länger her.