Gehen Sie nach den folgenden Anweisungen vor, um den Web-Service-Client-Nachrichtenfluss aus einer vorhandenen WSDL-Definition zu erstellen. Der Web-Service-Nachrichtenfluss muss über die zuvor importierte Datei OrderService.wsdl erfolgreich erstellt worden sein (siehe Web-Service-Nachrichtenfluss und Nachrichtengruppe erstellen).
Knotentyp | Knotenname |
---|---|
MQInput | MQWSInput |
MQOutput | MQWSOutput |
Rechnen | Compute Request (Rechenanforderung), Format Response (Formatantwort) |
SOAPAsyncRequest-Knoten | SOAP Asynchronous Request (Asynchrone SOAP-Anforderung) |
SOAPAsyncResponse-Knoten | SOAP Asynchronous Response (Asynchrone SOAP-Antwort) |
Knotenname | Terminal | Mit diesem Knoten verbinden |
---|---|---|
MQWSInput | Ausgangsterminal | Compute Request (Rechenanforderung) |
Compute Request (Rechenanforderung) | Ausgangsterminal1 | SOAP Asynchronous Request (Asynchrone SOAP-Anforderung) |
SOAPAsyncResponse-Knoten | Ausgangsterminal | Format Response (Formatantwort) |
Format Response (Formatantwort) | Ausgangsterminal1 | MQWSOutput |
Das nachfolgende Diagramm zeigt einen Screenshot des Nachrichtenflusses 'WebServicesAsyncClientFlow' mit miteinander verbundenen Knoten:
Nachrichtendomäne | XMLNSC |
Nachrichtengruppe | SampleDriverMessages |
DECLARE ns NAMESPACE 'http://www.acmeOrders.com/OrderService'; CREATE COMPUTE MODULE WebServicesAsyncClientFlow_Compute CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN DECLARE inMsg REFERENCE TO InputRoot.XMLNSC.OrderMessage.localElement; SET OutputRoot.SOAP.Body.ns:submitPORequest.partNo = inMsg.PartNumber; DECLARE outMsg REFERENCE TO OutputRoot.SOAP.Body.ns:submitPORequest; SET outMsg.partQuantity = inMsg.Quantity; SET outMsg.personName.firstName = inMsg.FirstName; SET outMsg.personName.lastName = inMsg.LastName; SET outMsg.address.street = inMsg.Street; SET outMsg.address.city = inMsg.City; SET outMsg.address.zipCode = inMsg.ZipCode; RETURN TRUE; END; END MODULE;
CREATE COMPUTE MODULE WebServicesAsyncClientFlow_Format CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN SET OutputRoot.Properties.MessageDomain = 'XMLMSC'; SET OutputRoot.Properties.MessageSet = 'SampleDriverMessages'; SET OutputRoot.Properties.MessageType = 'OrderResponse'; DECLARE inMsg REFERENCE TO InputRoot.SOAP.Body.ns:submitPOResponse; SET OutputRoot.XMLNSC.OrderResponse.PartNo = inMsg.partNo; DECLARE respMsg REFERENCE TO OutputRoot.XMLNSC.OrderResponse; SET respMsg.PartQuantity = inMsg.partQuantity; SET respMsg.AMT = inMsg.orderAmt; SET respMsg.Status = inMsg.orderStatus; RETURN TRUE; END; END MODULE;
Jetzt können Sie die Warteschlangen für den Mustercode erstellen. Weitere Informationen erhalten Sie im Abschnitt WebSphere MQ-Warteschlangen erstellen.
Zurück zur Erstellung des Mustercodes 'Asynchronous Consumer'