Der Hauptnachrichtenfluss für den Mustercode 'WebSphere Service Registry and Repository (WSRR) Connectivity' wird zur Verfügung gestellt. Wenn Sie den Nachrichtenfluss jedoch selbst erstellen möchten, befolgen Sie die folgenden Anweisungen:
Palettenfächer | Knotentyp | Knotenname |
---|---|---|
WebSphere MQ | MQInput | WSRR_IN |
Transformation | Rechnen | SetVersion |
WebServices | EndpointLookup | Endpoint Lookup One |
WebServices | SOAPRequest | SOAP Request |
Transformation | Rechnen | InformFailure |
Transformation | Rechnen | InformWSResult |
Transformation | Rechnen | InformNoMatch |
WebSphere MQ | MQOutput | WSRR_OUT |
Knotenname | Terminal | Mit diesem Knoten verbinden |
---|---|---|
WSRR_IN | Ausgangsterminal | SetVersion |
SetVersion | Ausgangsterminal | Endpoint Lookup One |
Endpoint Lookup One | Ausgangsterminal | SOAP Request |
Fehlerterminal | InformFailure | |
NoMatch | InformNoMatch | |
SOAP Request | Ausgangsterminal | InformWSResult |
Fehler | WSRR_OUT | |
InformFailure | Ausgangsterminal | WSRR_OUT |
InformWSResult | Ausgangsterminal | WSRR_OUT |
InformNoMatch | Ausgangsterminal | WSRR_OUT |
Knotenname | Seite | Eigenschaft | Wert |
---|---|---|---|
WSRR_IN | Grundeinstellung | Name der Warteschlange | WSRR_IN |
Syntaxanalyse der Eingabenachricht | Nachrichtendomäne | XMLNSC : Für XML-Nachrichten | |
SetVersion | Grundeinstellung | Rechenmodus | Lokale Umgebung und Nachricht |
Endpoint Lookup One | Grundeinstellung | Name des Porttyps | DemoCustomer |
Namespace des Porttyps | http://demo.sr.eis.ibm.com | ||
Version des Porttyps | 1.0 | ||
SOAP Request | Grundeinstellung | WSDL-Dateiname | Suchen Sie die Datei DemoCustomer_v10.wsdl, die Sie zuvor in den Nachrichtensatz 'WSRR-Konnektivität' (WSRR Connectivity) importiert haben. Wenn sie ausgewählt wird, füllt diese Datei die anderen Eigenschaften in der Seite 'Grundeinstellung' aus. |
Bindungsoperation | Setzen Sie diese Eigenschaft auf updateCustomer. | ||
HTTP-Transport | URL des Webdienstes | Geben Sie einen beliebigen Wert ein, z. B.: http://dummy. Diese Eigenschaft wird zur Laufzeit mit der Web-Service-URL des WSDL-Dokuments überschrieben, das aus dem WebSphere Service Registry and Repository abgerufen wurde. |
|
WSRR_OUT | Grundeinstellung | Name der Warteschlange | WSRR_OUT |
DECLARE soapenv NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/'; CREATE COMPUTE MODULE WSRR_Connectivity_SetVersion CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- Set the LE to the over-rides specified in the input data -- Note if the input message does not contain a Version tag, the LE will not be written SET OutputLocalEnvironment.ServiceRegistryLookupProperties.Version = InputRoot.XMLNSC.soapenv:Envelope.soapenv:Body.Request.Version; -- Store the MQMD to rebuild after HTTP Response node SET Environment.MQMD = InputRoot.MQMD; CALL CopyEntireMessage(); RETURN TRUE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE; CREATE COMPUTE MODULE WSRR_Connectivity_InformWSResult CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyEntireMessage(); -- The response from the WebService contains a HTTP Header -- Remove the HTTP header and create a MQMD header in order to propagate the message to a MQ output node SET OutputRoot.HTTPResponseHeader = NULL; CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD'; -- Retrieve the MQMD that was stored earlier SET OutputRoot.MQMD = Environment.MQMD; RETURN TRUE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE; CREATE COMPUTE MODULE WSRR_Connectivity_InformNoMatch CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyMessageHeaders(); CREATE LASTCHILD OF OutputRoot DOMAIN 'XMLNSC'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Version = '1.0'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Encoding = 'UTF-8'; CREATE LASTCHILD OF OutputRoot.XMLNSC NAME 'LookupResults'; SET OutputRoot.XMLNSC.LookupResults.WSRR_Request = InputRoot.XMLNSC.WSRR_Request; SET OutputRoot.XMLNSC.LookupResults.ServiceRegistry = 'No matching services!'; RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; END MODULE; CREATE COMPUTE MODULE WSRR_Connectivity_InformFailure CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyMessageHeaders(); CREATE LASTCHILD OF OutputRoot DOMAIN 'XMLNSC'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Version = '1.0'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Encoding = 'UTF-8'; CREATE LASTCHILD OF OutputRoot.XMLNSC NAME 'LookupResults'; SET OutputRoot.XMLNSC.LookupResults.WSRR_Request = InputRoot.XMLNSC.WSRR_Request; SET OutputRoot.XMLNSC.LookupResults.ServiceRegistry = 'Failure to retrieve Service from WSRR!'; SET OutputRoot.XMLNSC.LookupResults.Exception = InputExceptionList; RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; END MODULE;
Jetzt können Sie die Warteschlangen erstellen und den Nachrichtenfluss ausführen. Weitere Informationen hierzu finden Sie im Abschnitt Warteschlangen erstellen.
Zurück zur Erstellung des Mustercodes 'WebSphere Service Registry and Repository Connectivity'