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
https://OnDemandServer/soap/service_name?wsdl
Para acceder a una lista de los servidores Spectrum Technology Platform, consulte Conexión a servidores.
Por ejemplo:
http://myserver:8080/soap/ValidateAddress?wsdl
https://spectrum.precisely.com/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
Puede transmitir campos adicionales por medio del servicio web, incluso si el servicio no los usa. Estos campos se devuelven, 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
La siguiente solicitud SOAP de ejemplo invoca el servicio ValidateAddress. 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
La solicitud de muestra anterior arrojaría la siguiente 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>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>