Dieses Beispiel zeigt die Festlegung von Referenzparametern in der lokalen Umgebung sowie die entsprechenden Nachrichten, die in der Verbindung angezeigt werden.
In diesem Beispiel gibt der Web-Service ein einfaches Pingsignal aus.
Das folgende ESQL-Beispiel zeigt, wie Adressierungsheader in der lokalen Umgebung festgelegt werden.
DECLARE Example_ns NAMESPACE 'http://ibm.namespace';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.ReplyTo.ReferenceParameters.Parameter1 = 'Message Broker';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.ReplyTo.ReferenceParameters.Example_ns:Parameter2.(SOAP.NamespaceDecl)xmlns:Example_ns = 'http://ibm.namespace';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.ReplyTo.ReferenceParameters.Example_ns:Parameter2 = 'Ping';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.FaultTo.ReferenceParameters.Parameter1 = 'Ping';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.FaultTo.ReferenceParameters.Example_ns:Parameter2.(SOAP.NamespaceDecl)xmlns:Example_ns = 'http://ibm.namespace';
SET OutputLocalEnvironment.Destination.SOAP.Request.WSA.FaultTo.ReferenceParameters.gns:Parameter2 = 'FAULT';
Das folgende Beispiel zeigt eine abgehende SOAP-Rahmenanweisung in einer Nachricht von einem SOAPRequest-Knoten mit den Referenzparametern ReplyTo und FaultTo, die nach der Verwendung des obigen ESQL-Codes generiert werden. Außerdem enthält es die übrigen Nachrichtenadressierungseigenschaften (MAPs), die nicht in der lokalen Umgebung festgelegt werden, sondern automatisch vom Knoten als Folge der Nutzung der WS-Adressierung generiert werden.
<NS1:Envelope xmlns:NS1="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<NS1:Header>
<wsa:To>http://localhost:7801/Service</wsa:To>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
<wsa:ReferenceParameters>
<Example_ns:Parameter2 xmlns:Example_ns="http://ibm.namespace">Ping</Example_ns:Parameter2>
<Parameter1>Message Broker</Parameter1>
</wsa:ReferenceParameters>
</wsa:ReplyTo>
<wsa:FaultTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
<wsa:ReferenceParameters>
<Example_ns:Parameter2 xmlns:Example_ns="http://ibm.namespace">FAULT</Example_ns:Parameter2>
<Parameter1>Ping</Parameter1>
</wsa:ReferenceParameters>
</wsa:FaultTo>
<wsa:MessageID>urn:uuid:020C911C16EB130A8F1204119836321</wsa:MessageID>
<wsa:Action>http://ibm.com/Service/Ping</wsa:Action>
</NS1:Header>
<NS1:Body>
<NS2:Ping xmlns:NS2="http://ibm.com"></NS2:Ping>
</NS1:Body>
</NS1:Envelope>
Im obigen Beispiel werden die Referenzparameter für die Endpunktreferenzen (EPRs) für ReplyTo und FaultTo festgelegt. Wenn diese Nachricht an einen SOAPInput-Knoten mit aktiver WS-Adressierung gesendet wird, werden diese ReferenceParameters in die lokale Umgebung des Nachrichtenflusses gestellt, der den SOAPInput-Knoten enthält. Die Parameter können dann vom Fluss verwendet werden, wenn die Eigenschaft WS-Adressierungsheader in der lokalen Umgebung ablegen ausgewählt ist. Diese Option ändert nur, was in der lokalen Umgebung abgelegt wird, der Inhalt der Antwortnachricht wird nicht geändert.
Die folgende SOAP-Rahmenanweisung ist eine Antwort auf die oben beschriebene abgehende Nachricht, die von einem SOAPReply-Knoten gesendet wird. Das folgende Beispiel zeigt die MAP-Verarbeitung, die automatisch durch den SOAPReply-Knoten erfolgt. Dieses Beispiel enthält keine FaultTo-Referenzparameter, da die Antwort kein SOAP-Fehler ist. Die Antwort zeigt außerdem, an welcher Stelle die Referenzparameter, die zum EPR ReplyTo gehörten, in der Antwortnachricht angezeigt werden.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header>
<wsa:To>http://www.w3.org/2005/08/addressing/anonymous</wsa:To>
<Example_ns:Parameter2 wsa:IsReferenceParameter="true" xmlns:Example_ns="http://ibm.namespace">Ping</Example_ns:Parameter2>
<Parameter1 wsa:IsReferenceParameter="true">Message Broker</Parameter1>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:Action>http://ibm.com/Service/PingResponse</wsa:Action>
<wsa:RelatesTo RelationshipType="http://www.w3.org/2005/08/addressing/reply">urn:uuid:020C911C16EB130A8F1204119836321</wsa:RelatesTo>
</soapenv:Header>
<soapenv:Body>
<NS1:PingResponse xmlns:NS1="http://ibm.com">
<NS1:PingResult>Ping</NS1:PingResult>
</NS1:PingResponse>
</soapenv:Body>
</soapenv:Envelope>