Aufruf eines FuBa's (RFC) über einen EJB via Enterpr. Conn.

WAS, Netweaver, Fiori

Aufruf eines FuBa's (RFC) über einen EJB via Enterpr. Conn.

Postby Holger3626 » Sun Aug 19, 2007 1:04 am

Hallo,

Ich möchte gerne über einen EJB auf einen Funktionsbaustein in einem
BW-System zugreifen. Für den Zugriff auf diesen FuBa habe ich über NWDS
Proxy-Classen (Entreprise Connector) generiert.
Über diesen Proxy kann ich lokal (über NWDS) den FuBa aufrufen (siehe
Code-Besipiel).

Wenn ich den selben Aufruf integriert in einem EJB durchführe (den selben Code), scheitert die Anwendung schon in der Methode connectToSAP(...).

Woran kann es liegen ?
Was muss ich beachten damit ich eine JCO-Verbindung zu einem FuBa (über eine Enterprise Connector) auf einem J2EE-Server (SAP Web AS) aufbauen kann ?


Ich danke Euch im Voraus und verbleibe
mit freundlichen Güßen
A. Büyükyilmaz



ANHANG
-------------------------------------------------------

/*
* Created on 13.02.2007
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package de.hshnordbank.test.ep.main;

import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import com.sap.aii.proxy.framework.core.ApplicationFaultException;
import com.sap.aii.proxy.framework.core.SystemFaultException;
import com.sap.mw.jco.JCO;

import de.hshnordbank.docfactory.wpreport.connectivity.fuba.Anlage_PortType;
import de.hshnordbank.docfactory.wpreport.connectivity.fuba.Zge_Gerel_Data_For_Kne_Kn_Input;
import de.hshnordbank.docfactory.wpreport.connectivity.fuba.Zge_Gerel_Data_For_Kne_Kn_Output;

/**
* @author pg4011
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class GetAnlage {

private JCO.Client mConnection = null;

public boolean connectToSAP(
String client,
String user,
String passwd,
String lang,
String appServer,
String sysNo) {

try {
mConnection =
JCO.createClient(client, user, passwd, lang, appServer, sysNo);
mConnection.connect();
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}

public static void main(String[] args) {

GetAnlage anlage = new GetAnlage();

if (anlage.connectToSAP ("50", "abc", "pwd", "DE", "system", "00")) {

System.out.println("Anlage wird erstellt");
anlage.getData();
System.out.println("");

}
System.exit(0);
}


private void getData() {

// ImportParameter

Zge_Gerel_Data_For_Kne_Kn_Input input = new Zge_Gerel_Data_For_Kne_Kn_Input();

// Hole proxy Instance mit JCO.Client instance

Anlage_PortType proxy = new Anlage_PortType();
proxy.messageSpecifier.setJcoClient(mConnection);
Zge_Gerel_Data_For_Kne_Kn_Output output = new Zge_Gerel_Data_For_Kne_Kn_Output();

input.setI_Bp_Nr("7901514764");
input.setI_View("03");
input.setI_Spras("DE");
Date stichtag = new Date(2006, 9, 22);
input.setI_Stichtag(stichtag);
//Rufe RFC auf
try {
output = proxy.zge_Gerel_Data_For_Kne_Kn(input);
String s = "<?xml version=" + "\"1.0\"" + " encoding=" + "\"ISO-8859-1\"" + " ?>"+ "<Y>" + output.toXml() + "</Y>";
System.out.println(s);
} catch (SystemFaultException e) {
e.printStackTrace();
} catch (ApplicationFaultException e) {
e.printStackTrace();
}

}

}
Holger3626
.
.
 
Posts: 1
Joined: Sun Aug 19, 2007 1:04 am

Return to Web Application Server

Who is online

Users browsing this forum: No registered users and 3 guests

cron