| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

02-03-2009, 08:43
|
|
petro_0
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
|
|
SOAPClient wie gehts?
Guten Morgen,
ich versuche seit Freitag einen simplen SOAP Call durch zu führen,
aber ich bekomme immer folgenden Fehler:
Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /home/adriang/public_html/env/soap_wsdl.php:31
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://192.168...', 'http://www.nsn....', 1)
#1 /home/adriang/public_html/env/soap_wsdl.php(31): SoapClient->__soapCall('get_subscriber_...', Array, Array)
#2 {main}
thrown in /home/.... on line 31
Ich habe jetzt diverse varianten versucht, aber ich komme nicht mal denn connect hin.
Kollege von mir nutz Phyton;o( Er kommt hin und kann auch abfragen! ALs den Server gibts schonmal.
Liegts viell am SSL /https)? Wie komme ich an dem Zertifikat vorrbei?
Habe die Zugangsdaten natürlich etwas abgeöändert;o)
Was mach ich falsch? Hier mein aktueller Versuch:
PHP-Code:
$client = new SoapClient(null, array(
'location' => "https://188.168.103.289:443/msn-traffic-ws-api/services/TNWS?wsdl",
'uri' => "http://www.msn.com/trafficoldswsapi/"));
$res2 = $client->__soapCall("get_subscriber_MOC",
array('name' => 'A', 'value' => '3101520008'),
array('soapaction' => 'http://www.msn.com/trafficoldswsapi/callQuery',
'uri' => 'http://www.msn.com/trafficolfswsapi'));
if ($res2<0) {
$result = "ERROR: ".errmsg($res2);
} else {
$result = "OK :".$res2;
}
print_r($result);
Danke!
__________________
gruss pedro
Geändert von petro_0 (02-03-2009 um 09:51 Uhr)
|

02-03-2009, 13:00
|
|
ArSeN
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
|
|
Re: SOAPClient wie gehts?
Zitat:
Original geschrieben von petro_0
Kollege von mir nutz Phyton;o( Er kommt hin und kann auch abfragen! ALs den Server gibts schonmal.
|
Achja? Also ich kann versuchen https://188.168.103.289:443/msn-traffic-ws-api/services/TNWS?wsdl auf welchem Weg ich auch will zu erreichen, ohne SSL, mit anderem Port, nur Standard-Ping, der Antwortet kein Stück... scheint mir garnicht so als würde es den geben.
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
|

02-03-2009, 13:07
|
|
petro_0
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
|
|
ja ich hab ja auch extra geschrieben, dass ich die server daten verfälscht habe!
Es geht mir um den code, ob denn dieser richtig oder falsch ist.
__________________
gruss pedro
|

02-03-2009, 13:28
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Hast du denn irgendwas für SSL-Zugang im PHP installiert, zum Beispiel OpenSSL? Kommst du mit file_get_contents an die Seite?
|

02-03-2009, 13:58
|
|
ArSeN
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
|
|
Zitat:
Original geschrieben von petro_0
ja ich hab ja auch extra geschrieben, dass ich die server daten verfälscht habe!
|
Du hast was von Zugangsdaten geschrieben. Sorry aber mir war neu dass ne URL plötzlich Zugangsdaten sind... zumindest eine in dem Format wie du sie da hast.
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
|

02-03-2009, 14:28
|
|
petro_0
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
|
|
per wget komm ich auf die seite.
__________________
gruss pedro
|

02-03-2009, 18:09
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
|
per wget komm ich auf die seite.
|
Ja, und mit PHP?
|

03-03-2009, 10:46
|
|
petro_0
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
|
|
Update
ja per php eben nich;o)
aber ich bin schon weiter1
Nun hab ich folgendes versucht;o)
PHP-Code:
try {
$client = new SoapClient(NULL,
array(
"location" => "https://188.168.303.229:443/msn-traffic-ws-api/services/TNSWS/",
"uri" => "https://188.168.303.229:443/msn-traffic-ws-api/services/TNWS/",
echo "getFunctions:\n" . print_r($client->__getFunctions()) . "\n";
echo "getTypes:\n" . print_r($client->__getTypes()) . "\n";
echo "\n\n++++++++++++++++++++\n\n";
$res = $client->__call(
/* SOAP Method Name */
"callQuery",
/* Parameters */
array(
"queryName" =>
"get_subscriber_MOC",
/* Parameter Value */
"name"=>
/* Parameter Name */
"A M",
/* Parameter Value */
"value" =>
/* Parameter Name */
"491132"),
/* Options */
array(
/* SOAP Method Namespace */
"uri" => "https://188.168.133.229:443/msn-traffic-ws-api/services/TNWS/",
/* SOAPAction HTTP Header for SOAP Method */
"soapaction" => "https://188.133.103.229:443/msn-traffic-ws-api/services/TNWS/callQuery"
));
if (is_soap_fault($res)) {
trigger_error("SOAP-Fehler: (Fehlernummer: {$res->faultcode}, "
."Fehlermeldung: {$res->faultstring})", E_USER_ERROR);
}
echo "ANFRAGE:\n" . $client->__getLastRequest() . "\n";
echo "ANFRAGEHEADER:\n" . $client->__getLastRequestHeaders() . "\n";
echo "RESPONSE:\n" . $client->__getLastResponse() . "\n";
echo "LastRESPONSEHEADER:\n" . $client->__getLastResponseHeaders () . "\n";
print_r($res);
} catch (SoapFault $exception) {
echo $exception;
}
Nun bekomme ich...
SoapFault exception: [soapenv:Server] org.apache.axis2.databinding.ADBException: Unexpected subelement param0 in /home/adriang/public_html/env/soap_wsdl.php:83
Stack trace:
#0 /home/adriang/public_html/env/soap_wsdl.php(83): SoapClient->__call('callQuery', Array, Array)
#1 {main}
Kann mir einer sagen, wo ich da "param0" falsch habe?
__________________
gruss pedro
|

03-03-2009, 12:55
|
|
ArSeN
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
|
|
Re: Update
Zitat:
Original geschrieben von petro_0
ja per php eben nich;o)
|
Ich glaub du hast die Frage nich richtig verstanden. Hast du bei PHP URL wrapper aktiviert? Wenn ja, kannst du mit fsockopen() oder file_get_contents() auf die Seite zugreifen? Falls nein wird das nämlich kein SOAP-Problem sein. Das wollte PHP-Desaster imho wissen.
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
|

03-03-2009, 13:07
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Jetzt scheint es ja zu klappen, die Fehlermeldung stammt vom SoapServer. Da wird wohl eine falsche Anfrage hingeschickt. Da wirst du wohl debuggen müssen. Mit SoapClient::__getLastRequest bzw. SoapClient::__getLastResponse solltest du an Anfrage und Antwort kommen.
|

03-03-2009, 14:22
|
|
petro_0
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
|
|
Kommt nur die exception zurück...
PHP-Code:
echo "ANFRAGE:\n" . $client->__getLastRequest() . "\n";
echo "ANFRAGEHEADER:\n" . $client->__getLastRequestHeaders() . "\n";
echo "RESPONSE:\n" . $client->__getLastResponse() . "\n";
echo "LastRESPONSEHEADER:\n" . $client->__getLastResponseHeaders () . "\n";
getFunctions:
1
getTypes:
1
Fatal error: Uncaught SoapFault exception: [soapenv:Server] org.apache.axis2.databinding.ADBException: Unexpected subelement param0 in /home//env/soap_wsdl.php:99
Stack trace:
#0 [internal function]: SoapClient->__call('callQuery', Array)
#1 /home//env/soap_wsdl.php(99): SoapClient->callQuery(Array)
#2 {main}
thrown in ...
schade ;o(
__________________
gruss pedro
|

03-03-2009, 23:28
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
|
Kommt nur die exception zurück...
|
Ja, weil du die nicht fängst:
Zitat:
|
Uncaught SoapFault exception
|
. Guck dir doch mal das Exceptionhandling an, dann klappts auch mit dem Debugging.
|

04-03-2009, 07:06
|
|
petro_0
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
|
|
so nun habe ich die exception gefangen.
PHP-Code:
} catch (SoapFault $exception)
{ echo 'Caught exception: ', $exception, "\n";
}
caught exception: SoapFault exception: [soapenv:Server] org.apache.axis2.databinding.ADBException: Unexpected subelement param0 in
/home//public_html/env/soap_wsdl.php:102
Stack trace:
#0 [internal function]: SoapClient->__call('callQuery', Array)
#1 /home//public_html/env/soap_wsdl.php(102): SoapClient->callQuery(Array)
#2 {main}
Schlauer bin ich jetzt nicht;o(
__________________
gruss pedro
|

04-03-2009, 12:45
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Ja und das?
Zitat:
PHP-Code:
echo "ANFRAGE:\n" . $client->__getLastRequest() . "\n";
echo "ANFRAGEHEADER:\n" . $client->__getLastRequestHeaders() . "\n";
echo "RESPONSE:\n" . $client->__getLastResponse() . "\n";
echo "LastRESPONSEHEADER:\n" . $client->__getLastResponseHeaders () . "\n";
|
Denkst du eigentlich mit?
|

04-03-2009, 19:38
|
|
petro_0
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
|
|
ja wie und das?
das kommt im try unter dem $client->__soapCall.
Da kommt aber nix zurück...
Warum??
Das Script läuft gleich auf die Exception...
Hast du eigentlich schonmal die SOAP Funktionen verwendet?
__________________
gruss pedro
Geändert von petro_0 (04-03-2009 um 19:42 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|