Mustercode 'SOAP Nodes' für JMS-Transport konfigurieren

Vorbereitungen:

Wenn Sie den Mustercode unter Linux ausführen, müssen Sie folgende Schritte ausführen:

  1. Fügen Sie die Klasse JMSAdmin zum Klassenpfad hinzu, indem Sie folgende Datei zum Klassenpfad hinzufügen:
    >MQ_Installationsverzeichnis</java/lib/com.ibm.mqjms.jar
  2. Fügen Sie die Java-Speicherposition zur Variablen PATH hinzu, indem Sie folgenden Code in den Klassenpfad einschließen:
    >JAVA_HOME</bin

Verwaltete Objekte mit dem Tool JMSAdmin erstellen

Die folgenden Anweisungen setzen voraus, dass WebSphere MQ im Verzeichnis MQ-Installationsverzeichnis installiert ist. Das JMSAdmin-Tool und die JMSAdmin-Konfigurationsdatei befinden sich an folgenden Speicherpositionen:

Im Projekt 'SOAP Nodes Sample Flow' müssen Sie die Datei SOAPJMSSample.defs mit dem Tool JMSAdmin verwenden.

Bevor Sie das Tool JMSAdmin verwenden können, muss die Datei JMSAdmin.config geändert werden.

Datei JMSAdmin.config ändern

So ändern Sie die Datei JMSAdmin.config:

  1. Öffnen Sie in einem Texteditor die Datei JMSAdmin.config.
  2. Setzen Sie alle Optionen, die nicht erforderlich sind, auf Kommentar, indem Sie ein Nummernzeichen (#) hinzufügen. Entfernen Sie die Kommentarzeichen für alle erforderlichen Optionen, indem Sie das Nummernzeichen (#) löschen.
    # The following line specifies which JNDI service provider is in use.
    #  It currently indicates a File System Context. If a different
    #  service provider is used, this line must be commented out, and the
    #  appropriate one must be uncommented.
    #
    #  com.sun.jndi.fscontext.RefFSContextFactory is the FileSystem JNDI Context
    #
    #INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
    INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    #INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
    #INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory
    #
    #  The following line specifies the URL of the initial context
    #  for the service provider. It currently refers to a File System Context. 
    #  Examples of an LDAP root context URL and the JNDI namespace for WebSphere 
    #  are also shown, commented out.
    #
    	#PROVIDER_URL=ldap://localhost/o=ibm,c=us
    	PROVIDER_URL=file:/C:/SOAPJNDIBindings
    	#PROVIDER_URL=iiop://localhost/	
    
  3. Stellen Sie sicher, dass PROVIDER_URL auf /C:/SOAPJNDIBindings oder ein funktional entsprechendes Verzeichnis unter Linux gesetzt ist und INITIAL_CONTEXT_FACTORY auf com.sun.jndi.fscontext.RefFSContextFactory gesetzt ist.
  4. Speichern Sie die Datei.

Sie können jetzt die Objekte erstellen.

Objekte erstellen

Erstellen Sie die von JNDI verwalteten Objekte, um die im Mustercode verwendeten JMS-Verbindungsfactorys und Ziele zu konfigurieren, indem Sie das Tool WebSphere MQ JMSAdmin ausführen.

Sie erstellen die Objekte, indem Sie das Tool JMSAdmin ausführen und die Datei SOAPJMSSample.defs als Eingabe verwenden.

Geben Sie folgende Befehle in der Befehlszeile ein:

Dabei gilt: WebSphere MQ ist im Verzeichnis MQ-Installationsverzeichnis installiert und Arbeitsbereichspfad ist der vollständige Pfad des Arbeitsverzeichnisses von WebSphere Message Broker Toolkit.

Die Objekte und die BINDINGS-Datei (.bindings) werden erstellt.

SOAP-Knoten für JMS konfigurieren

  1. Öffnen Sie den Nachrichtenfluss SOAPNodesSampleFlows.SOAPNodesSampleProviderFlow im Nachrichtenflusseditor.
  2. Klicken Sie mit der rechten Maustaste auf den SOAPInput-Knoten im Nachrichtenfluss und klicken Sie anschließend auf Eigenschaften, um die Ansicht 'Eigenschaften' aufzurufen.
  3. Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte Grundeinstellung aus.
  4. Der Wert im Feld Imported binding (Importierte Bindung) ist auf OrderServiceSOAP und der Wert für die Eigenschaft Transport ist auf HTTP gesetzt. Ändern Sie den Wert von Imported binding (Importierte Bindung) in OrderServiceSOAPJMSBinding. Der Wert der Eigenschaft Transport wird in JMS geändert.
  5. Öffnen Sie den Nachrichtenfluss SOAPNodesSampleFlows.SOAPNodesSampleConsumerFlow im Nachrichtenflusseditor und konfigurieren Sie das Feld Imported binding für den SOAPRequest-Knoten, indem Sie die oben beschriebenen Schritte ausführen.

JNDI-Pfad in den Nachrichtenflüssen konfigurieren

SOAP-Knoten mit der Position der JMS-Bindungsdatei konfigurieren:

  1. Öffnen Sie den Nachrichtenfluss SOAPNodesSampleFlows.SOAPNodesSampleProviderFlow im Nachrichtenflusseditor.
  2. Klicken Sie mit der rechten Maustaste auf den SOAPInput-Knoten im Nachrichtenfluss und klicken Sie anschließend auf Eigenschaften, um die Ansicht 'Eigenschaften' aufzurufen.
  3. Wählen Sie in der Ansicht Eigenschaften die Registerkarte JMS-Transport aus.
  4. Geben Sie im Feld JNDI-URL-Bindungen für Speicherposition den Pfad ein, der in der Datei JMSAdmin.config in der Zeile PROVIDER_URL angegeben ist.
  5. Stellen Sie sicher, dass der in den Knoteneigenschaften eingegebene Pfad mit dem in der Datei JMSAdmin.config angegebenen Pfad übereinstimmt. Wenn die beiden Pfadangaben nicht übereinstimmen, funktionieren die Nachrichtenflüsse nicht.
  6. Speichern Sie den Nachrichtenfluss.
  7. Öffnen Sie den Nachrichtenfluss SOAPNodesSampleFlows.SOAPNodesSampleConsumerFlow im Nachrichtenflusseditor und konfigurieren Sie den SOAPRequest-Knoten mit der Position der Datei .bindings, indem Sie die oben beschriebenen Schritte ausführen.
  8. Die Nachrichtenflüsse sind jetzt konfiguriert und können für den Broker implementiert werden.

BAR-Datei erneut erstellen und Nachrichtenflüsse implementieren

Erstellen Sie zum Implementieren der geänderten Nachrichtenflüsse SOAPNodesSampleConsumer und SOAPNodesSampleProvider eine neue Brokerarchivdatei (BAR-Datei), die beide Nachrichtenflüsse enthält.

BAR-Datei erstellen:

  1. Doppelklicken Sie auf die BAR-Datei SOAPNodesSampleFlows.SOAPNodesSampleBAR.bar.
  2. Klicken Sie in der Registerkarte Verwalten auf Erstellen, um die BAR-Datei erneut zu erstellen.
  3. Speichern Sie die neue BAR-Datei.
  4. Klicken Sie auf die BAR-Datei und ziehen Sie sie in die standardmäßige Ausführungsgruppe in der Brokeransicht. Dadurch werden die Nachrichtenflüsse auf dem Broker implementiert.

Sie können den Mustercode jetzt ausführen (siehe Abschnitt Mustercode 'SOAP Nodes' ausführen'). Sie können denselben Flusstest verwenden, weil der Clientnachrichtenfluss von einer WebSphere MQ-Warteschlange gesteuert wird.

Zurück zum Beginn des Mustercodes