PHP: problème d'authentification NTLM
Fermé
ElSegador
Messages postés
4
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
28 novembre 2008
-
28 oct. 2008 à 13:03
ElSegador Messages postés 4 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 28 novembre 2008 - 28 oct. 2008 à 17:34
ElSegador Messages postés 4 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 28 novembre 2008 - 28 oct. 2008 à 17:34
A voir également:
- PHP: problème d'authentification NTLM
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Echo image php ✓ - Forum PHP
- Br php ✓ - Forum PHP
1 réponse
ElSegador
Messages postés
4
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
28 novembre 2008
28 oct. 2008 à 17:34
28 oct. 2008 à 17:34
En fait, j'ai fait quelques changements pour simplifier ma structure et pas refaire x fois la même chose. En gros j'ai démélé les noeuds mais ça ne fonctionne toujours pas.
Pour faire simple donc, j'ai 3 fichiers principaux:
- client.php
- serveur.php
- createheader.php
Et un fichier fichier.wsdl aussi.
Donc dans mon server.php, j'arrive bien à instancier mon serveur soap, sans soucis. Et mes clients C# tourne toujours comme il faut avec le nouvel arrangement.
Le code du server.php est trop long pour que je le mette ici en entier, voici une petite partie:
$server = new SoapServer('fichier.wsdl',
array(
'uri' => 'http://qawebservice.ubisoft.org/Server.php',
'trace' => 1,
'soap_version' => SOAP_1_1
)
);
// On définit la classe qui va gérer les requètes SOAP
$server->setclass('myWebService');
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
// La méthode POST a été utilisée pour appeller cette page.
// On suppose donc qu'une requète a été envoyée, on la gère
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
session_name('PSESSION');
error_log($HTTP_RAW_POST_DATA);
//$server->UserAccount=$login;
$server -> handle();
/*
$server->IsAuthenticated=TRUE;
$server->UserAccount=$login;
*/
}
// sinon, on affiche une liste des méthodes que peut gérer ce serveur
else {
echo '<strong>--This SOAP server can handle following functions : </strong>';
echo '<ul>';
foreach($server -> getFunctions() as $func) {
echo '<li>' , $func , '</li>';
echo '<ul>';
echo '<li>';
switch($func)
{
case 'getUsers':
echo "Returns an array of all LyN users";
break;
}
echo '</li>';
echo '</ul>';
}
echo '</ul>';
}
Avant ça, j'ai la définition de la classe myWebService qui contient l'ensemble des fonctions que je peux utiliser.
De même celui de createheader.php.
Pour le client, je ne comprends pas pourquoi ça ne marche pas car je fais la création normalement:
<?php
require_once("CreateHeader.php");
?>
<?php
if($IsLogIn){
try {
echo "IsLogIn:".$IsLogIn."<br/>";
$client = new SoapClient('fichier.wsdl',
array(
'uri' => 'http://qawebservice.ubisoft.org/Server.php',
'trace' => 1,
'soap_version' => SOAP_1_1,
'domain' => "BLIZZARD-ORG"
)
);
// On définit la classe qui va gérer les requètes SOAP
//$client->setclass('myWebService');
//$client->setPersistence(SOAP_PERSISTENCE_SESSION);
foreach($client->__getFunctions() as $func) {
echo '<li>' , $func , '</li>';
}
$client->__soapCall("getP4Benchmark", array());
echo "End ------";
}
catch(SoapFault $e){
printf("Message = %s\n",$e->__toString());
}
}
?>
Pour les params, j'ai essayé avec login/pssword mais c'est pas ça. Le domain, je ne pense pas que ce soit utile.
Et donc l'erreur que j'ai:
Message = SoapFault exception: [HTTP] Unauthorized in C:\Program Files\EasyPHP 2.0b1\www\clientP4.php:26 Stack trace: #0 [internal function]: SoapClient->__doRequest('__soapCall('getP4Benchmark', Array) #2 {main}
Pas d'idée?
Pour faire simple donc, j'ai 3 fichiers principaux:
- client.php
- serveur.php
- createheader.php
Et un fichier fichier.wsdl aussi.
Donc dans mon server.php, j'arrive bien à instancier mon serveur soap, sans soucis. Et mes clients C# tourne toujours comme il faut avec le nouvel arrangement.
Le code du server.php est trop long pour que je le mette ici en entier, voici une petite partie:
$server = new SoapServer('fichier.wsdl',
array(
'uri' => 'http://qawebservice.ubisoft.org/Server.php',
'trace' => 1,
'soap_version' => SOAP_1_1
)
);
// On définit la classe qui va gérer les requètes SOAP
$server->setclass('myWebService');
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
// La méthode POST a été utilisée pour appeller cette page.
// On suppose donc qu'une requète a été envoyée, on la gère
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
session_name('PSESSION');
error_log($HTTP_RAW_POST_DATA);
//$server->UserAccount=$login;
$server -> handle();
/*
$server->IsAuthenticated=TRUE;
$server->UserAccount=$login;
*/
}
// sinon, on affiche une liste des méthodes que peut gérer ce serveur
else {
echo '<strong>--This SOAP server can handle following functions : </strong>';
echo '<ul>';
foreach($server -> getFunctions() as $func) {
echo '<li>' , $func , '</li>';
echo '<ul>';
echo '<li>';
switch($func)
{
case 'getUsers':
echo "Returns an array of all LyN users";
break;
}
echo '</li>';
echo '</ul>';
}
echo '</ul>';
}
Avant ça, j'ai la définition de la classe myWebService qui contient l'ensemble des fonctions que je peux utiliser.
De même celui de createheader.php.
Pour le client, je ne comprends pas pourquoi ça ne marche pas car je fais la création normalement:
<?php
require_once("CreateHeader.php");
?>
<?php
if($IsLogIn){
try {
echo "IsLogIn:".$IsLogIn."<br/>";
$client = new SoapClient('fichier.wsdl',
array(
'uri' => 'http://qawebservice.ubisoft.org/Server.php',
'trace' => 1,
'soap_version' => SOAP_1_1,
'domain' => "BLIZZARD-ORG"
)
);
// On définit la classe qui va gérer les requètes SOAP
//$client->setclass('myWebService');
//$client->setPersistence(SOAP_PERSISTENCE_SESSION);
foreach($client->__getFunctions() as $func) {
echo '<li>' , $func , '</li>';
}
$client->__soapCall("getP4Benchmark", array());
echo "End ------";
}
catch(SoapFault $e){
printf("Message = %s\n",$e->__toString());
}
}
?>
Pour les params, j'ai essayé avec login/pssword mais c'est pas ça. Le domain, je ne pense pas que ce soit utile.
Et donc l'erreur que j'ai:
Message = SoapFault exception: [HTTP] Unauthorized in C:\Program Files\EasyPHP 2.0b1\www\clientP4.php:26 Stack trace: #0 [internal function]: SoapClient->__doRequest('__soapCall('getP4Benchmark', Array) #2 {main}
Pas d'idée?