Position actuelle: Accueil> Derniers articles> Détails SOAP PHP: Guide de l'utilisation du serveur SoapServer et du client SOAPCLIENT

Détails SOAP PHP: Guide de l'utilisation du serveur SoapServer et du client SOAPCLIENT

gitbox 2025-07-31

Aperçu

SOAP (Simple Object Access Protocol) est un protocole utilisé pour échanger des informations structurées entre différents systèmes. PHP fournit deux classes: SOAPSERVER et SOAPCLIENT, qui facilite les développeurs à publier et à appeler SOAP Services.

Utilisation de SOAPSERVER

Créer SOAPSERVER

Pour fournir des services SOAP, vous devez d'abord créer une instance de serveur SOAP. Vous pouvez personnaliser la classe de service en héritant de la classe SOAPSERVER. L'exemple est le suivant:

 class MySoapServer extends SoapServer {
   // Définir les méthodes de service
   public function myServiceMethod() {
      // Implémentez la logique de service
   }
}
// créerSoapServerExemple
$server = new MySoapServer('service.wsdl');

Dans le code ci-dessus, la classe MySoapServer est définie et héritée de SoapServer, et la méthode de service MyserviceMethod est implémentée en interne. Passez le chemin de fichier WSDL lors de la création d'une instance.

Ajouter une méthode de service

Après avoir créé une instance de serveur SOAP, vous pouvez utiliser la méthode AddFunction pour ajouter une méthode de service, par exemple:

 // Ajouter une méthode de service
$server->addFunction('myServiceMethod');

De cette façon, MyServiceMethod peut être utilisé comme une méthode de service de savon appelable.

Démarrer le serveur

Enfin, démarrez le serveur SOAP en appelant la méthode Handle et écoutez les demandes du client:

 // Démarrer le serveur
$server->handle();

La méthode de manche traitera la demande SOAP reçue et appellera la méthode de service correspondante.

Utilisation de SoapClient

Créer un soapclient

Lorsque le client appelle le service SOAP, il est nécessaire de créer d'abord une instance SOAPClient. L'exemple est le suivant:

 // créerSoapClientExemple
$client = new SoapClient('service.wsdl');

Le passage du chemin WSDL peut créer un client de savon.

Appeler des méthodes de service

Après avoir créé une instance client, vous pouvez appeler la méthode de service SOAP et passer les paramètres:

 // Appeler des méthodes de service
$response = $client->myServiceMethod($params);

Appelez la méthode MyServiceMethod et passez dans les paramètres du paramètre, et le résultat de retour est stocké dans $ Response.

Gestion des erreurs de savon

Une exception peut se produire lors de l'utilisation du savon. Vous pouvez attraper des exceptions SOAPFault via un coup d'essai pour la gestion des erreurs, comme indiqué ci-dessous:

 try {
   // Appeler des méthodes de service
   $response = $client->myServiceMethod($params);
} catch (SoapFault $e) {
   // Gestion des erreurs
   echo "SOAPerreur:" . $e->getMessage();
}

Cela peut gracieusement capturer et gérer les erreurs dans les appels de savon, améliorer la robustesse du programme.

Résumer

Cet article présente comment utiliser le protocole SOAP pour implémenter les fonctions du serveur et du client dans PHP. Grâce à SoapServer, vous pouvez rapidement créer des services SOAP et utiliser SoapClient pour appeler facilement l'interface de service. En coopération avec le mécanisme de capture des erreurs, il peut efficacement gérer des situations anormales pendant le processus d'appel et aider les développeurs à créer des applications SOAP stables.