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