---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Exemples de clients de services Web Java Apache Axis2 avancés

# Exemples de clients de services Web Java Apache Axis2 avancés {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes de lecture

Exemples montrant comment construire et utiliser un client Axis2 pour utiliser un ServiceNow service Web.

Axis est essentiellement un moteur SOAP, c'est-à-dire un framework permettant de construire des processeurs SOAP tels que des clients, des serveurs ou des passerelles. La version actuelle d'Axis est écrite en Java. Ce contenu est destiné aux administrateurs système ayant une légère expérience du développement en Java. Pour commencer, vous aurez besoin de Java JDK version 1.4.2 ou supérieure et d'Axis2 version 1.0 ou supérieure.

## Créer un projet Java

Cet exemple utilise la version 3.4.2 du SDK Eclipse pour la gestion du code source et l'exécution de la requête Web. Eclipse n'est pas obligatoire.

* Ouvrez Eclipse et, dans le menu, sélectionnez FichierNouvelleProjetProjet Java.
* Donnez un nom au projet.
* Vérifiez que l'environnement JRE correct est spécifié.
  * Si vous utilisez wsdl2java, exécutez \<\< java -version \>\> sur la ligne de commande et ce sera la version à spécifier pour le JRE spécifique au projet.
  * Si vous utilisez le module d'extension Axis2 Codegen, utilisez JRE par défaut.  
    Figure 1. Projet Java
  {#c_JAAWbSrvcsClntExAdv__ul_yb5_xz3_gp}
{#c_JAAWbSrvcsClntExAdv__ul_gk3_tz3_gp}

## Générez votre code client Axis2

* Depuis une ligne de commande dans le répertoire bin du dossier axis :

      ./wsdl2java.sh -uri https://<instance name>.service-now.com/incident.do?WSDL -o /glide/workspace/TestWebService/

* Dans l'exemple ci-dessus :
  * Le \<\< -uri \>\> est soit le chemin d'accès dans lequel vous avez enregistré une copie du WSDL vers \<\< .wsdl \>\> ou \<\< .xml \>\>, soit l'URL à laquelle le WSDL réside.
  * Le \<\< -o \>\> est le chemin sur lequel vous voulez que les fichiers soient écrits. S'ils ne sont pas spécifiés, les fichiers seront écrits à l'emplacement actuel de la corbeille.
  {#c_JAAWbSrvcsClntExAdv__ul_izj_k1j_gp}
* Dans Eclipse, actualisez le projet et les valeurs Stub et CallbackHandler générées doivent maintenant s'afficherFigure 2. Talon de l'axe
{#c_JAAWbSrvcsClntExAdv__ul_z3y_h1j_gp}

## Authentification de base

    HttpTransportProperties.Authenticator basicAuthentication  = new HttpTransportProperties. Authenticator ( ) ;
    basicAuthentication. setUsername ( "admin" ) ;
    basicAuthentication. setPassword ( "admin" ) ;
    ...
     ServiceNowStub proxy  = new ServiceNowStub ( ) ;
    ...
     
     proxy._getServiceClient ( ). getOptions ( ). setProperty (org. apache. axis2. transport. http. HTTPConstants. AUTHENTICATE, basicAuthentication ) ;

## Compatibilité avec les versions 1.1 et supérieures d'Axis2

La prise en charge du chunking n'est disponible que dans la version HTTP 1.1. Par défaut, la segmentation est activée dans Axis2.xml pour les versions 1.1 et supérieures. ServiceNow ne prend pas en charge le morcellement, vous devrez donc désactiver le fragmentation au moment du déploiement ou de l'exécution.

* Temps de déploiement : Vous pouvez désactiver le chunking HTTP en supprimant ou en commentant l'élément suivant de Axis2.xml

      <parameter name= "Transfer-Encoding" >chunked</parameter>

* Exécution : l'utilisateur peut désactiver la segmentation à l'aide de la propriété suivante définie dans Client ou Stub, versions 1.1.1 et supérieures uniquement

      options.setProperty (org. apache. axis2. transport. http. HTTPConstants. CHUNKED,  Boolean. FALSE ) ;

{#c_JAAWbSrvcsClntExAdv__ul_rcz_t1j_gp}

## Création de packages uniques

Vous pouvez utiliser le paramètre Axis2 namespace2package (ns2p) pour créer des noms de package uniques. Le paramètre utilise le format suivant :

    <Axis path>\bin\wsdl2java.bat -u -p cr2 -ns2p <namespace>=<package name> -uri <wsdl to convert>

Par exemple :

    <Axis path>\bin\wsdl2java.bat -u -p cr2 -ns2p http://www.service-now.com/change_request=my.change_request -uri change_request


