Ich möchte in NetWeaver von einer JSP(in EAR1) auf ein Session-Bean(in EAR2) zugreifen.
Beide EAR's sollen auf dem gleichen Server liegen, einem SAP 7.1 Web-Application-Server.
Jedoch funktioniert das ganze nicht so wie es soll.
Sobald ein narrow auf das interface erzeugt werden soll bricht die Funktion ab.
So sieht mein JSP aus:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="javax.naming.Context, javax.naming.InitialContext,
javax.rmi.PortableRemoteObject, com.sap.sdn.ejb.HelloWorldLocal" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World</title>
</head>
<body>
<%
try {
Context ctx = new InitialContext();
Object o = ctx.lookup(
"com.tsi/MS_HelloWorldEAR/LOCAL/HelloWorldBean/com.sap.sdn.ejb.HelloWorldLocal");
HelloWorldLocal helloRef = (HelloWorldLocal)
PortableRemoteObject.narrow(o, HelloWorldLocal.class); <-- Abbruch
String msg = helloRef.sayHello("World");
out.println(msg);
out.println("Sie befinden sich noch im try-Block");
} catch (Exception e) {
out.println("Funktion im try-Block fehlgeschlagen: " + e.getMessage());
}
%>
</body>
</html>
Weiss zufällig einer was ich da flasch mache?
Denke, dass ich da irgendwo noch ne Class-Loader-Referenz einbauen muss oder sowas, aber habe ehrlich gesagt keine Ahnung wie das funktioniert...
Habe dem DynamicWebProject im Java Build Path auch die entsprechende Library(nur mit den Interfaces ohne die eigentliche Bean) zugewiesen.
Als ich den Client noch auf meinem Rechner hab laufen lassen, ohne ihn wie die bean auf den server zu deployen hat das ganze einwandfrei über das remote-interface funktioniert.
Vielleicht weiß ja einer von euch Rat.
Mfg Michael