ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
4794
4794
EMPFEHLEN
-
Hallo!
Bin ziemlich neu auf diesem Gebiet & wollte mal fragen wie ich einen Webservice aus einer php datei aufgerufen bekomme. Bin am verzweifeln.
Fehler :PHP-Code:try
{
$client = new SoapClient(NULL,
array("location" => "http://mbox.sycada.com/mbox/Services/Authentication.asmx",
"uri" => "urn:Authenticate",
"style" => SOAP_RPC,
"use" => SOAP_ENCODED));
//$client->Authenticate("test", "test");
print($client->__soapCall("Authenticate",
array(new SoapParam("test", "test")),
array("uri" => "urn:Authenticate",
"soapaction" => "urn:Authenticate")));
}
catch (SoapFault $e)
{
print($e);
}
Das ist ein bestehender Webservice, also kein selbst erstellter. Also aus c# +vs2005 ist das kein Problem. Ich muß mich erst authentifizieren bevor ich die Methoden nutzen kann. So und das wollte ich nun von php aus machen.Also erstmal authentifizieren. Aber da kommt leider die Fehlermeldung.Wer kann helfen?PHP-Code:SoapFault exception: [soap:Client] Server did not recognize the value of HTTP Header SOAPAction: urn:Authenticate. in C:Programmexampxampphtdocslogbookserviceindex.php:48 Stack trace: #0 C:\Programme\xamp\xampp\htdocs\logbook\service\index.php(48): SoapClient->__soapCall('Authenticate', Array, Array) #1 {main}
MfG RonnsenGeändert von Ronn (20.07.07 um 13:13 Uhr)
Wer Wind sät wird Sturm ernten!
-
Da der Server den WSDL Modus unterstützt, verwende ihn doch auch, dann geht das alles noch einfacher:
PS: wenn das da oben dein Passwort ist im Kommentar, würd ich es noch rausnehmenPHP-Code:<?
$client = new SoapClient('http://mbox.sycada.com/mbox/Services/Authentication.asmx?WSDL');
$result = $client->Authenticate("asdasd", "asdasd");
echo $result->User->ID;
echo $result->User->CompanyDataID;
?>Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
-
Hallo engelb,
soweit so gut. Aber leider scheint man sich dort nicht anmelden zu können. Weil das $result
ist immer -1. Das heißt soviel wie...nicht angemeldet.
Was kann da noch falsch sein?
MfGWer Wind sät wird Sturm ernten!
-
Ist das eventuell ein Sicherheitsproblem? Oder ne Einstellung im Apache?
MfGWer Wind sät wird Sturm ernten!
-
Hab noch in einem anderen Forum nach Antworten gesucht.
http://www.pear-forum.de/ftopic1876.html
Bin leider zu keinem Ergegnis gekommen. Help!Wer Wind sät wird Sturm ernten!
-
Es muss so aber funktionieren:
Die Fehlermeldung kommt daher das du das hier hast:PHP-Code:<?
$client = new SoapClient('http://mbox.sycada.com/mbox/Services/Authentication.asmx?WSDL');
print_r($client->__getFunctions());
echo "\n";
print_r($client->__getTypes());
echo "\n";
$auth = array('testuser','testpass');
$response = $client->Authenticate($auth);
/**
* $response->User->ID
* $response->User->CompanyDataID
*
* es sollte noch geben aber beim test nicht vorhanden:
* $response->User->Name
* $response->User->CompanyName
*/
?>
aber im WSDL steht das es so aussehen müsste:PHP-Code:$client = new SoapClient(NULL,
array("location" => "http://mbox.sycada.com/mbox/Services/Authentication.asmx",
"uri" => "urn:Authenticate",
"style" => SOAP_RPC,
"use" => SOAP_ENCODED));
Da das File aber vorliegt würde ich einfach den WSDL Modus verwenden, ist eh einfacher.PHP-Code:$client = new SoapClient(NULL,
array("location" => "http://mbox.sycada.com/mbox/Services/Authentication.asmx",
"uri" => "urn:Authenticate",
"style" => SOAP_DOCUMENT,
"use" => SOAP_LITERAL));
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
-
Hallo engelb
leider funktioniert schon die Anmeldung nicht. Da kommt immer -1 zurück.Das geht ja wenigstens noch in Soap, wenn auch nicht viel mehr. Ich poste mal was ich probiert habe.
MfGPHP-Code://1.
$client = new SoapClient('http://www/mbox/Services/Authentication.asmx?WSDL');
print_r($client->__getFunctions());
echo "<br><br><br>";
print_r($client->__getTypes());
echo "<br><br><br>";
$auth = array('testbenutzer','testpass');
$response = $client->Authenticate($auth);
print_r($response);
//2.
$client = new SoapClient(NULL,array("location" => "http://www/mbox/Services/Authentication.asmx",
"uri" => "urn:Authenticate",
"style" => SOAP_DOCUMENT,
"use" => SOAP_LITERAL));
$response = $client->Authenticate('testbenutzer','testpass');
print_r($response);
Wer Wind sät wird Sturm ernten!
-
Hallo,
hat nicht irgend jemand noch eine Idee wie sowas funktionieren könnte?
Wäre sehr wichtig für mich. Hab nirgendwo was alternatives gefunden.
MfGWer Wind sät wird Sturm ernten!
Ähnliche Themen
-
C# Webservice unter PHP aufrufen
Von saschagoetz im Forum PHPAntworten: 0Letzter Beitrag: 10.01.08, 09:12 -
.NET Webservice in PHP aufrufen
Von c_csiebert im Forum PHPAntworten: 1Letzter Beitrag: 16.06.07, 18:57 -
Webservice aus dem WTK 2.3 aufrufen
Von kroesi im Forum JavaAntworten: 5Letzter Beitrag: 07.11.06, 18:44 -
Axis Webservice von javascript aus aufrufen
Von cFuchs im Forum JavaAntworten: 1Letzter Beitrag: 12.04.06, 10:36 -
Webservice mit C++ aufrufen
Von BugsBastard im Forum C/C++Antworten: 1Letzter Beitrag: 04.03.04, 10:27





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren