Bonjour

J'ai fait un petit programme pour appeler un web service (fournit par un prestataire)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$client = new SoapClient ("http://ws.oceansystem.com/prestataireWebService.php?wsdl");
$result = $client->getKMorH('XXX','XXX','AA-XXX-AA');
print_r($result);
Tous fonctionne bien, j'ai le résultat
Array ( [0] => stdClass Object ( [IDENTIFIANT_VEHICULE] => 999[LIBELLE_VEHICULE] => AA-XXX-AA[KM_OU_HORAMETRE] => 40006 [UNITE] => K ) )
Ce que je voudrais faire c'est créer un web service en php qui appelle le web service de mon prestataire.
j'ai trouver un exemple pour créer un web service en php et que j'ai modifier pour ap:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
//Adresse à utiliser dans Visual Studio http://127.0.0.1/ws/index.php?wsdl
 
/**********************************
*           INCLUDES              *
**********************************/
require_once('lib/nusoap.php');
 
/**********************************
*            NUSOAP               *
**********************************/
$namespace = "127.0.0.1/ws/";
$server = new soap_server(); 						//creation du serveur SOAP
$server->configureWSDL("SimpleService"); 			//Configuration du WSDL
$server->wsdl->schemaTargetNamespace = $namespace;	//Configuration du namespace
 
/**********************************
*    NUSOAP FONCTION SIMPLE       *
**********************************/
//On définit la fonction simple
function FonctionSimple($who) {
	//return "Hello $who";
	$client = new SoapClient ("http://ws.oceansystem.com/prestataireWebService.php?wsdl");
	$result = $client->getKMorH('xxx','xxx','AA-XXX-AA');
	return $result;
}
 
//On enregistre la méthode simple sur le serveur SOAP
$server->register(
	// method name:
	'FonctionSimple', 		 
	// parameter list:
	array('name'=>'xsd:string'), 
	// return value(s):
	array('return'=>'xsd:string'),
	// namespace:
	$namespace,
	// soapaction: (use default)
	false,
	// style: rpc or document
	'document',
	// use: encoded or literal
	'literal',
	// description: documentation for the method
	'A simple Hello World web method');
 
 
 
// Get our posted data if the service is being consumed
// otherwise leave this data blank.                
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) 
                ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
 
// pass our posted data (or nothing) to the soap service                    
$server->service($POST_DATA);                
exit();
 
?>

Lorsque j'appelle mon web service,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$client = new SoapClient ("http://localhost/WebServices/webservices.php?wsdl");
$result = $client->FonctionSimple("xxx");
voici le résultat que j'obtiens...
Array
Je ne comprends pas pourquoi je n'obtiens pas la même chose que lorsque j'appelle directement le web service du prestataire

Si vous pouvez m'aider...là je ne sais plus quoi faire..;

Merci