Solicitud XML POST - Spectrum_OnDemand - web_services - 23.1

Guía de servicios web de Spectrum

Product type
Portfolio
Integrate
Product family
Product
Spectrum > Web Services
Version
23.1
Language
Español (México)
Product name
Spectrum Technology Platform
Title
Guía de servicios web de Spectrum
First publish date
2007
ft:lastEdition
2024-02-07
ft:lastPublication
2024-02-07T18:09:34.894393

Los servicios web definidos por el usuario pueden exponerse como servicio web REST y configurarse para que tengan un método POST que acepte entrada XML.Spectrum Technology Platform Los servicios web REST tienen un método POST que acepta entradas XML. Especifique Content-Type:application/xml y utilice el siguiente formato para las solicitudes XML POST.

Datos planos

Utilice este formato para enviar datos planos a un servicio web utilizando 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>

Donde:

ServiceName
El nombre del servicio web en el servidor Spectrum Technology Platform.
Field1 y Field2
Los nombres de los campos de entrada definidos en la etapa de entrada del servicio.

Por ejemplo, esta solicitud envía un nombre y el apellido a un servidor denominado 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>

Datos de lista

Los datos de lista consisten en una agrupación jerárquica de campos agrupados bajo un campo principal.
Nota: Para utilizar los datos de lista como entrada, el servicio se debe exponer como servicio web REST sin ningún recurso GET. Si el servicio tiene un recurso GET, aparecerá un error en Spectrum Enterprise Designer cuando exponga el servicio, ya que GET no admite los campos jerárquicos.

Utilice el siguiente formato para enviar datos de lista a un servicio web con 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> 

Donde:

ListField1
El nombre del campo jerárquico definido en la etapa de entrada del servicio.
DataType
El tipo de dato del campo de la lista definido en la etapa de entrada del servicio.
Subfield1 y Subfield2
Los nombre de los campos secundarios que componen el campo de lista.

Por ejemplo, esta solicitud envía un nombre, el apellido y una lista de números telefónicos a un servidor denominado 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>

User Fields

Puede transmitir campos adicionales por medio del servicio web, incluso si el servicio no los usa. Estos campos se obtienen, sin modificación, en la sección user_fields de la respuesta. No es necesario definir los campos de usuario que usted proporciona en la solicitud en la etapa de entrada del flujo de datos del servicio.

<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>

Donde:

FieldName
El nombre del campo de traspaso.
FieldValue
El valor que se consigna en el campo de traspaso.

Por ejemplo, esta solicitud envía el nombre del cónyuge como un campo de traspaso. El nombre de usuario del campo es Spouse y el valor del campo es 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>

Opciones

Puede especificar las opciones de la solicitud, lo que anula las opciones predeterminadas especificadas en el flujo de datos de servicio. Para los servicios web definidos por usuario, puede especificar solo opciones de la solicitud si se configuró el flujo se datos para aceptar opciones. Para configurar un servicio que acepte las opciones de la solicitud, abra el servicio en Spectrum Enterprise Designer y seleccione Editar > Opciones de flujo de datos.

Para especificar las opciones de procesamiento de una solicitud, utilice este formato:

<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>

Donde:

OptionName
El nombre de la opción. Para obtener una lista de opciones válidas para el servicio, consulte el WADL del servicio o abra el servicio en Spectrum Enterprise Designer y seleccione Editar > Opciones de flujo de datos.
OptionValue
Un valor legal para la opción. Para obtener una lista de valores válidos, abra el servicio en Spectrum Enterprise Designer y seleccione Editar > Opciones de flujo de datos.

Por ejemplo, esta solicitud establece la opción OutputCasing en 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>

Ejemplo Solicitud XML con POST

El siguiente ejemplo demuestra cómo incluir opciones, campos planos, un campo de lista y campos definidos por el usuario en una solicitud XML en un servicio web utilizando 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> 
En este ejemplo,
  • OutputCasing es una opción expuesta por el servicio web que controla si la salida se devuelve en mayúsculas o en minúsculas. En esta solicitud, se establece en U para mayúsculas.
  • Input es la etiqueta de la etapa Input en el flujo de datos, como se muestra en el lienzo de Enterprise Designer.
  • Row es el nombre de la entidad a nivel de registro, tal como se especifica en la etapa de entrada del flujo de datos, en el campo Nombre del tipo de datos en la ficha Campos de entrada.
  • FirstName, LastName, AddressLine1, City y StateProvince son campos planos.
  • PhoneNumbers es un campo jerárquico (“lista”) que contiene el nombre de los subcampos HomePhone, CellPhone y OfficePhone.
  • user_fields contiene campos definidos por el usuario que el servicio web traspasa y devuelve en la salida sin modificar.