Téléchargement des produits


Version anglaise


 

La consommation des services Web peut être paramétrée à l'aide d'un fichier XML. Par défaut, ce fichier est le fichier CfgWebServices.xml. Il est possible de choisir un autre fichier à l'aide de la fonction VaToolBxSetWebServiceConfigFile de la VaToolBx.

Le fichier XML de configuration doit être bien formé et valide au regard du schéma XML cfgWebServices.xsd.


Le fichier de configuration définit trois portées :

  • Une portée globale : informations applicables à l'ensemble des services Web.
  • Une portée service : informations applicables au seul service Web dont le nom est précisé dans l'élément <AdeliaName>.
  • Une portée opération : informations applicables à la seule opération dont le nom est précisé dans l'élément <Name> du service Web dont le nom est précisé dans l'élément <AdeliaName>.


Remarques :

    • Si deux paramètres identiques sont utilisés dans des portées différentes, le paramètre de portée la plus restreinte est prioritaire. Par exemple, un paramètre de portée 'Service' est prioritaire sur paramètre de même nom de portée 'Globale'.
    • Un paramètre fixé à l'aide d'un ordre Adélia est toujours prioritaire sur celui défini dans le fichier de configuration. Par exemple, les informations renseignées par la directive *CONNEXION de l'ordre SW_APPELER sont prioritaires sur les éléments <Transport><HttpAuth>.


Définitions des paramètres et de leurs portées

Portée

Valeur

Abréviation

Nom de l'élément correspondant

Globale

G

<Configuration><Global>

Service

S

<Configuration><Service>

Opération

O

<Configuration><Service><Operation>


Type

B[Booléen] | C[Chaîne] | N[Numérique]


Nom paramètre

Portée

Type

Description

<JustThisFile>

G

B

Indique si le fichier de configuration présent est le fichier unique de configuration [défaut = true].

Si JustThisFile a la valeur "false", alors si aucun point d'accès n'est défini pour le service Web à exécuter, la recherche s'étend à l'ancien fichier de configuration nommé CfgWebServices.ini (contexte C/Windows) ou CfgWebServices.properties (contexte Java).

<Transport><MaxConnectionPerHost>

G

N

Contexte Java : fixe le nombre maximal de connexions HTTP simultanées pour un même point d'accès [par défaut=2].

Pour la consommation d'un service web depuis une application web, il faut adapter cette valeur au nombre de requêtes simultanées potentielles.

Remarque : une connexion HTTP est libérée lors de l'exécution de l'ordre Adélia SW_LIBERER_RES.

<Transport><MaxTotalConnection>

G

N

ContexteJava : Fixe le nombre maximal total de connexions HTTP simultanées [par défaut=10].

Pour la consommation d'un service web depuis une application web, il faut adapter cette valeur au nombre de requêtes simultanées potentielles.

Remarque : une connexion HTTP est libérée lors de l'exécution de l'ordre Adélia SW_LIBERER_RES.

<AdeliaName>

S

C

Nom Adélia du service Web pour lequel s'applique les éléments de configuration de l'élément <Service>.

<Epr>

S

C

Point d'accès du service Web. Permet de remplacer le point d'accès figé lors de la génération.

<Encoding>

GS

C

Encodage des caractères du message SOAP envoyé au service. [défaut ='UTF-8'].

<ForceMtom>

GS

B

Permet d'activer l'optimisation MTOM pour les éléments binaires. [défaut = false].

<DatetimeSerWithZulu>

GS

B

Permet d'activer la sérialisation du type TIMESTAMP avec la prise en compte du fuseau horaire et de l'heure d'été. [défaut = false].

<NbMaxSessions>

GS

N

Permet de définir le nombre maximum de requêtes actives (simultanées) adressées à un service. [défaut = 10].

<Session><Management>

GS

B

Activation du suivi de session.

Remarque : Pour que le suivi de session soit opérationnel le service Web doit être configuré/implémenté en conséquence.

<Session><SessionId>

GS

C

Pour un suivi de session de portée "transport " permet de fixer un nom d'id de session différent de JSESSIONID.

<Transport><Protocol>

GS

C

Version du protocole HTTP (défaut : "HTTP/1.1")

Autre valeur possible : "HTTP/1.0".

<Transport><HTTP1.1><Chunked>

GS

C

Activation du mode Chunked (pour HTTP1/1) [défaut = true].

<Transport><SSLCertificate><ServerCertFile>

GS

C

[SSL; client C/Windows] Fichier .pem contenant le certificat pour authentifier le serveur.

Ce fichier doit être précisé uniquement si la connexion SSL ne peut pas être établie automatiquement à l'aide du paquet de certificats CA %adeliws%/certifs/cacert.pem.

Remarque : il est également possible en cas d'échec de la connexion SSL de fixer l'élément <ServerCertAuto>true</ServerCertAuto> de façon à récupérer automatiquement à partir du serveur cible un certificat permettant d'assurer cette connexion (à utiliser notamment dans le cas de certificat auto-signé).

<Transport><SSLCertificate><KeyFile>

GS

C

[SSL; client C/Windows] Fichier .pem contenant le certificat et la clé privée nécessaires à l'authentification du client par le serveur.

<Transport><SSLCertificate><Passphrase>

GS

C

[SSL; client C/Windows] Mot de passe (Passphrase) utilisé pour chiffrer la clé privée. Ce mot de passe peut apparaître en clair ou chiffré dans le fichier de configuration.

<Transport><SSLCertificate><TruststoreName>

GS

C

[SSL; client Java] Nom du truststore java ou d'un fichier .pem nécessaire à l'authentification du serveur.

Ce truststore doit être précisé uniquement si la connexion SSL ne peut pas être établie automatiquement à l'aide du paquet de certificats CA %java_home%/jre/lib/security/cacerts.

Remarque : il est également possible en cas d'échec de la connexion SSL de fixer l'élément <ServerCertAuto>true</ServerCertAuto> de façon à récupérer automatiquement à partir du serveur cible un certificat permettant d'assurer cette connexion (à utiliser notamment dans le cas de certificat auto-signé).

<Transport><SSLCertificate><TruststorePwd>

GS

C

[SSL; client Java] Mot de passe du truststore java. Ce mot de passe peut apparaître en clair ou chiffré dans le fichier de configuration.

<Transport><SSLCertificate><KeystoreName>

GS

C

[SSL; client Java] Nom du keystore java nécessaire à l'authentification du client par le serveur.

<Transport><SSLCertificate><KeystorePwd>

GS

C

[SSL; client Java] Mot de passe du keystore java. Ce mot de passe peut apparaître en clair ou chiffré dans le fichier de configuration.

Important : l'implémentation impose d'utiliser le même mot de passe pour protéger le keystore et la clé privée.

<Transport><SSLCertificate><ServerCertAuto>

GS

C

Fixé à true, cet élément permet dans le cas d'un échec de connexion SSL à partir du paquet de certificats CA de forcer la récupération d'un certificat depuis le serveur cible permettant d'assurer la connexion SSL (à utiliser notamment dans le cas de certificat auto-signé).

<Transport><Timeout>

GS

N

Timeout de la couche transport [en millisecondes ; défaut:60000].

Si le service ne répond pas dans cette limite de temps, alors une erreur est déclenchée.

<Transport><HttpAuth><AuthMode>

GS

C

Mode de l'authentification HTTP :

AUTO | BASIC | DIGEST | NTLM
Un mode doit être précisé pour forcer l'authentification.

<Transport><HttpAuth><Credentials><Usr>

GS

C

Nom de l'utilisateur pour l'authentification HTTP.

<Transport><HttpAuth><Credentials><Pwd>

GS

C

Mot de passe pour l'authentification HTTP. Ce mot de passe peut apparaître en clair ou chiffré dans le fichier de configuration.

<Transport><HttpAuth><Credentials><Domain>

GS

C

Nom du domaine pour l'authentification de type NTLM.

<Transport><Proxy><Host>

GS

C

Nom de l'hôte pour la connexion via un proxy.

<Transport><Proxy><Port>

GS

N

Port pour la connexion via un proxy.

<Transport><Proxy><AuthMode>

GS

C

Mode de l'authentification HTTP :

AUTO | BASIC | DIGEST | NTLM
Un mode doit être précisé pour forcer l'authentification.

<Transport><Proxy><Credentials><Usr>

GS

C

Nom de l'utilisateur pour la connexion via un proxy [laisser à blanc pour une connexion anonyme].

<Transport><Proxy><Credentials><Pwd>

GS

C

Mot de passe pour la connexion via un proxy [laisser à blanc pour une connexion anonyme]. Ce mot de passe peut apparaître en clair ou chiffré dans le fichier de configuration.

<Transport><UseAsyncDualChannel>

GS

B

Activation d'un double canal de communication pour les appels asynchrones. [défaut = false].

<Transport><ReceiverPort>

GS

N

Port d'écoute du "TransportReceiver" client utilisé dans le cas d'une communication asynchrone double canal.

<Module><Name>

GS

C

Nom du module à engager.

Exemple : "addressing", "rampart".

<Module><Description><PolicyFile>

GS

C

Nom du fichier police à associer au module de nom <Name>.

<Module><Description><Property><Name>

GS

C

Nom de la propriété à fixer pour le module de nom <Name>.

<Module><Description><Property><Type>

GS

C

Type de la propriété de nom <Name> : "string" | "int" | "bool" | "xml"

<Module><Description><Property><Value>

GS

C

Valeur de la propriété de nom <Name>. La valeur doit être cohérente au regard du type fixé.

<Timeout>

O

N

Timeout de la couche transport [en millisecondes ; défaut:60000].

Si le service ne répond pas dans cette limite de temps, alors une erreur est déclenchée.

<SoapAction>

O

C

Utilisation d'un SoapAction différent de celui du nom de l'opération figé lors de la génération.


Remarques :

  • Tous les paramètres qui sont des mots de passe doivent être décomposés de la façon suivante :

<Encrypted> B true = mot de passe chiffré.false = mot de passe en clair.
<Password> C Mot de passe chiffré ou en clair.Pour chiffrer un mot de passe, il faut utiliser la fonction de la VaToolBx nommée VaToolBxEncryptAdeliaPassword avec comme clé de chiffrage le nom de l'élément auquel se rapporte le mot de passe.Par exemple, pour chiffrer le mot de passe lié à l'élément TruststorePwd, il faut utiliser comme clé de chiffrage la valeur de l'élément TruststoreName.

    • Le paramétrage présenté ci-dessus ne s'applique pas à la consommation en mode "paramètre" d'un service Web SOAP RPC/Encoded, à l'exception des paramètres <JustThisFile>, <AdeliaName> et <Epr>.


Exemple 1 :
 

<?xml version="1.0"?>

<Configuration>

   <Global>

      <JustThisFile>false</JustThisFile>

   </Global>

   <Service>

      <AdeliaName>AX2_DOL</AdeliaName>

      <Epr>http://vmwas7:8080/axis2/services/AX2_DOL</Epr>

   </Service>

<Service>

      <AdeliaName>AX2_DOW</AdeliaName>

      <Transport><Proxy><Host>monproxy.com</Host><Port>80</Port></Proxy></Transport>

</Service>

</Configuration>


Ce fichier de configuration indique que :

- l'ancien fichier de configuration CfgWebServices.ini (ou CfgWebServices.properties dans un contexte Java) doit être consulté si, pour le service Web à exécuter, aucun point d'accès n'est défini (<Epr>).

- le service de nom AX2_DOL est accessible via l'URL http://vmwas7:8080/axis2/services/AX2_DOL

- la connexion au service de nom AX2_DOW se fait via le proxy monproxy.com:80


Exemple 2 :
 

<?xml version="1.0"?>

<Configuration>

   <Service>

      <AdeliaName>AX2_DOLS</AdeliaName>

      <Epr>https://vmwas7:8443/axis2/services/AX2_DOLS</Epr>

      <Transport>

         <SSLCertificate>

            <ServerCertFile>c:\certifs\svca.pem</ServerCertFile>

            <TruststoreName>c:/certifs/java/keystore.jks</TruststoreName>

            <TruststorePwd>

               <Encrypted>false</Encrypted>

               <Password>changeit</Password>

            </TruststorePwd>

         </SSLCertificate>

      </Transport>

   </Service>

</Configuration>


Ce fichier de configuration donne des informations nécessaires à une connexion sécurisée (SSL; authentification serveur) pour un contexte C/Windows et Java.

Remarques :

- Dans un contexte C/Windows les séparateurs de répertoires sont un antislash [\].

- Dans un contexte Java les séparateurs de répertoires sont un slash [/]


Exemple 3 :

<!-- Modification du timeout ; portée globale -
->
<?xml version="1.0"?>
<Configuration>
   <Global>
      <Transport>
         <Timeout>30000</Timeout>
      </Transport>
   </Global>
</Configuration>


<!-- Modification du timeout ; portée service -->
<?xml version="1.0"?>
<Configuration>
   <Service>
      <AdeliaName>AX2_DOLS</AdeliaName>
      <Epr>https://vmwas7:8443/axis2/services/AX2_DOLS</Epr>
      <Transport>
         <Timeout>30000</Timeout>
      </Transport>
   </Service>
</Configuration>

<!-- Modification du timeout ; portée opération -
->
<?xml version="1.0"?>
<Configuration>
   <Service>
      <AdeliaName>AX2_DOLS</AdeliaName>
      <Epr>https://vmwas7:8443/axis2/services/AX2_DOLS</Epr>
      <Operation>
         <Name>OPER_1</Name>
         <Timeout>30000</Timeout>
      </Operation>
   </Service>
</Configuration>






↑ Haut de page