Le connecteur traite les objets métier de niveau supérieur (Top-level objects, TLO), qui sont employés pour le traitement des demandes et le traitement des événements. Les TLO contiennent un objet métier de demande et, le cas, des objets métier de réponse et d'erreur. Ces objets enfants possèdent des données de contenu et, le cas échéant, des MO Protocol Config. Il s'agit également d'objets spécifiques gestionnaires de données ; par exemple, si vous utilisez le gestionnaire de données XML, l'enfant de demande serait un objet métier intelligible pour le gestionnaire de données XML. Les TLO, les objets de demande, de réponse et d'erreur ainsi que les informations, les attributs et les exigences spécifiques à l'application et relatifs au traitement des demandes (par opposition au traitement des événements) sont décrits et illustrés dans les sections ci-après.
Concernant le traitement des événements, les TLO autorisés par le connecteur sont de deux types : les TLO synchrones et les TLO asynchrones. Cette section aborde les TLO de traitement des événements synchrones.
La figure 4 représente la hiérarchie des objets métier pour le traitement des événements synchrones. Les objets de demande et de réponse sont obligatoires, à la différence des objets d'erreur qui sont facultatifs.
Le TLO contient des informations ASI de niveau objet ainsi que des attributs avec des informations ASI de niveau attribut. Les deux types d'ASI sont décrits ci-après.
L'ASI de niveau objet apporte des informations fondamentales sur la nature d'un TLO et sur les objets qu'il contient. La figure 5 représente des informations ASI de niveau objet pour SERVICE_SYNCH_OrderStatus, TLO exemple pour le traitement des événements synchrones.
Le tableau 4 ci-après décrit les informations ASI de niveau supérieur pour un TLO de traitement des événements synchrones.
ASI de niveau objet | Description |
---|---|
ws_eventtlo=true |
Si cette propriété ASI est définie sur true, le connecteur traite cet objet comme un TLO activé pour le traitement des événements. |
ws_collab=collabname |
Cet ASI indique au connecteur quelle collaboration appeler. Sa valeur est le nom de la collaboration. Dans l'exemple représenté dans la figure 5, le nom de la collaboration est SERVICE_SYNCH_OrderStatus_Collab) |
ws_verb=instruction |
Avant de livrer le TLO à la collaboration, le connecteur utilise cet ASI pour définir l'instruction sur le TLO. Dans l'exemple représenté dans la figure 5, l'instruction est Retrieve. |
ws_mode=synch |
Lors de la notification d'événement, le connecteur emploie cette propriété ASI pour déterminer le mode d'appel de la collaboration : synchrone (synch) ou asynchrone (asynch). Pour le traitement synchrone, cet ASI doit être réglé sur synch. La valeur par défaut est asynch. |
Chaque TLO de traitement des événements synchrones possède des attributs et des informations ASI de niveau attribut. La figure 6 représente les attributs d'un TLO exemple dénommé SERVICE_SYNCH_OrderStatus. Les informations ASI de niveau attribut sont représentées dans la colonne App Spec Info.
Le tableau 5 récapitule les informations ASI de niveau attribut pour les attributs de demande, de réponse, d'erreur, MimeType et Charset d'un TLO de traitement des événements asynchrones.
Attribut TLO | ASI de l'attribut | Description |
---|---|---|
MimeType | Attribut facultatif ; sa valeur est le type mime du gestionnaire de données pour appeler la réponse synchrone. | |
Charset | Ce paramètre facultatif de type String indique le charset à associer au gestionnaire de données lors de la transformation d'un objet métier sortant vers le message. REMARQUE : la valeur charset indiquée dans cet attribut ne sera pas propagée dans l'entête de protocole Content-Type du message de réponse. | |
Demande |
ws_botype=request |
Cet attribut correspond à une demande de service HTTP. Le connecteur utilise ses informations ASI pour déterminer si cet attribut TLO est de type BO de demande. Le type d'attribut est déterminé par ces informations et non par le nom d'attribut. S'il existe plusieurs attributs de demande, le connecteur utilise les informations ASI du premier. Cet attribut est obligatoire pour les TLO de traitement des événements synchrones. |
Réponse |
ws_botype=response |
Cet attribut correspond à la réponse retournée par un service HTTP. Le connecteur utilise ces informations ASI pour déterminer si cet attribut TLO est de type BO de réponse. Le type d'attribut est déterminé par ces informations et non par le nom d'attribut. S'il existe plusieurs attributs de réponse, le connecteur utilise les informations ASI du premier. Cet attribut est obligatoire pour les TLO de traitement des événements synchrones. |
Fault | ws_botype=fault
ws_botype=defaultfault |
Cet attribut, facultatif pour le traitement des événements synchrones, correspond à un message d'erreur retourné par une collaboration quand il n'est pas possible de compléter une réponse avec succès. Le connecteur utilise ces informations ASI et non pas le nom d'attribut pour déterminer si l'attribut est de type BO d'erreur. |
Un objet métier de demande est enfant d'un TLO et obligatoire pour le traitement des événements synchrones. Un objet métier de demande possède des informations ASI de niveau objet. Les informations ASI de niveau objet d'un objet métier de demande pour le traitement des événements synchrones est décrit dans le tableau 6. Vous pouvez indiquer une instruction par défaut pour l'objet métier de demande. Pour cela, saisissez :
DefaultVerb=true;
dans la zone ASI de l'instruction dans la liste des instructions prises en charge au niveau le plus élevé de l'objet métier de demande. Si les informations ASI de DefaultVerb ne sont pas indiquées et que le gestionnaire de données traite un objet métier sans instruction définie, l'objet métier est renvoyé sans instruction.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI doit correspondre au nom de l'attribut associé au Protocol Config MO. L'ASI désigne le programme d'écoute de protocole HTTP ou HTTPS. L'ASI et le Protocol Config MO sont facultatifs. Pour plus d'informations, voir Protocol Config MO. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
ws_tloname=tloname | Cet ASI indique le nom du TLO auquel appartient cet objet. Lors du traitement d'événements, le connecteur utilise cet ASI pour déterminer si l'objet métier de demande livré par le gestionnaire de données est enfant du TLO. Dans l'affirmative, le connecteur crée le TLO indiqué, définit l'objet métier de demande comme objet enfant et utilise l'ASI de niveau objet des TLO pour le livrer à la collaboration souscriptrice. |
Un objet métier de réponse est enfant d'un TLO et obligatoire pour le traitement des événements synchrones. Les informations ASI de niveau objet d'un objet métier de réponse pour le traitement des événements synchrones est décrit dans le tableau 7.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI doit correspondre au nom de l'attribut associé au Protocol Config MO. L'ASI désigne le programme d'écoute de protocole HTTP ou HTTPS. L'ASI et le Protocol Config MO sont facultatifs. Pour plus d'informations, voir Protocol Config MO. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
Un objet métier d'erreur est enfant d'un TLO et obligatoire pour le traitement des événements synchrones. Les informations ASI de niveau objet d'un objet métier d'erreur pour le traitement des événements synchrones est décrit dans le tableau 8.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI doit correspondre au nom de l'attribut associé au Protocol Config MO. L'ASI désigne le programme d'écoute de protocole HTTP ou HTTPS. L'ASI et le Protocol Config MO sont facultatifs. Pour plus d'informations, voir Protocol Config MO. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
Le Protocol Config MO est inclus facultativement comme enfant des objets métier de demande, réponse ou erreur dans le cadre du traitement des événements. En général, vous le spécifiez quand vous devez lire (à partir de messages de demande) ou propager (vers des messages de réponse ou d'erreur) les propriétés d'entête de protocole et les propriétés personnalisées. Comme nous l'avons vu précédemment, l'objet métier de demande déclare facultativement le nom du Protocol Config MO comme informations ASI de niveau objet métier :
cw_mo_http=HTTPProtocolListenerConfigMOAttribute
Lors du traitement des événements, le connecteur utilise des programmes d'écoute de protocole (HTTP ou HTTPS) pour récupérer des événements auprès du transport. Ces événements sont des messages émanant de clients internes ou externes demandant un service auprès de collaborations. Chaque transport possède ses propres exigences d'en-tête. Le connecteur utilise le Protocol Config MO pour transporter des informations d'entête depuis le programme d'écoute de protocole vers la collaboration. Les attributs de Protocol Config MO correspondent à des entêtes dans le message entrant. Le connecteur définit la valeur de ces attributs dans l'objet métier à l'aide du contenu de message entrant.
Pour le protocole HTTP(S), les attributs de Protocol Config MO sont les suivants :
Attribut | Obligatoire | Type | Description |
---|---|---|---|
Destination | Non | String | Utilisé pour la notification d'événements afin de propage Request-URI à partir de la ligne de demande. |
Content-Type | Non | String | La valeur de cet attribut définit l'entête Content-Type du message sortant (incluant le ContentType du message ainsi que des paramètres --le charset-- pour le message sortant ; le nombre de paramètres peut être nul ou non). La syntaxe est la même que pour l'entête Content-Type dans le protocole HTTP ; par exemple : text/xml; charset=ISO-8859-4. Si aucun attribut Content-Type n'est défini, le connecteur utilise le ContentType de la demande comme ContentType du message de réponse/d'erreur. |
Method | Non | String | Sera complété avec la méthode HTTP de demande d'événement dans la notification d'événement. |
UserDefinedProperties | Non | Objet métier | Cet attribut comprend l'objet métier des propriétés de protocole définies par l'utilisateur. |
Un ou plusieurs entêtes HTTP | Non | String | Cet attribut permet au gestionnaire de transmettre ou de récupérer la valeur de l'entête HTTP indiqué. |
Authorization_UserId | Non | String | Cet attribut correspond à l'ID utilisateur de l'authentification HTTP de base. |
Authorization_Password | Non | String | Cet attribut correspond au mot de passe de l'authentification HTTP de base. |
Ces attributs sont décrits dans :
Pour plus d'informations sur les programmes d'écoute de protocole, voir Programmes d'écoute de protocole. Pour plus d'informations décrivant le Protocol Config MO dans le cadre du traitement des demandes, voir TLO de traitement des demandes synchrones.
Le cas échéant, vous pouvez indiquer des propriétés dans le Protocol Config MO HTTP(S). Pour cela, incluez l'attribut UserDefinedProperties. Cet attribut correspond à un objet métier possédant un ou plusieurs attributs enfants avec des valeurs de propriété. Chaque attribut de cet objet enfant doit définir une propriété unique, afin qu'elle soit lue (ou, pour les réponses synchrones, écrite) dans la partie variable de l'en-tête de message, de la façon suivante :
Le tableau 10 récapitule les informations spécifiques d'application pour ces attributs.
Nom | Valeur | Description |
---|---|---|
ws_prop_name (casse indifférenciée ; s'il n'est pas indiqué, le nom d'attribut sera employé comme nom de propriété | Tout nom de propriété de protocole valide | Il s'agit du nom de la propriété de protocole. Certains fournisseurs réservent certaines propriétés pour apporter une fonctionnalité étendue. |
Si les informations ASI de la propriété personnalisée (ws_prop_name) ne sont pas correctes et s'il n'existe pas de façon logique de traiter cet entête, le connecteur consigne un avertissement et ne tient pas compte de cette propriété. Si la valeur de la valeur personnalisée ne peut être ni défini ni récupérée après la vérification nécessaire de ws_prop_name, le connecteur consigne une erreur et fait échouer l'événement.
Si l'attribut UserDefinedProperties est indiqué, le connecteur créera une instance d'un objet métier UserDefinedProperties. Le connecteur tente alors d'extraire des valeurs de propriété du message pour les stocker dans l'objet métier. Si au moins une propriété est récupérée avec succès, le connecteur définira un attribut UserDefinedProperties modifié dans le Protocol Config MO.
Si, dans le cadre du traitement des événements synchrones, un attribut UserDefinedProperties est indiqué et que son objet métier est instancié, le connecteur traitera chaque attribut de son objet métier enfant et définira la valeur de propriété de message en conséquence.
Afin de propager les identifiants, le connecteur prend en charge les attributs Authorization_UserId et Authorization_Password de HTTP Protocol Config MO. Le support est limité à la propagation de ces identifiants dans le cadre du schéma d'authentification de base HTTP.
Un programme d'écoute de protocole HTTP ou HTTPS qui traite une demande de service HTTP incluant un entête d'autorisation analysera celui-ci pour déterminer s'il est conforme à l'authentification de base HTTP. Dans ce cas, le programme d'écoute extrait et décode (en Base64) le nom d'utilisateur et le mot de passe. Cette chaîne décodée se compose d'un nom d'utilisateur et d'un mot de passe séparés l'un de l'autre par le signe deux-points. Si le programme d'écoute de protocole trouve les attributs Authorization_UserId et Authorization_Password dans Protocol Config MO, il affecte à leurs valeurs celles qui ont été extraites de l'entête d'autorisation d'événement.
La figure 7 représente la hiérarchie des objets métier pour le traitement des événements asynchrones. Seul un objet de demande est obligatoire.
Le TLO contient des informations ASI de niveau objet ainsi que des attributs avec des informations ASI de niveau attribut. Les deux types d'ASI sont décrits ci-après.
L'ASI de niveau objet apporte des informations fondamentales sur la nature d'un TLO et sur les objets qu'il contient. La figure 8 représente des informations ASI de niveau objet pour SERVICE_ASYNCH_TLO_Order, TLO exemple pour le traitement des événements asynchrones.
Le tableau 4 ci-après décrit les informations ASI de niveau supérieur pour un TLO de traitement des événements asynchrones.
ASI de niveau objet | Description |
---|---|
ws_eventtlo=true |
Si cette propriété ASI est définie sur true, le connecteur traite cet objet comme un TLO pour le traitement des événements. |
ws_verb=instruction |
Avant de livrer le TLO à la collaboration, le connecteur utilise cet ASI pour définir l'instruction sur le TLO. Dans l'exemple représenté dans la figure 8, l'instruction est Retrieve. |
ws_mode=asynch |
Lors de la notification d'événement, le connecteur emploie cette propriété ASI pour déterminer le mode d'appel de la collaboration : synchrone (synch) ou asynchrone (asynch). Pour le traitement asynchrone, cet ASI doit être réglé sur asynch. La valeur par défaut est asynch. |
Chaque TLO de traitement des événements asynchrones possède un seul attribut correspondant à un objet métier de demande. La figure 9 représente l'attribut de demande SERVICE_ASYNCH_TLO_Order, un TLO exemple et l'ASI de l'attribut.
Le tableau 12 récapitule les informations ASI de niveau attribut pour les attributs de demande d'un TLO de traitement d'événement asynchrone.
Attribut TLO | ASI de l'attribut | Description |
---|---|---|
Request |
ws_botype=request |
Cet attribut correspond à une demande. Le connecteur utilise ses informations ASI pour déterminer si cet attribut TLO est de type BO de demande. Le type d'attribut est déterminé par ces informations et non par le nom d'attribut. S'il existe plusieurs attributs de demande, le connecteur utilise les informations ASI du premier. Cet attribut est obligatoire pour les TLO de traitement des événements synchrones. |
Un objet métier de demande est enfant d'un TLO et obligatoire pour le traitement des événements asynchrones. Vous pouvez indiquer une instruction par défaut pour l'objet métier de demande. Pour cela, saisissez :
DefaultVerb=true;
dans la zone ASI de l'instruction dans la liste des instructions prises en charge au niveau le plus élevé de l'objet métier de demande. Si les informations ASI de DefaultVerb ne sont pas indiquées et que le gestionnaire de données traite un objet métier sans instruction définie, l'objet métier est renvoyé sans instruction. Les informations ASI de niveau objet d'un objet métier de demande pour le traitement des événements asynchrones est décrit dans le tableau 13.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI doit correspondre au nom de l'attribut associé au Protocol Config MO. L'ASI désigne le programme d'écoute de protocole HTTP ou HTTPS. L'ASI et le Protocol Config MO sont facultatifs. Pour plus d'informations, voir Protocol Config MO. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
ws_tloname=tloname | Cet ASI indique le nom du TLO auquel appartient cet objet. Lors du traitement d'événements, le connecteur utilise cet ASI pour déterminer si l'objet métier de demande livré par le gestionnaire de données est enfant du TLO. Dans l'affirmative, le connecteur crée le TLO indiqué, définit l'objet métier de demande comme objet enfant et utilise l'ASI de niveau objet des TLO pour le livrer à la collaboration souscriptrice. |
Concernant le traitement des demandes, les TLO autorisés par le connecteur sont de deux types : les TLO synchrones et les TLO asynchrones. Cette section aborde les TLO de traitement des demandes synchrones.
La figure 10 représente la hiérarchie des objets métier TLO pour le traitement des demandes synchrones. Les objets de demande, de réponse et de gestionnaire sont obligatoires, à la différence des objets d'erreur qui sont facultatifs. A la différence du traitement des événements, un Protocol Config MO est obligatoire pour les objets de demande et facultatif pour les objets de réponse et d'erreur.
L'ASI de niveau objet apporte des informations importantes sur la nature d'un TLO et sur les objets qu'il contient. La figure 11 affiche CLIENT_SYNCH_TLO_OrderStatus, TLO exemple pour le traitement des demandes synchrones.
Le tableau 14 décrit les informations ASI de niveau supérieur pour un TLO de traitement des demandes synchrones. A la différence des informations ASI pour les TLO de traitement des événements synchrones, aucune information ASI ws_collab, ws_verb ou ws_eventtlo n'est requise à ce niveau pour le traitement des demandes.
ASI de niveau objet | Description |
---|---|
ws_mode=synch |
Lors du traitement des demandes, le connecteur emploie cette propriété ASI pour déterminer le mode d'appel du service HTTP : synchrone (synch) ou asynchrone (asynch). Si synch est indiqué, le connecteur attend une réponse et le TLO doit comprendre des objets métier de demande et de réponse, voire un ou plusieurs objets d'erreur. La valeur par défaut est asynch. |
Le tableau 15 décrit les attributs et les informations ASI pour les TLO de traitement des demandes synchrones.
Attribut TLO | ASI de niveau attribut | Description |
---|---|---|
MimeType | Néant |
Cet attribut indique le type mime du gestionnaire de données que le connecteur appelle pour transformer un objet métier de demande en message de demande. Il est possible d'utiliser cette valeur pour transformer des messages de réponse/d'erreur synchrones en objet métier, selon la configuration des règles de transformation des messages. |
BOPrefix | Néant | Cet attribut de type String est transmis au gestionnaire de données. |
Handler | Néant | Destiné au traitement des demandes uniquement, cet attribut indique le gestionnaire de protocole à utiliser pour traiter la demande indiquée. Il accepte la valeur http, qui désigne le gestionnaire de protocole HTTP-HTTPS. La valeur par défaut est http. |
Charset | Ce paramètre facultatif de type String indique le charset à associer au gestionnaire de données lors de la transformation de l'objet métier de demande sortant vers un message. REMARQUE : la valeur charset indiquée dans cet attribut ne sera pas propagée dans l'entête de protocole Content-Type du message de demande. | |
Request |
ws_botype=request |
Cet attribut correspond à un objet métier de demande. Le connecteur utilise ces informations ASI d'attribut pour déterminer si cet attribut TLO est de type BO de demande. Le type d'attribut est déterminé par ces informations et non par le nom d'attribut. S'il existe plusieurs attributs de demande, le connecteur utilise les informations ASI du premier attribut complété. |
Response |
ws_botype=response |
Cet attribut correspond à la réponse retourné par une collaboration et est obligatoire pour le traitement des demandes synchrones. Le connecteur utilise ces informations ASI d'attribut pour déterminer si cet attribut TLO est de type BO de réponse. Le type d'attribut est déterminé par ces informations et non par le nom d'attribut. |
Fault |
ws_botype=fault
ou ws_botype=defaultfault |
Cet attribut, facultatif pour le traitement des demandes synchrones, correspond à un message d'erreur retourné par un service HTTP quand il n'est pas possible de compléter une réponse avec succès.
Le connecteur utilise ces informations ASI pour déterminer si cet attribut TLO est de type BO d'erreur. Le type d'attribut est déterminé par ces informations et non par le nom d'attribut. Un objet métier defaultfault est retourné si le message d'erreur est un élément de détail. defaultfault est employé dans la résolution d'objets métier par défaut. |
Un objet métier de demande est enfant d'un TLO et obligatoire pour le traitement des demandes synchrones. Un objet métier de demande possède des informations ASI de niveau objet.
Le tableau 16 décrit les informations ASI de niveau objet d'un objet métier de demandes dans le cadre du traitement des demandes synchrones.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI facultatif doit correspondre au nom de l'attribut associé au Protocol Config MO. Ce Protocol Config MO indique la destination du gestionnaire de protocole HTTP-HTTPS. Ces informations ASI sont utilisées par le gestionnaire de protocole HTTP-HTTPS. Notez que l'attribut de demande TLO doit posséder un HTTP Protocol Config MO pour le traitement de la demande. Pour plus d'informations, voir HTTP Protocol Config MO pour le traitement des demandes. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
Un objet métier de réponse est enfant d'un TLO et obligatoire pour le traitement des demandes synchrones. Les informations ASI de niveau objet d'un objet métier de réponse pour le traitement des demandes synchrones est décrit dans le tableau 17.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI doit correspondre au nom de l'attribut associé au Protocol Config MO. Facultatif pour un objet métier de réponse, ce Protocol Config MO indique les entêtes dans le message de réponse pour le gestionnaire de protocole HTTP(s). Pour plus d'informations, voir HTTP Protocol Config MO pour le traitement des demandes. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
Vous pouvez indiquer une instruction par défaut pour l'objet métier de réponse. Pour cela, saisissez :
DefaultVerb=true;
dans la zone ASI de l'instruction dans la liste des instructions prises en charge au niveau le plus élevé de l'objet métier de réponse. Si les informations ASI de DefaultVerb ne sont pas indiquées et que le gestionnaire de données traite un objet métier sans instruction définie, l'objet métier de réponse est renvoyé sans instruction.
Un objet métier d'erreur est enfant d'un TLO et obligatoire pour le traitement des demandes synchrones. Les informations ASI de niveau objet d'un objet métier d'erreur pour le traitement des demandes synchrones est décrit dans le tableau 18.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI doit correspondre au nom de l'attribut associé au Protocol Config MO. Facultatif pour un objet métier d'erreur, ce Protocol Config MO indique les entêtes dans le message de réponse pour le gestionnaire de protocole HTTP-HTTPS. Pour plus d'informations, voir Protocol Config MO. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
Pendant le traitement des demandes, les gestionnaires de protocole HTTP-HTTPS utilisent un Protocol Config MO pour déterminer la destination du service HTTP cible. Ce Protocol Config MO est nécessaire pour un objet métier de demande. Les gestionnaires de protocole HTTP-HTTPS prennent en charge les demandes HTTP 1.0 POST et GET. Comme le montre le tableau 19, le seul attribut obligatoire (Destination) est l'URL complète du service HTTP cible. Les attributs d'autorisation facultatives sont décrits dans les sections ci-après.
Attribut | Obligatoire | Type | Description |
---|---|---|---|
Destination | Obligatoire pour le traitement des demandes dans l'objet métier Request. | String | URL de destination du service HTTP cible. Le gestionnaire de protocole HTTP-HTTPS utilise cet attribut pour déterminer la destination du service HTTP. |
Content-Type | Obligatoire pour le traitement des demandes dans l'objet métier Request quand la charge de demande doit être générée.
La valeur de cet attribut est obligatoire en cas de réponse synchrone du programme d'écoute de protocole quand la charge de la demande est vide alors que la charge de la réponse ne l'est pas. |
String | La valeur de cet attribut définit l'entête Content-Type du message sortant (incluant le ContentType du message et facultativement le charset du message sortant). La syntaxe est la même que pour l'entête Content-Type dans le protocole HTTP ; par exemple : text/xml; charset=ISO-8859-4. |
Method | Non | String | Utilisé dans le traitement des demandes pour déterminer la méthode HTTP. Les valeurs possibles sont POST et GET. La valeur par défaut est POST. |
Authorization_UserId | Non | String | Cet attribut correspond à l'ID utilisateur de l'authentification HTTP de base. Pour plus d'informations, voir HTTP Propagation d'identifiants pour le traitement des demandes |
Authorization_Password | Non | String | Cet attribut correspond au mot de passe de l'authentification HTTP de base. Pour plus d'informations, voir HTTP Propagation d'identifiants pour le traitement des demandes |
Un ou plusieurs entêtes HTTP | Non | String | Cet attribut permet au gestionnaire de transmettre ou de récupérer la valeur de l'entête HTTP indiqué. |
UserDefinedProperties | Non | Objet métier | Cet attribut comprend l'objet métier des propriétés de protocole définies par l'utilisateur. Pour plus d'informations, voir Propriétés définies par l'utilisateur pour le traitement des demandes. |
MessageTransformationMap | Facultatif pour le traitement des demandes - réponse synchrone uniquement. Inutilisé dans le traitement des événements. | Objet métier de cardinalité simple | Il s'agit de l'attribut pointant vers un objet métier qui contient zéro, une ou plusieurs règles de transformation de message. Les règles comportent des informations relatives au type mime et au charset à appliquer au message entrant indiqué dans la règle. Pour plus d'informations, voir Mappes de transformation de message. |
Les attributs HTTP Protocol Config MO sont décrits dans :
Le cas échéant, vous pouvez indiquer des propriétés dans le Protocol Config MO HTTP. Pour cela, incluez l'attribut UserDefinedProperties. Cet attribut correspond à un objet métier possédant un ou plusieurs attributs enfants avec des valeurs de propriété. Chaque attribut de cet objet enfant doit définir une propriété unique, afin qu'elle soit lue (ou, pour les réponses synchrones, écrite) dans la partie variable de l'en-tête de message, de la façon suivante :
Le tableau 20 récapitule les informations spécifiques d'application pour ces attributs.
Nom | Valeur | Description |
---|---|---|
ws_prop_name (casse indifférenciée ; s'il n'est pas indiqué, le nom d'attribut sera employé comme nom de propriété | Tout nom de propriété de protocole valide | Il s'agit du nom de la propriété de protocole. Certains fournisseurs réservent certaines propriétés pour apporter une fonctionnalité étendue. |
Si les informations ASI de la propriété personnalisée (ws_prop_name) ne sont pas correctes et s'il n'existe pas de façon logique de traiter cet entête, le connecteur consigne un avertissement et ne tient pas compte de cette propriété. Si la valeur de la valeur personnalisée ne peut être ni défini ni récupérée après la vérification nécessaire de ws_prop_name, le connecteur consigne une erreur et fait échouer l'événement.
Si un attribut UserDefinedProperties est indiqué et que son objet métier est instancié, le connecteur traite chaque attribut de son objet métier enfant et définit les valeurs des propriétés de message en conséquence.
Par exemple, dans le cadre du traitement des demandes synchrones, si l'attribut UserDefinedProperties a été indiqué, dès la réception d'un message de réponse, le connecteur crée une instance d'un objet UserDefinedProperties et tente d'extraire des valeurs de propriété dans le message pour les stocker dans le nouvel objet métier. Si au moins une propriété a été récupérée avec succès, le connecteur définira un objet métier UserDefinedProperties modifié dans le Protocol Config MO.
La fonction MTM (Message Transformation Map) n'est prise en charge que pour les gestionnaires de protocole HTTP(S) de traitement des demandes. MessageTransformationMap est un attribut facultatif dans le Protocol Config MO pointant vers un objet métier. L'objet métier contient des règles de transformation comportant des types mime et des charsets. S'il rencontre l'attribut MessageTransformationMap (à casse différenciée) et que celui-ci est de type objet métier, le connecteur utilise les règles dans cet objet pour transformer un message.
L'attribut MessageTransformationMap possède deux attributs d'objet métier enfants dénommés TransformationRule et EmptyResponseRule. Lors de la tentative de localisation de l'attribut TransformationRule d'un message non vide, le gestionnaire de protocole HTTP-HTTPS essaie tout d'abord de trouver le message correspondant au ContentType indiqué dans tous les TransFormationRules. En cas d'échec, le connecteur tente de trouver la règle qui s'applique à plusieurs types de messages. Quand la réponse ne contient que des entêtes HTTP, le gestionnaire de protocole utilise l'attribut d'objet métier EmptyResponseRule de MessageTransformationMap. Pour plus d'informations sur le traitement de gestionnaire de protocole, voir HTTP-HTTPS traitement du gestionnaire de protocole.
Les attributs d'objet métier TransformationRule sont répertoriés dans le tableau 21.
Les attributs d'objet métier EmptyResponseRule sont répertoriés dans le tableau 22.
Nom de l'attribut | Obligatoire | Type | Valeur par défaut | Description |
---|---|---|---|---|
TransformationRule | Facultatif pour le traitement des demandes. Inutilisé dans le notification d'événements. | Objet métier, cardinalité N | Il s'agit de l'attribut contenant une règles pour la transformation de message. Il peut exister une ou plusieurs instances de cet attribut ou n'en exister aucune sous l'attribut MessageTranformationMap. | |
+ContentType | Oui | String | */* | La valeur de cette propriété indique le ContentType HTTP du message pour lequel cette règles de transformation s'applique. La valeur par défaut */* de cet attribut permet au connecteur d'appliquer cette règles à n'importe quel ContentType. Pour plus d'informations sur le traitement de gestionnaire de protocole, voir HTTP-HTTPS traitement du gestionnaire de protocole. Notez que si le gestionnaire de protocole trouve plusieurs règles possédant le même ContentType comme autre règle, il consigne l'avertissement, ignore les règles en double, mais utilise des règles uniques. |
+MimeType | Non | String | Type mime à utiliser lors de l'appel d'un gestionnaire de données pendant le traitement de messages de ContentType indiqué dans l'objet métier. | |
+Charset | Non | String | Charset à utiliser lors de la transformation d'une demande du ContentType indiqué dans l'objet métier. | |
+BOPrefix | Non | String | La valeur de cet attribut remplace le BOPrefix du TLO de la réponse synchrone de la charge en transformation d'objet métier. | |
+BOName | Non | String | La valeur de cette propriété est transmise au gestionnaire de données dans la table de hachage des entêtes avec BOName comme nom de l'élément. Si un entête de protocole porte le même nom, la valeur d'entête de protocole est prioritaire sur cette valeur de propriété. | |
+BOVerb | Non | String | La valeur de cette propriété est transmise au gestionnaire de données dans la table de hachage des entêtes avec BOVerb comme nom de l'élément. Si un entête de protocole porte le même nom, la valeur d'entête de protocole est prioritaire sur cette valeur de propriété. |
Nom de l'attribut | Obligatoire | Type | Valeur par défaut | Description |
---|---|---|---|---|
EmptyResponseRule | Non | Objet métier de cardinalité simple | Encapsule la règle d'appel du gestionnaire de données de la réponse vide. | |
+Action | Non | String | Ignore | Transmet l'une des valeurs à casse indifférenciée suivantes : Ignore - consigne un message de trace indiquant la réception d'une réponse vide, ne tente pas de générer l'objet métier de réponse. Warning - consigne un message d'avertissement indiquant la réception d'une réponse vide, ne tente pas de générer l'objet métier de réponse. Error - consigne un message d'erreur indiquant la réception d'une réponse vide, ne tente pas de générer l'objet métier de réponse. Fail - consigne un message d'erreur indiquant la réception d'une réponse vide, ne tente pas de générer l'objet métier de réponse, fait échouer la demande. Process - appelle le gestionnaire de données transmettant des entêtes http comme Hashtable à la place du paramètre d'objet de configuration. |
+MimeType | Non | String | Type mime du gestionnaire de données à appeler si la valeur de l'attribut Action est Process. | |
+Charset | Non | String | Charset à transmettre au gestionnaire de données. S'il n'est pas indiqué, aucun charset n'est transmis. | |
+BOPrefix | Non | String | La valeur de cet attribut remplace le BOPrefix du TLO de la réponse synchrone de la charge en transformation d'objet métier. | |
+BOName | Non | String | La valeur de cette propriété est transmise au gestionnaire de données dans la table de hachage des entêtes avec BOName comme nom de l'élément. Si un entête de protocole porte le même nom, la valeur d'entête de protocole est prioritaire sur cette valeur de propriété. | |
+BOVerb | Non | String | La valeur de cette propriété est transmise au gestionnaire de données dans la table de hachage des entêtes avec BOVerb comme nom de l'élément. Si un entête de protocole porte le même nom, la valeur d'entête de protocole est prioritaire sur cette valeur de propriété. |
Afin de propager les identifiants, le connecteur prend en charge les attributs Authorization_UserId et Authorization_Password de HTTP Protocol Config MO. Le support est limité à la propagation de ces identifiants dans le cadre du schéma d'authentification de base HTTP.
La collaboration définit les valeurs des attributs Authorization_UserId et Authorization_Password dans le Protocol Config MO. Si ces attributs ne sont ni nuls ni vides, le connecteur crée un entête d'autorisation sur la demande adressée au service HTTP cible. Le gestionnaire de protocole HTTP/HTTPS se base sur HTTP Authentication: Basic and Digest Access Authentication (RFC 2617) lors de la création de l'entête d'autorisation.
La figure 12 représente la hiérarchie des objets métier pour le traitement des demandes asynchrones. Un objet de demande et de gestionnaire sont requis. L'objet de demande contient un Protocol Config MO pour le gestionnaire de protocole HTTP-HTTPS. Ils sont décrits dans les sections ci-après.
Le TLO contient des informations ASI de niveau objet ainsi que des attributs avec des informations ASI de niveau attribut. Les deux types d'ASI sont décrits ci-après.
La figure 13 représente CLIENT_ASYNCH_Order_TLO, TLO exemple pour le traitement des demandes asynchrones.
Le tableau 23 ci-après décrit les informations ASI de niveau supérieur pour un TLO de traitement des demandes asynchrones.
ASI de niveau objet | Description |
---|---|
ws_mode=asynch |
Lors du traitement des demandes, le connecteur emploie cette propriété ASI pour déterminer le mode d'appel de la collaboration : synchrone (synch) ou asynchrone (asynch). Pour le traitement des demandes asynchrones, cet ASI doit être réglé sur asynch. La valeur par défaut est asynch. |
Le tableau 24 récapitule les informations ASI de niveau attribut pour les attributs de demande d'un TLO de traitement de demande asynchrone.
Attribut TLO | ASI de l'attribut | Description |
---|---|---|
MimeType | Néant |
Cet attribut indique le type mime du gestionnaire de données que le connecteur appelle. Notez que cet attribut n'est utilisé que pour le traitement des demandes. |
BOPrefix | Néant | La valeur de cet attribut est transmise au gestionnaire de données. |
Handler | Néant | Destiné au traitement des demandes uniquement, cet attribut indique le gestionnaire de protocole à utiliser pour traiter la demande indiquée. Il accepte la valeur http, qui désigne le gestionnaire de protocole HTTP-HTTPS qui doit traiter la demande. La valeur par défaut est http. |
Charset | Ce paramètre facultatif de type String indique le charset à associer au gestionnaire de données lors de la transformation de l'objet métier de demande sortant vers un message. REMARQUE : la valeur charset indiquée dans cet attribut ne sera pas propagée dans l'entête de protocole Content-Type du message de demande. | |
Request |
ws_botype=request |
Cet attribut correspond à un objet métier de demande de service HTTP. Le connecteur utilise ces informations ASI d'attribut pour déterminer si cet attribut TLO est de type BO de demande. Le type d'attribut est déterminé par ces informations et non par le nom d'attribut. S'il existe plusieurs attributs de demande, le connecteur utilise les informations ASI du premier. |
Un objet métier de demande est enfant d'un TLO et obligatoire pour le traitement des demandes asynchrones. Les informations ASI de niveau objet d'un objet métier de demande pour le traitement des demandes asynchrones est décrit dans le tableau 25.
ASI de niveau objet | Description |
---|---|
cw_mo_http=HTTPCfgMO | La valeur de cet ASI doit correspondre au nom de l'attribut associé au Protocol Config MO. Ce Protocol Config MO indique la destination du gestionnaire de protocole HTTP-HTTPS. Ces informations ASI sont utilisées par le gestionnaire de protocole HTTP-HTTPS. Notez que l'attribut de demande TLO doit posséder un HTTP Protocol Config MO pour le traitement de la demande. Pour plus d'informations, voir HTTP Protocol Config MO pour le traitement des demandes. Remarque : Les gestionnaires de données que vous configurez pour les transformations d'objet métier doivent pouvoir lire tout ASI commençant par cw_mo en tant que méta-données et non pas élément de données métier à convertir. Le gestionnaire de données XML est capable de détecter des méta-données cw_mo, ignorant les attributs qui leur sont associés. |
Pendant le traitement des demandes, le gestionnaire de protocole HTTP-HTTPS utilise un Protocol Config MO pour déterminer la destination du service HTTP cible. Ce Protocol Config MO est nécessaire pour un objet métier de demande. Pour plus d'informations, voir HTTP Protocol Config MO pour le traitement des demandes.