Die SOAP-Schnittstelle
Der Spectrum™ Technology Platform-Server gewährt den Zugriff auf Dienste anhand von SOAP im „document/literal“-Modus. „Document/literal“-Webservices stellen das mit WS-I kompatible Format für Webservices dar.
Navigieren Sie zum folgenden Pfad, um die auf Ihrem Spectrum™ Technology Platform-Server verfügbaren SOAP-Webservices anzuzeigen:
http://server:port/soap
WSDL-URL
Die WSDL für einen Spectrum™ Technology Platform-Webservice lautet:
http://server:port/soap/service_name?wsdl
Beispiel:
http://myserver:8080/soap/ValidateAddress?wsdl
Bei dem Webservice-Modell handelt es sich um ein allgemeines Modell für alle Dienste. Die WSDL für jeden Spectrum™ Technology Platform-Webservice enthält dieselbe Definition von Datentypen und Vorgängen. Das Unterscheidungsmerkmal der WSDL bilden der Zieldienst und die Werte (Optionen und Daten), die zur Laufzeit bereitgestellt werden.
Benutzerfelder
Sie können zusätzliche Felder über den Webservice übergeben, auch wenn der Webservice diese nicht verwendet. Diese Felder werden unverändert im Element <user_fields>
der Antwort zurückgegeben. Beispiel: Die folgende Anforderung enthält ein Benutzerfeld mit der Bezeichnung id und einem Wert von 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>
Das folgende Benutzerfeld wird unverändert in der Antwort zurückgegeben:
<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>
Beispiel für SOAP-Anforderung
In der folgenden SOAP-Anforderung wird der ValidateAddress-Dienst aufgerufen. Die Abschnitte für Optionen und Zeilen hängen alle von den Metadaten für diesen speziellen Webservice ab. Deshalb haben unterschiedliche Komponenten unterschiedliche Metadateneinträge. Zusätzlich gibt es einen Abschnitt „user_fields“, der Ihnen ermöglicht, Feldwerte zu übergeben, die unverändert in der Antwort zurückgegeben werden.
<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>
Beispiel für SOAP-Antwort
Im Rahmen der Beispielanforderung würde die folgende Antwort zurückgegeben werden.
<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>