Page 1 sur 1

Probleme avec l'implementation d'un client SOAP (lib PHP)

Posté : 24 oct. 2010, 15:02
par moncler
Bonjour a tous,

On m a fournit un fichier WSDL pour implementer un client soap.
Etant novice sur l'utilisation de soap, y a til une methode "propre" afin de respecter le format demander ou faut il lire directement les methodes a implementer dans le fichier?

Ensuite, a priori sur le fichier il faut redefinir le soap:adress location

Code : Tout sélectionner

<service name="MMIE"> <documentation>MMIE Quantities Web Service</documentation> <port name="MMIE" binding="tns:MMIESoapBinding"> <!-- URL à récuperer sur votre administration --> <soap:address location="https://site.fr/ws/XXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/> </port> </service>
probleme, je vois pas comment le redefinir, le fichier wdsl n'étant pas modifiable.

Malgré tout j ai tenté un client soap:
	ini_set('soap.wsdl_cache_enabled', 0);

	// Nouveau Client SOAP
	try {
		// Nouvelle instance de la classe soapClient
		$url= ;
		$client = new SoapClient($_POST['soap_url'], array('trace' => 1));
		try{
			outTab($client->__getFunctions());
			$oReturn =  $client -> __soapCall('setQuantity', array('referenceId' =>'12530','referenceQuantity'=>0));
		} catch (SoapFault $fault) {
			outTab("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
		}
		// affiche le résultat
		outTab($oReturn);
	} catch (SoapFault $fault) {
		out( 'erreur : '.$fault);
	}
Voici les methodes retourner par getFunctions:

Code : Tout sélectionner

UNKNOWN setQuantity(UNKNOWN $referenceId, UNKNOWN $referenceQuantity) UNKNOWN setPrice(UNKNOWN $referenceId, UNKNOWN $referencePrice)
Quand a la requete demandé j'ai l'erreur suivante:

Code : Tout sélectionner

SOAP Fault: (faultcode: HTTP, faultstring: Method Not Allowed)
Une idée?
Si vous avez des tuto sur l'utilisation de soap et ou la gestion des erreurs je suis également preneur.

Merci ;)