Requête XML POST
Les services Web définis par l'utilisateur peuvent être exposés sous forme de service Web REST et configurés pour avoir une méthode POST qui accepte une entrée XML.Indiquez Content-Type:application/xml
et utilisez le format suivant pour les requêtes XML POST.
Données plates
Utilisez ce format pour envoyer des données plates à un service Web à l'aide de POST :
<ServiceNameRequest xmlns:svc="http://www.pb.com/spectrum/services/ServiceName">
<svc:Input>
<svc:Row>
<svc:Field1>Example value</svc:Field1>
<svc:Field2>Another example value</svc:Field2>
</svc:Row>
</svc:Input>
</ServiceNameRequest>
Où :
- ServiceName
- Nom du service Web sur le serveur Spectrum™ Technology Platform.
- Field1 et Field2
- Noms des champs d'entrée définis dans le stage Input du service.
Par exemple, cette requête envoie un prénom et un nom de famille à un service nommé CasingExample.
<CasingExampleRequest xmlns:svc="http://www.pb.com/spectrum/services/CasingExample">
<svc:Input>
<svc:Row>
<svc:FirstName>Alex</svc:FirstName>
<svc:LastName>Smith</svc:LastName>
</svc:Row>
</svc:Input>
</CasingExampleRequest>
Données de liste
Utilisez le format suivant pour envoyer des données de liste à un service Web à l'aide de POST.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceNameRequest xmlns:svc="http://www.pb.com/spectrum/services/ServiceName">
<svc:Input>
<svc:Row>
<svc:ListField1>
<svc:DataType>
<svc:SubField1>Example value</svc:SubField1>
<svc:SubField2>Example value</svc:SubField2>
</svc:DataType>
</svc:ListField1>
</svc:Row>
</svc:Input>
</ServiceNameRequest>
Où :
- ListField1
- Nom du champ hiérarchique défini dans le stage Input du service.
- DataType
- Type de données du champ de liste défini dans le stage Input du service.
- Subfield1 et Subfield2
- Noms des champs enfants qui composent le champ de liste.
Par exemple, cette requête envoie un prénom, un nom de famille et une liste de numéros de téléphone à un service nommé CasingExample.
<CasingExampleRequest xmlns:svc="http://www.pb.com/spectrum/services/CasingExample">
<svc:Input>
<svc:Row>
<svc:FirstName>George</svc:FirstName>
<svc:LastName>Washington</svc:LastName>
<svc:PhoneNumbers>
<svc:PhoneNumbers>
<svc:HomePhone>123-234-9876</svc:HomePhone>
<svc:CellPhone>123-678-9012</svc:CellPhone>
<svc:OfficePhone>123-987-6543</svc:OfficePhone>
</svc:PhoneNumbers>
</svc:PhoneNumbers>
</svc:Row>
</svc:Input>
</CasingExampleRequest>
Champs d'utilisateur
Vous pouvez transmettre des champs supplémentaires via le service Web, même si ce dernier ne les utilise pas. Ces champs sont renvoyés, intacts, dans la section user_fields
de la réponse. Les champs d'utilisateur que vous fournissez dans la requête n'ont pas besoin d'être définis dans le stage Input du flux de données du service.
<ServiceNameRequest xmlns:svc="http://www.pb.com/spectrum/services/ServiceName">
<svc:Input>
<svc:Row>
<svc:user_fields>
<svc:user_field>
<svc:name>FieldName</svc:name>
<svc:value>FieldValue</svc:value>
</svc:user_field>
</svc:user_fields>
</svc:Row>
</svc:Input>
</ServiceNameRequest>
Où :
- FieldName
- Nom du champ de transit.
- FieldValue
- Valeur contenue dans le champ de transit.
Par exemple, cette requête envoie le nom du conjoint comme champ de transit. Le nom du champ utilisateur est Spouse
et la valeur du champ Martha
.
<CasingExampleRequest xmlns:svc="http://www.pb.com/spectrum/services/CasingExample">
<svc:Input>
<svc:Row>
<svc:FirstName>George</svc:FirstName>
<svc:LastName>Washington</svc:LastName>
<svc:PhoneNumbers>
<svc:PhoneNumbers>
<svc:HomePhone>123-123-1234</svc:HomePhone>
<svc:CellPhone>123-456-4567</svc:CellPhone>
<svc:OfficePhone>123-678-6789</svc:OfficePhone>
</svc:PhoneNumbers>
</svc:PhoneNumbers>
<svc:user_fields>
<svc:user_field>
<svc:name>Spouse</svc:name>
<svc:value>Martha</svc:value>
</svc:user_field>
</svc:user_fields>
</svc:Row>
</svc:Input>
</CasingExampleRequest>
Options
Vous pouvez spécifier des options dans la requête, en remplaçant les options par défaut spécifiées dans le flux de données du service. Pour les services Web définis par l'utilisateur, vous pouvez uniquement spécifier des options dans la requête si le flux de données a été configuré pour accepter des options. Pour configurer un service pour qu'il accepte des options dans la requête, ouvrez le service dans Enterprise Designer et sélectionnez
.Pour spécifier des options de traitement dans une requête, utilisez ce format :
<ServiceNameRequest xmlns:svc="http://www.pb.com/spectrum/services/ServiceName">
<svc:options>
<svc:OptionName>OptionValue</svc:OptionName>
</svc:options>
<svc:Input>
<svc:Row> ... </svc:Row>
</svc:Input>
</ServiceNameRequest>
Où :
- OptionName
- Nom de l'option. Pour obtenir une liste des options valides pour le service, reportez au WADL du service ou ouvrez le service dans Enterprise Designer et sélectionnez .
- OptionValue
- Valeur autorisée pour l'option. Pour obtenir une liste des valeurs autorisées, ouvrez le service dans Enterprise Designer et sélectionnez .
Par exemple, cette requête définit l’option OutputCasing sur U :
<AddressValidationRequest xmlns:svc="http://www.pb.com/spectrum/services/AddressValidation">
<svc:options>
<svc:OutputCasing>U</svc:OutputCasing>
</svc:options>
<svc:Input>
<svc:Row>
<svc:FirstName>George</svc:FirstName>
<svc:LastName>Washington</svc:LastName>
<svc:AddressLine1>123 Main St.</svc:AddressLine1>
<svc:City>Springfield</svc:City>
<svc:StateProvince>MO</svc:City>
</svc:Row>
</svc:Input>
</AddressValidationRequest>
Exemple de requête XML via POST
L'exemple suivant montre comment inclure des options, des champs texte, un champ de liste et des champs définis par l'utilisateur dans une requête XML à un service Web via POST.
<CasingExampleRequest xmlns:svc="http://www.pb.com/spectrum/services/CasingExample">
<svc:options>
<svc:OutputCasing>U</svc:OutputCasing>
</svc:options>
<svc:Input>
<svc:Row>
<svc:FirstName>George</svc:FirstName>
<svc:LastName>Washington</svc:LastName>
<svc:AddressLine1>1073 Maple</svc:AddressLine1>
<svc:City>Batavia</svc:City>
<svc:StateProvince>IL</svc:StateProvince>
<svc:PhoneNumbers>
<svc:PhoneNumbers>
<svc:HomePhone>123-123-1234</svc:HomePhone>
<svc:CellPhone>123-345-3456</svc:CellPhone>
<svc:OfficePhone>123-456-4567</svc:OfficePhone>
</svc:PhoneNumbers>
</svc:PhoneNumbers>
<svc:user_fields>
<svc:user_field>
<svc:name>Spouse</svc:name>
<svc:value>Martha</svc:value>
</svc:user_field>
</svc:user_fields>
</svc:Row>
</svc:Input>
</CasingExampleRequest>
- OutputCasing est une option exposée par le service Web qui contrôle si la sortie est renvoyée en majuscules ou en minuscules. Dans cette requête, elle est définie sur U pour Upper case (majuscules).
- Input est le libellé du stage Input du flux de données tel qu'indiqué sur le canevas dans Enterprise Designer.
- Row est le nom de l'entité d'enregistrement tel que spécifié dans le stage Input du flux de données, dans le champ Nom de type de données de l'onglet Champs d'entrée.
- FirstName, LastName, AddressLine1, Ville et StateProvince sont des champs texte.
- PhoneNumbers un champ hiérarchique (« liste ») contenant des noms de sous-champ HomePhone, CellPhone et OfficePhone.
- user_fields contient des champs définis par l'utilisateur qui sont transmis et renvoyés intacts par le service Web dans la sortie.