La interfaz SOAP

The Spectrum™ Technology Platform server provides access to services using SOAP in document/literal mode. Los servicios web en modo de documento/ literal tienen el formato que cumple con WS-I.servicios web

To view the SOAP web services available on your Spectrum™ Technology Platform server, go to:

http://server:port/soap

Nota: By default Spectrum™ Technology Platform uses port 8080 for HTTP communication. Your administrator may have configured a different port.

URL de WSDL

El WSDL para un servicio web Spectrum™ Technology Platform es:

http://server:port/soap/service_name?wsdl

Por ejemplo:

http://myserver:8080/soap/ValidateAddress?wsdl

El modelo de servicios web es un modelo genérico para todos los servicios. El lenguaje WSDL de cualquier servicio web de Spectrum™ Technology Platform contiene la misma definición de tipos de datos y operaciones. Lo que diferencia a WSDL es el servicio de destino y los valores (opciones y datos) que se proporcionan en el momento de la ejecución.

User Fields

You can pass extra fields through the web service even if the web service does not use them. Estos campos se obtienen, sin modificación, en el elemento <user_fields> de la respuesta. Por ejemplo, esta solicitud contiene un campo de usuario id con un valor de 5:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:val="http://www.pb.com/spectrum/services/ValidateAddress">
   <soapenv:Header/>
   <soapenv:Body>
      <val:ValidateAddressRequest>
         <val:input_port>
            <val:Address>
               <val:AddressLine1>3001 summer</val:AddressLine1>
               <val:City>stamford</val:City>
               <val:StateProvince>ct</val:StateProvince>
                <val:user_fields>
                  <val:user_field>
                     <val:name>id</val:name>
                     <val:value>5</val:value>
                  </val:user_field>
               </val:user_fields>
            </val:Address>
         </val:input_port>
      </val:ValidateAddressRequest>
   </soapenv:Body>
</soapenv:Envelope>

El campo de usuario se arroja, sin modificaciones, en la respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns3:ValidateAddressResponse xmlns:ns2="http://spectrum.pb.com/" xmlns:ns3="http://www.pb.com/spectrum/services/ValidateAddress">
         <ns3:output_port>
            <ns3:Address>
               <ns3:Confidence>86</ns3:Confidence>
               <ns3:RecordType>HighRise</ns3:RecordType>
               <ns3:RecordType.Default>Y</ns3:RecordType.Default>
               <ns3:CountryLevel>A</ns3:CountryLevel>
               <ns3:ProcessedBy>USA</ns3:ProcessedBy>
               <ns3:MatchScore>0</ns3:MatchScore>
               <ns3:AddressLine1>3001 Summer St</ns3:AddressLine1>
               <ns3:City>Stamford</ns3:City>
               <ns3:StateProvince>CT</ns3:StateProvince>
               <ns3:PostalCode>06905-4317</ns3:PostalCode>
               <ns3:PostalCode.Base>06905</ns3:PostalCode.Base>
               <ns3:PostalCode.AddOn>4317</ns3:PostalCode.AddOn>
               <ns3:Country>United States Of America</ns3:Country>
               <ns3:AdditionalInputData.Base/>
               <ns3:POBoxOnlyDeliveryZone/>
               <ns3:user_fields>
                  <ns3:user_field>
                     <ns3:name>id</ns3:name>
                     <ns3:value>5</ns3:value>
                  </ns3:user_field>
               </ns3:user_fields>
            </ns3:Address>
         </ns3:output_port>
      </ns3:ValidateAddressResponse>
   </soap:Body>
</soap:Envelope>
Nota: Los nombres de campo de usuario no pueden contener caracteres no válidos en los nombres de elementos XML. For example, spaces are not valid.

Solicitud SOAP de ejemplo

The following sample SOAP request calls the ValidateAddress service. Las secciones de opciones y filas dependen en su totalidad de los metadatos de ese servicio web en particular. Por lo tanto, diferentes componentes tendrán diferentes entradas de metadatos. Además, existe una sección user_fields que le permite transmitir valores de campo que se devolverán sin modificar en la respuesta.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ​xmlns:val="http://www.pb.com/spectrum/services/ValidateAddress">
   <soapenv:Header/>
   <soapenv:Body>
      <val:ValidateAddressRequest>
         <val:options>
            <val:OutputFormattedOnFail>Y</val:OutputFormattedOnFail>
         </val:options>
         <val:input_port>
            <val:Address>
               <val:AddressLine1>1525B Kramer Lane</val:AddressLine1>
               <val:AddressLine2>Suite 100</val:AddressLine2>
               <val:PostalCode>78758</val:PostalCode>
            </val:Address>
         </val:input_port>
      </val:ValidateAddressRequest>
   </soapenv:Body>
</soapenv:Envelope>

Respuesta SOAP de ejemplo

The sample request above would return the following response.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns3:ValidateAddressResponse xmlns:ns2="http://spectrum.pb.com/" ​xmlns:ns3="http://www.pb.com/spectrum/services/ValidateAddress">
         <ns3:output_port>
            <ns3:Address>
               <ns3:Confidence>88</ns3:Confidence>
               <ns3:RecordType>Normal</ns3:RecordType>
               <ns3:CountryLevel>A</ns3:CountryLevel>
               <ns3:ProcessedBy>USA</ns3:ProcessedBy>
               <ns3:MatchScore>0</ns3:MatchScore>
               <ns3:AddressLine1>1525B Kramer Ln Ste 100</ns3:AddressLine1>
               <ns3:City>Austin</ns3:City>
               <ns3:StateProvince>TX</ns3:StateProvince>
               <ns3:PostalCode>78758-4227</ns3:PostalCode>
               <ns3:PostalCode.Base>78758</ns3:PostalCode.Base>
               <ns3:PostalCode.AddOn>4227</ns3:PostalCode.AddOn>
               <ns3:Country>United States Of America</ns3:Country>
               <ns3:user_fields/>
            </ns3:Address>
         </ns3:output_port>
      </ns3:ValidateAddressResponse>
   </soap:Body>
</soap:Envelope>