meinereiner85
Mitglied
Hallo alle zusammen,
ich habe ein Problem bei PHP in Verbindung mit SOAP:
Ich habe ein kleines Java-Programm was ich gerne über Soap nutzen möchte:
Wir ihr seht einfach nur 2 Zahlen addieren.
Die Klasse wird natürlich noch von einer anderen gestartet und an eine Adresse gebunden.
Ich habe auch ein dazu zugehörigen Java-Client, der bestens diesen "Dienst" nutzen kann.
Jetzt möchte ich das ganze auch gerne mit PHP(5) nutzen. PHP (durch XAMPP) funktioniert auch bestens. Leider aber nicht meine Funktion:
Hierbei funktioniert prinzipiell der Aufruf nicht. Zwar kann ich unter der angegeben URL mein WSDL-File einwandfrei sehen (wird von der Java-Rundtiem bei Anfrage selbst generiert) aber PHP bekommt einfach in den meisten Fällen (ca97%) die WSDL-Datei nicht geladen. Das komische ist, das es auch manchmal, ohne irgend welche Veränderungen mal geht!
Die DNS-Auflösung schein PHP gar nicht zu verkraften. Wenn ich aus 127.0.0.1 localhost amche läuft er in ein komplettes Timeout.
Was kann das sein?
Als Fehlermeldung bekomme ich am Server:
java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen
Die Fehlermeldung vom Client ist folgende:
SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://127.0.0.1:7777/calculator?wsdl' in ... :12 Stack trace: #0 ... (12): SoapClient->SoapClient('http://127.0.0....') #1 {main}
Firewall und ähnliches kann ich ausschließen.
Wäre super, wenn mir jemand weiterhelfen könnte.
Gruß
meinereiner85
ich habe ein Problem bei PHP in Verbindung mit SOAP:
Ich habe ein kleines Java-Programm was ich gerne über Soap nutzen möchte:
Code:
@WebService(targetNamespace = "http://my.org/ns/")
@SOAPBinding(style = Style.RPC)
public class Calculator {
public long addValues(int val1, int val2) {
return val1 + val2;
}
}
Wir ihr seht einfach nur 2 Zahlen addieren.
Die Klasse wird natürlich noch von einer anderen gestartet und an eine Adresse gebunden.
Ich habe auch ein dazu zugehörigen Java-Client, der bestens diesen "Dienst" nutzen kann.
Jetzt möchte ich das ganze auch gerne mit PHP(5) nutzen. PHP (durch XAMPP) funktioniert auch bestens. Leider aber nicht meine Funktion:
Code:
<?php
echo "Hello SoapPhpTest <br/>";
try {
$client = new SoapClient("http://127.0.0.1:7777/calculator?wsdl");
echo("\nReturning valueof addValue(arg0, arg1): ".
$client->addValues(5, 2));
}
catch (Exception $e) {
echo 'Error Caught: '.$e;
}
?>
Hierbei funktioniert prinzipiell der Aufruf nicht. Zwar kann ich unter der angegeben URL mein WSDL-File einwandfrei sehen (wird von der Java-Rundtiem bei Anfrage selbst generiert) aber PHP bekommt einfach in den meisten Fällen (ca97%) die WSDL-Datei nicht geladen. Das komische ist, das es auch manchmal, ohne irgend welche Veränderungen mal geht!
Die DNS-Auflösung schein PHP gar nicht zu verkraften. Wenn ich aus 127.0.0.1 localhost amche läuft er in ein komplettes Timeout.
Was kann das sein?
Als Fehlermeldung bekomme ich am Server:
java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen
Die Fehlermeldung vom Client ist folgende:
SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://127.0.0.1:7777/calculator?wsdl' in ... :12 Stack trace: #0 ... (12): SoapClient->SoapClient('http://127.0.0....') #1 {main}
Firewall und ähnliches kann ich ausschließen.
Wäre super, wenn mir jemand weiterhelfen könnte.
Gruß
meinereiner85