Souvent, les programmeurs non orientés objet rencontrent des défis lors de l'intégration de la fonctionnalité SOAP dans leurs scripts PHP. Bien qu'ils disposent d'un fichier WSDL, ils peuvent avoir du mal à trouver la syntaxe correcte pour appeler des appels SOAP.
Pour interagir avec un service SOAP en tant que client, vous pouvez utiliser la classe SoapClient . Commencez par créer une instance de SoapClient avec l'URL du fichier WSDL :
$client = new SoapClient("http://example.com/webservices?wsdl");
Pour récupérer des informations sur les fonctions et les types disponibles, utilisez :
var_dump($client->__getFunctions()); var_dump($client->__getTypes());
Maintenant, concentrons-nous sur la construction de l'appel SOAP lui-même. Supposons que vous souhaitiez appeler la fonction « Fonction 1 » avec les données suivantes :
Le document WSDL indique que Contact est un type complexe avec deux propriétés : id et name.
Pour effectuer l'appel SOAP avec les données souhaitées, vous devrez utiliser la syntaxe suivante :
$params = array( "Contact" => new Contact(100, "John"), "description" => "Barrel of Oil", "amount" => 500, ); $response = $client->__soapCall("Function1", array($params));
Ce code crée une nouvelle instance de la classe Contact avec l'ID et le nom spécifiés. Il assemble ensuite les paramètres de la requête dans le tableau $params et appelle l'appel SOAP à l'aide de __soapCall.
La réponse du service SOAP sera stockée dans la variable $response. Vous pouvez consulter la réponse pour obtenir les résultats de l'appel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!