Show TOC

Application Programming Interfaces für die Outbound-Proxy-KommunikationLocate this document in the navigation structure

Verwendung

Sie verwenden die folgenden SAP-spezifischen Interface-Pattern, um die Steuerung von Anwendungen durch die Outbound-Proxy-Laufzeit zu erweitern. Sie verwenden XIManagementInterfaceFactory, XIManagementInterface und XIMessageContext, um die Java-WS-Outbound-Proxys für die XI-Message-Kommunikation zu aktiveren. Sie können die oben genannten APIs dazu verwenden, die XI-Kommunikation über die Java-Proxy-Laufzeit (JPR) zu aktivieren.

Weitere Informationen zur JPR finden Sie unter: Java-Proxy-Laufzeit .

XIManagementInterfaceFactory

  • Factory-Klassenname

    com.sap.engine.services.webservices.espbase.client.api.XIManagementInterfaceFactory

  • Factory-Methoden

    //Creates an implementation of XIManagementInterface for the specified port.
     XIManagementInterface create(Object port);
    
                      

XIManagementInterface

Dies ist ein Interface-Pattern, das erweiterte Steuerung des XI-Managements der Outbound-Proxys ermöglicht.

  • Extension-Interface-Name

    com.sap.engine.services.webservices.espbase.client.api.XIManagementInterface

  • Factory-Klassenname

    com.sap.engine.services.webservices.espbase.client.api.XIManagementInterfaceFactory

  • Interface-Methoden

    //Configures the type of the Java runtime transport: XI or SOAP
     void useXITransport(boolean useXICommunication);
     //Returns the type of the Java runtime transport, true identifies an XI transport
     boolean getUseXITransport();
     //Returns request XI message context
     XIMessageContext getRequestXIMessageContext();
     //Configures an implementation of interface ESPXIMessageProcessor. This implementation 
     //represents the XI transport and is used by the Java runtime to communicate with 
     //the IS in an XI manner (with XI messages). This method can be used for testing purposes.
     void setESPXIMessageProcessor(ESPXIMessageProcessor xiMessageProcessor);
     //Returns the implementation of the interface ESPXIMessageProcessor which is used by the Java 
     //runtime for performing an XI communication
     ESPXIMessageProcessor getESPXIMessageProcessor();
    
                      

XIMessageContext

Dies ist ein Interface-Pattern, das erweiterte Steuerung der XI-Messages ermöglicht.

  • Extension-Interface-Name

    com.sap.engine.services.webservices.espbase.client.api.XIMessageContext

  • Factory-Klassenname

    com.sap.engine.services.webservices.espbase.client.api.XIManagementInterfaceFactory

  • Interface-Methoden

    //Configures application acknowledgement listener name
     void setApplicationAckRequested(String ackListenerName);
    //Configures system acknowledgement listener name
     void setSystemAckRequested(String ackListenerName);
    //Configures application error acknowledgement listener name
     void setApplicationErrorAckRequested(String ackListenerName);
    //Configures system error acknowledgement listener name
     void setSystemErrorAckRequested(String ackListenerName);
    //Configures sender party name
     void setSenderPartyName(String senderPartyName);
    //Configures sender service name
     void setSenderService(String senderService);
    //Configures queue id
     void setQueueId(String queueId);
    //Adds a receiver
     void addReceiver(String receiverPartyName, String receiverPartyAgency,String 
                    hreceiverPartyScheme, String receiverService);
    //Removes all receivers
     void clearReceivers();
    
                      

In der untenstehenden Tabelle wird die Verwendung der XIMessageContext -Methoden erklärt:

Wert

Beschreibung

void setApplicationAckRequested(String ackListenerName);

Diese Methode fordert ein positives Anwendungs-Acknowledgement an und bestätigt, dass der Empfänger die Message erfolgreich verarbeitet.

Der Wert von ackListenerName ist der JNDI-Name der Acknowledgement-Listener-Bean.

void setSystemAckRequested(String ackListenerName);

Diese Methode fordert ein positives System-Acknowledgement an und bestätigt, dass der Empfänger erfolgreich erreicht wurde.

Für Provider-Proxys bedeutet dies, dass die Implementierungsklasse für den Provider-Proxy gefunden und die Methode für die Eingangsverarbeitung angefordert werden kann.

Der Wert von ackListenerName ist der JNDI-Name der Acknowledgement-Listener-Bean.

void setApplicationErrorAckRequested(String ackListenerName);

Die Methode fordert ein negatives Anwendungs-Acknowledgement an und zeigt an, ob bei der Verarbeitung der Message beim Empfänger ein Fehler aufgetreten ist.

Der Wert von ackListenerName ist der JNDI-Name der Acknowledgement-Listener-Bean.

void setSystemErrorAckRequested(String ackListenerName);

Diese Methode fordert ein negatives System-Acknowledgement an und generiert einen Messaging-Laufzeit-Report, der anzeigt, dass bei der Übertragung oder Verarbeitung der Message auf ihrem Weg zum Empfänger ein Fehler aufgetreten ist. So können beispielsweise Fehler im Mapping-Programm oder ein fehlender Provider-Proxy im Empfängersysten dieses Acknowledgement auslösen.

Der Wert von ackListenerName ist der JNDI-Name der Acknowledgement-Listener-Bean.

void setQueueId(String queueId);

Diese Methode ermöglicht es Ihnen, mehreren Messages einen Serialisierungskontext zuzuordnen und Exactly Once In Order als Quality of Service zu garantieren.

Der String queueId berücksichtigt Großschreibung und kann maximal 16 Zeichen haben.

Alle asynchronen Messages mit dem gleichen Serialisierungskontext werden in der gleichen Reihenfolge auf der Empfängerseite empfangen, wie sie beim Commit auf der Sender-Seite in der Ausgangsqueue abgelegt wurden.

void addReceiver(String receiverPartyName, String receiverPartyAgency, String receiverPartyScheme, String receiverService);

Diese Methode fügt der Menge der Empfänger im Consumer-Proxy einen Empfänger hinzu. Bei unternehmensübergreifender Kommunikation müssen Sie hierbei den Kommunikationspartner, die vergebende Agentur und das Identifikationsschema angeben.

void clearReceivers();

Diese Methode entfernt alle angegebenen Empfänger.