!--a11y-->
Java-Proxies als Sender 
Sie wollen Messages von einer J2EE-Anwendung an den Integration Server senden.
Die von der Java-Proxy-Generierung generierten Proxy-Beans und Proxy-Klassen müssen zusammen mit dem Anwendungsprogramm deployed werden. Dazu nehmen Sie sie in die gleiche EAR-Datei auf, in der sich die Klassen Ihrer Anwendung befinden. Die generierten Klassen sind allerdings von den Klassen des Java-Proxy-Framework abhängig, das auf dem J2EE-Server installiert sein muss. Um diese Abhängigkeit für EJB-Anwendungen zu deklarieren, nehmen Sie folgende Pakete mit in die Deskriptor-Datei application-j2ee-engine.xml auf:
com.sap.aii.proxy.xiruntime
com.sap.aii.af.sdk.xi
com.sap.xi.util.misc
com.sap.guid
Alle Bibliotheksabhängigkeiten sind vom Typ weak und haben den Provider-Namen sap.com.
Sie haben ein Outbound-Message-Interface im Integration Repository angelegt, mit der Sie die Aufrufer-Schnittstelle beschreiben. Mit Hilfe der Java-Proxy-Generierung haben Sie Client-Proxy-Beans und Client-Proxy-Klassen generiert, die Sie in Ihre Anwendung mit aufnehmen.
Die Java-Proxy-Generierung generiert alle notwendigen Java-Klassen für ein Client-Proxy: Die EJB 2.0 Bean-Klasse, home- und remote-Interfaces sowie die local home und local interfaces, sowie Java-Klassen für die verwendeten Datentypen.
Die Client-Proxy-Bean zum Outbound-Message-Interface ist eine zustandslose Session-Bean. Um Messages zu senden und weitere Services zu nutzen, arbeiten Sie mit normalen EJB-Aufrufen: Sie lokalisieren die Bean über JNDI, erzeugen ein home oder local home interface, erzeugen ein remote oder local interface zur Bean und rufen schließlich die Methode des remote beziehungsweise local interface auf. Das Bean ruft dann die zugehörige Methode der Client-Proxy-Klasse auf, die aus dem Aufruf eine Message erzeugt und über das Messaging-System an den Integration Server weiterleitet:


Informationen zur Konfiguration und zum Monitoring des Messaging-Systems finden Sie im Konfigurationsleitfaden SAP MarketSet Adapter and Messaging System unter http://service.sap.com/instguides, SAP Exchange Infrastructure.
Um zusätzliche Services der Java-Proxy-Laufzeit zu nutzen, stellt die Laufzeit ein MessageSpecifier-Interface zur Verfügung. Über dieses Interface können Sie zum Beispiel Attachments mit der Message versenden. Siehe: Das MessageSpecifier-Interface.
Da die Proxy-Laufzeit EJB 2.0 unterstützt, können Sie sogenannte co-located Beans einsetzen. Diese Beans werden in dem gleichen EJB-Containersystem deployed und auf der selben Java VM ausgeführt. Der Vorteil von co-located Beans ist eine bessere Performance.
Sie greifen auf co-located Beans über das local und local home interface zu, die zusätzlich zu den home- und remote-Interfaces von EJB1.1 generiert werden. Um co-located Beans von remote Beans zu unterscheiden, verwenden Sie das Präfix localejbs/.
In diesem Fall ruft die Standalone-Anwendung eine Proxy-Bean auf der SAP J2EE Engine. Der J2EE-Server findet die gerufene Proxy-Bean nur, wenn die Datei jndi.properties im Klassenpfad zu finden ist und entsprechende konfiguriert ist. Die Datei ermöglicht es der Anwendung über den Naming-Service des J2EE-Servers die Proxy-Bean ausfindig zu machen. Dazu muss die Datei im Arbeitsverzeichnis der Standalone-Anwendung zu finden sein und folgende Einträge haben:
java.naming.factory.initial=com.sap.engine.services.jndi.InitialContextFactoryImpl
java.naming.provider.url=<host>:<p4port>
(beispielsweisejava.naming.provider.url=localhost:50004)
java.naming.security.principal=Administrator
java.naming.security.credentials=<Passwort>
Alternativ können Sie diese Attribute auch direkt in Ihrem Anwendungsprogramm setzen.
Ansonsten gibt es keine Unterschiede zur Programmierung gegen eine Proxy-Bean von einer J2EE-Anwendung aus.