Java EJB's from VB via CAS COM

I'm am trying to access a Java EJB on an Orion
application server from a VB app using the Early
Access version of the current CAS COM Bridge.
I am providing details of the Orion server configuration and also relevent statement for the VB app.
First, the following is the rmi.xml file for our orion server:
<?xml version="1.0"?>
<!DOCTYPE rmi-server PUBLIC "Orion RMI-server" "http://xmlns.oracle.com/ias/dtds/rmi-server.dtd">
<rmi-server port="23791" >
<!-- A remote server connection example -->
<!-- <server host="the.remote.server.com" username="adminUser" password="123abc" /> -->
<!-- path to the log-file where RMI-events/errors are stored -->
<log>
<file path="../log/rmi.log" />
</log>
</rmi-server>
Second, the following is our server.xml file:
<?xml version="1.0"?>
<!DOCTYPE application-server PUBLIC "-//Evermind//DTD Orion Application-server//EN" "http://xmlns.oracle.com/ias/dtds/application-server.dtd">
<application-server application-directory="../applications"
deployment-directory="../application-deployments">
<library path="../tools.jar" />
<rmi-config path="./rmi.xml" />
<jms-config path="./jms.xml" />
<log>
<file path="../log/server.log" />
</log>
<transaction-config timeout="30000" />
<global-application name="default" path="application.xml" />
<application name="eproposal" path="C:\oc4j\j2ee\home\applications\eproposal.ear auto-start="true" />
<global-web-app-config path="global-web-application.xml" />
<web-site path="./default-web-site.xml" />
<cluster id="-1335203624" />
</application-server>
Lastly, we are using the Early Access version of the current Sun J2EE CAS COM Bridge to access this server from a VB6 app. Sun's documentation for Accessing EJB components on a J2EE server from a VB app states the following:
Dim J2eeRi As J2eeRiServices
Set J2eeRi = New J2eeRiServices
J2eeRi.ProviderURL="iiop://host:port"
We replaced the call to ProviderURL with the following:
J2eeRi.ProviderURL="ormi://n6908ccj4b166/eproposal"
and when it executes we get the following error:
Invalid ProviderURL:ormi//n6908ccj4b166/eproposal
Can anyone provide any help?
Thanks,
Mike

the first stuff i haven't really looked at but this...
J2eeRi.ProviderURL="iiop://host:port"
is not the same as
J2eeRi.ProviderURL="ormi://n6908ccj4b166/eproposal"
1) where is the port.. shouldn't it look like
J2eeRi.ProviderURL="ormi://n6908ccj4b166/eproposal:5000"
if for example the port was 5000
2)also i'm not sure what is happening but in the error Invalid ProviderURL:ormi//n6908ccj4b166/eproposal
what has happened to the : between ormi and //
make sure the : is there too.
3)is the ormi part valid. this is the protocol no? should it not also be iiop. i really don't know about this one but it strikes me as odd....
hope this is somewhat helpful.

Similar Messages

  • Use J2EE CAS COM Bridge locally for non visual components

    if you only have non visual java-classes which you want to access locally through COM, you should use J2EE CAS COM Bridge. this is a very powerfull component, that makes it very easy to use about ANY java-class in VC++, VB, ASP and VBScripts. Some people said earlier in this forum, that you can only use EJBs which must also have been deployed in a J2EE EJB server. well that's not true!! if you need only local access to java-components, you can use J2EE CAS COM Bridge as well. All you need is just a JRE, actually you can have multiple JREs installed and choose among them, even dynamiclly in runtime. No JDKs and no additional J2EE components are required.
    J2EE CAS COM Bridge comes with very usefull tools and lots of examples that show, how you can access java-classes in VC++, VB, ASP, etc.
    So TRY THIS!!

    unfortunately, it's outdated! The last example (6) doesn't work. The batch file cloudUtil.bat has to be adjusted to use the current cloudscape JAR files. And even then, the Visual Basic Programm terminates with an Exception at line:
    Set AcctHome = J2eeRi.LookupEjbHome("MyAccount", "account.AccountHome")
    Exception:
    Run-time error '-2147467259 (80004005)':
    JavaException: java.lang.Exception: Could not call javax.naming.InitialContext.lookup because:
    javax.naming.CommunicationException: Can't find SerialContextProvider
    :-(

  • Problem calling java from vb via activex bridge

    I am trying to call java from vb via ActiveX Bridge and I am running into problems. I would appreciate any help.
    I am using Visual Basic 2010 express, and Java JDK 1.6.0_16. I have used the http://download.oracle.com/javase/1.4.2/docs/guide/beans/axbridge/developerguide/index.html page as a guideline. To try to make it work I took the following steps:
    1. Wrote a very simple java class (below):
    package xxx;
    import java.io.Serializable;
    public class axb implements Serializable {
    public int get_axb_Handle() {
    int Address = 12345678;
    return Address;
    2. After I compiled, and created the jar file. I built the dll using the following command:
    "C:\Program Files\Java\jdk1.6.0_16\bin\packager" -out "C:\Program Files\Java\jdk1.6.0_16\jre\axbridge\bin" E:\axb\dist\axb.jar xxx.axb
    3. I then registered using: regsvr32 axb.dll
    4. In Visual Basic Express IDE I use Project -> Add Reference to add Iterop.axb (dump below), and axb namespace
    5. In my basic code I use the following lines
    Dim axb1 As axb.axb
    axb1 = New axb.axb <== Crash here with AccessViolationException ( full exception below)
    What am I missing? Any help would be greatly appreciated
    Thanks
    Iterop.axb partial dump
    ___[MOD] C:\Documents and Settings\Elie A. Cohen.USINC022\My Documents\Visual Studio 2010\Projects\Repo API Example\Repo API Example\obj\x86\Release\Interop.axb.dll
    | M A N I F E S T
    |___[NSP] axb
    | |___[INT] axb.axb
    | | | .class interface public abstract auto ansi import /*02000006*/
    | | | implements axb.axbDispatch/*02000003*/
    | | | implements axb.axbSource_Event/*02000005*/
    | | | .custom /*0C000018:0A000001*/ instance void [mscorlib/*23000001*/]System.Runtime.InteropServices.GuidAttribute/*01000002*/::.ctor(string) /* 0A000001 */ = ( 01 00 24 34 45 36 44 30 44 41 38 2D 36 41 45 44 // ..$4E6D0DA8-6AED ...
    | | | .custom /*0C000019:0A000007*/ instance void [mscorlib/*23000001*/]System.Runtime.InteropServices.CoClassAttribute/*01000009*/::.ctor(class [mscorlib/*23000001*/]System.Type/*01000007*/) /* 0A000007 */ = ( 01 00 0C 61 78 62 2E 61 78 62 43 6C 61 73 73 00 // ...axb.axbClass. ...
    | |
    | |___[CLS] axb.axbClass
    | | | .class public auto ansi import /*02000004*/
    | | | implements axb.axbDispatch/*02000003*/
    | | | implements axb.axb/*02000006*/
    | | | implements axb.axbSource_Event/*02000005*/
    | | | .custom /*0C00000F:0A000008*/ instance void [mscorlib/*23000001*/]System.Runtime.InteropServices.ClassInterfaceAttribute/*0100000A*/::.ctor(int16) /* 0A000008 */ = ( 01 00 00 00 00 00 ) ...
    | | | .custom /*0C000010:0A000009*/ instance void [mscorlib/*23000001*/]System.Runtime.InteropServices.ComSourceInterfacesAttribute/*0100000B*/::.ctor(string) /* 0A000009 */ = ( 01 00 0F 61 78 62 2E 61 78 62 53 6F 75 72 63 65 // ...axb.axbSource ...
    | | | .custom /*0C000011:0A000001*/ instance void [mscorlib/*23000001*/]System.Runtime.InteropServices.GuidAttribute/*01000002*/::.ctor(string) /* 0A000001 */ = ( 01 00 24 43 44 42 46 36 42 33 33 2D 45 32 33 46 // ..$CDBF6B33-E23F ...
    | | | .custom /*0C000012:0A000002*/ instance void [mscorlib/*23000001*/]System.Runtime.InteropServices.TypeLibTypeAttribute/*01000003*/::.ctor(int16) /* 0A000002 */ = ( 01 00 02 00 00 00 ) ...
    | | |___[MET] method .ctor : void()
    | | |___[MET] method equals : bool(object)
    | | |___[MET] method getClass : object()
    | | |___[MET] method get_axb_Handle : int32()
    | | |___[MET] method hashCode : int32()
    | | |___[MET] method notify : void()
    | | |___[MET] method notifyAll : void()
    | | |___[MET] method toString : string()
    | | |___[MET] method wait : object(object,object)
    AccessViolationException exception
    System.AccessViolationException was unhandled
    Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    Source=mscorlib
    StackTrace:
    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
    at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
    at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
    at System.Activator.CreateInstance(Type type, Boolean nonPublic)
    at System.Activator.CreateInstance(Type type)
    at WindowsApplication1.Form1.getPatientHandle_Click(Object sender, EventArgs e) in C:\Documents and Settings\Elie A. Cohen.USINC022\my documents\visual studio 2010\Projects\Repo API Example\Repo API Example\Repo API Example.vb:line 13
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    at System.Windows.Forms.Application.Run(ApplicationContext context)
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
    at WindowsApplication1.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ThreadHelper.ThreadStart()
    InnerException:

    In case you haven't figured it out already... Or if anyone else is curious... Or for myself when I get old and forgetful...
    h2. Object Creation
    For starters, when you create an ActiveX object from within VB, use:
    Set myObject = CreateObject("JavaObject.Bean")When I refer to JavaObject.Bean, I'm meaning the full object name + ".Bean". So, in your case, you should use:
    Set myObject = CreateObject("xxx.axb.Bean")h2. Location
    The .dll file must be located in the JRE that is used at the time of calling. Meaning, the .dll file must be placed under <jre_home>\axbridge\bin and registered there.
    In your case:
    DLL:
    C:\Program Files\Java\jre6\axbridge\bin
    Jar:
    C:\Program Files\Java\jre6\axbridge\libh4. A Note:
    The only supported JRE is a 32bit version as far as I know with regards to the ActiveX bridge. Just like the packager.exe can only be found in the 32bit JDK.
    h2. Methods
    h3. Object Types
    ActiveX Bridge does not support passing literals or arrays. However, it does support passing java's primitive data types as Objects.
    Simply meaning:
    h4. Invalid:
    public int get_axb_Handle() {
         int Address = 12345678;
         return Address;
    }h4. Valid:
    public Integer get_axb_Handle() {
         int Address = 12345678;
         return Address;
    }On a normal circumstance, there's little difference between the two methods. However, in the second example, the JVM does a typecast from a literal data type to a object data type, resulting in a valid object to pass through to Visual Basic. Now, obviously there are multiple ways to do a proper change, new Integer(int) for example. It doesn't matter to me. At the end of the day, you have to pass an object.
    As a side note, the same idea applies when receiving data from Visual Basic.
    h4. Invalid:
    public void set_axb_Handle(int newHandle) {
         int Address = newHandle;
    }h4. Valid:
    public void set_axb_Handle(Integer newHandle) {
         int Address =newHandle;

  • JCO RFC Provider: "Bean not found" when calling EJB from ABAP via RFC

    Hello,
    I'm having trouble calling an EJB in a CE 7.1 system from ABAP via RFC. I'm trying to use the JCO RFC Provider service, which mean that I want to expose an EJB so that it can be called via Remote Function Call.
    I have documented everything, including the code and the deployment descriptors I wrote, in this thread in the CE forum: Jco RFC Provider: Bean not found
    If there's any chance you can help, please do me a favour and look into the problem.
    Thanks a lot!
    Thorsten

    Hi Vladimir,
    Thank you very much, your help was immensely valuable.
    I just had to add the function declaration to the Home Component interface, everything else was correct, and now it works.
    Cheers,
    Thorsten

  • Calling EJB from Oracle via IIOP

    I've spent the last two days trying to figure out how I can call an
    EJB from an Oracle Stored Procedure. I first looked into WLS JNDI
    (Using WLInitialContextFactory ), but my collegue recommended I look
    into IIOP because it is "less proprietary". I was able to get a WL
    example working that does a lookup on an EJB and "narrows" the IIOP
    object...so it looked promissing, but then I tried to load the JAR
    into Oracle and it said:
    "referenced name javax/rmi/PortableRemoteObject could not be found"
    So I did a quick check and it looks like this didn't come into
    existance until JDK 1.3. By all accounts, Oracle 8.1.6 supports JDK 2
    (1.2). So now I'm stuck. I've got a few examples about connecting to
    the Oracle ORB using session-iiop, but I don't know if Weblogic will
    be able to work with this. I don't know how I'd even call it because
    the URL requires an Oracle SID...so now what? I see three options.
    Please let me know which would be best (or another option that I'm
    missing)
    1. Try connecting with Weblogic "T3"
    2. Try to get the right combination of classes loaded so 1.2 can work
    like 1.3
    3. Use the Oracle IIOP (I have no examples for connecting to other
    ORBs so I have no idea how to lookup objects).
    Chris

    [email protected] (Chris Snyder) writes:
    Andy Piper <[email protected]> wrote in message news:<[email protected]>...
    [email protected] (Chris Snyder) writes:
    1. Try connecting with Weblogic "T3"It depends on what version of WLS you are using. If you are using 6.1
    then you are out-of-luck because this only support JDK 1.3.1.We are using WLS 6.1 and Oracle 8.1.6. There's got to be a way to
    connect what is essentially a 1.2 JVM to a 1.3.1 JVM. On my way home
    yesterday I was wondering if just straight RMI would work...although
    we need to encrypt the connection. I've seen several people talk
    about calling EJB's from stored procedures so it seems like there is a
    way. Any other ideas?The really gross way is HTTP. In a previous life I had a customer use
    oracle's HTTP plug-in to do this. You could probably invert the
    problem also. I.e. write CORBA objects that sit inside an Orb hosted
    in WLS and invoke on those using oracle's CORBA support. But HTTP is
    probably the way most likely to work. You probably couldn't use RMI
    over HTTP either - you would have to write a servlet that delegated to
    your beans.
    andy

  • How do you mark a message as spam when your mail comes from gmail via OS X Mail.app?

    How do you mark a message as spam when your mail comes from gmail via OS X Mail.app?
    I use IMAP to get Gmail. I seem to remember seeing a "[Gmail]/Spam" IMAP folder in previous versions of the app, but that's not visible any more.
    Without this, I have to log on to the web-based Gmail to mark messages as spam, that's a productivity killer.

    right mouse click on a message and select Mark as Junk Mail

  • Display data in Web DynPro table from database via EJB

    I have a JavaBeans model which has a method populateDataToTable()to retrieve data from database via Session bean (calling entity bean, returning ArrayList of data) and the data needed to be display in the Web DynPro table.
    User Interface (Web DynPro) <-> JavaBeans Model <-> Busineess Logic (session bean) <-> Persistence (Entity Bean)<-> DB table.
    The context bindiing and table part is ok. How do i load the data to the table ? what the coding to put in wdDoInit() ?
    Any help would be appreciated.

    in wdinit(),
    Collection col = new ArrayList();
    try{                    
      MyCommandBean bean = new MyCommandBean();
      col = bean.getDataFromDbViaEJB();
      wdContext.nodeMyCommandBean().bind(col);
    } catch (Exception ex) {
       ex.printStackTrace(ex); 
    in your JavaBean model class, MyCommandBean getDatafromDbViaEJB() method:
    Collection col = new ArrayList();
    Collection newcol = new ArrayList();
    //include your own context initialization etc...
    col = local.getDataViaSessionBean(param);
    // if your returned result also a bean class, reassigned it to current MyCommandBean
    for (Iterator iterator = col.iterator(); iterator.hasNext();) {
        MyOtherBean otherBean=(MyOtherBean)iterator.next();
        MyCommmandBean bean = new MyCommandBean();
        bean.attribute1 = outBean.getAttirbute1();
        // get other attibutes
        newcol.add(bean);
    return newcol;

  • Error while calling applet from Javascript via LiveConnect and WebDriver

    Hi all,
    I am trying to call applet Java code from Javascript via WebDriver.
    Given the following two cases:
    - calling a static method: Integer.parseInt("42")- constructing a new object: new String("Hello world")My Javascript code looks like this:
    document.appletId.Packages.java.lang.Integer.parseInt("42");
    new document.appletId.Packages.java.lang.String("Hello world");When executing this code in Firefox via the Firebug Javascript console everything works fine and I get the expected results. However, when executing this code via the JavascriptExecutor from WebDriver only the call to the static method succeeds, the construction of the new object leads to the following error: "Attempt to call a default method on object with no invokeDefault method."
    I don't have any idea what is going wrong here, so any help would be greatly appreciated.
    Thanks!

    Hello Gerard, Hello Krishna,
    -> The liveCache application failed with COM error::
                                   40028 Illegal timestamp in rough timegrid
    More details about COM error 40028 you will see in TA /n/sapapo/om10
         -> Return code: 40028 -> execute ::
    Invalid time stamp in the time buckets profile relation     
    ( om_ts_tgrelinvalidstamp )     
       < click on '?' mark >
    -> Open an OSS message in accordance with SAP note 167280 if further help
         needed to solve the issue on your system.
    Thank you and best regards, Natalia Khlopina

  • Can not find my EJB's from my Servlet

    Hi
    I am new to EJB and am trying to get a Servlet to call some sessionless EJB beans. I have got it working in JDeveloper but when I deploy it to orion application server I keep getting a javax.naming.NameNotFoundException exception throw from the Servlet when it tries to find the first EJB.
    The code in the Servlet is:
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.SECURITY_PRINCIPAL, "admin");
    env.put(Context.SECURITY_CREDENTIALS, "jewels");
    // env.put(Context.PROVIDER_URL, "ormi://localhost:23891/current-workspace-app");
    env.put(Context.PROVIDER_URL, "ormi://localhost:23791/dev");
    Context ctx = new InitialContext(env);
    System.out.println("Getting mapping class ejb");
    //mapping
    ExponentMappingServiceHome mappingHome = (ExponentMappingServiceHome)ctx.lookup("ExponentMappingServiceHome");
    ExponentMappingService mapping = mappingHome.create();
    My EJB xml looks like this:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
    <ejb-jar>
    <enterprise-beans>
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>ExponentMappingService</display-name>
    <ejb-name>ExponentMappingService</ejb-name>
    <home>com.exponent.ejb.service.map.ExponentMappingServiceHome</home>
    <remote>com.exponent.ejb.service.map.ExponentMappingService</remote>
    <ejb-class>com.exponent.ejb.service.map.ExponentMappingServiceBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>ExponentMappingViewsService</display-name>
    <ejb-name>ExponentMappingViewsService</ejb-name>
    <home>com.exponent.ejb.service.map.ExponentMappingViewsServiceHome</home>
    <remote>com.exponent.ejb.service.map.ExponentMappingViewsService</remote>
    <ejb-class>com.exponent.ejb.service.map.ExponentMappingViewsServiceBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>FalconService</display-name>
    <ejb-name>FalconService</ejb-name>
    <home>com.exponent.ejb.service.FalconServiceHome</home>
    <remote>com.exponent.ejb.service.FalconService</remote>
    <ejb-class>com.exponent.ejb.service.FalconServiceBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    I have been trying for a while to get the JNDI naming right but everything I try gets the above error. Any help would be great.
    Thanks
    Andre

    You have to lookup for "ExponentMappingService", and not "ExponentMappingServiceHome"
    The name you give in the <ejb-name> tag in ejb-jar.xml is the JNDI name of the EJB. This is the name u have to look up.

  • How can I persist a Java object to the PCD via JNDI ?

    Hi,
    I'm trying to persist XML data on the PCD via JNDI. I'm using
    portal version 6.2.0.4.200408172051.
    I followed the instructions in the "Portal Runtime Technology 640"
    document.
    The example they showed was:
    import javax.naming.Context;
    Context context = PortalRegistry.getCentralConfigurationContext();
    Context applicationContext = context.lookup("MyAppName");
    It was possible to obtain 'applicationContext' in the above example by
    using:-
    Context context = PortalRegistry.getCentralConfigurationContext();
    String appName = request.getComponentContext().getApplicationName();
    Context applicationContext = (Context) context.lookup(appName);
    However, any attempt to bind, rebind an object (implementing IStreamSource)
    resulted in NamingExcptions. As did 'listBindings' and 'list' (see below).
    BeanWrapper d = new BeanWrapper("test input");
    applicationContext.rebind("PCD_LOOKUP_KEY", d);
    // where 'd' implements IStreamSource
    class BeanWrapper implements IStreamSource {
    String content = "balh";
    BeanWrapper(String s) {
    content = s;
    public InputStream getInputStream() throws IOException {
    ByteArrayInputStream bis = new ByteArrayInputStream(content.getBytes());
    return bis;
    } // getInputStream
    } // BeanWrapper
    I don't know what I've done wrong. I couldn't find any more documentation
    on this topic...
    Any help would be appreciated.
    cheers,
    Michael
    javax.naming.NameNotFoundException: [Xfs] Object not found. Root exception is javax.naming.NamingException: [Xfs] Object not found
    at com.sapportals.portal.pcd.gl.xfs.BasicContext.lookup(BasicContext.java:840)
    at com.sapportals.portal.pcd.gl.PcdPersContext.lookup(PcdPersContext.java:422)
    at com.sapportals.portal.pcd.gl.PcdFilterContext.filterLookup(PcdFilterContext.java:387)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.basicContextLookup(PcdProxyContext.java:1083)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookupLink(PcdProxyContext.java:1170)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.proxyLookup(PcdProxyContext.java:1132)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.getBasicObject(PcdProxyContext.java:1330)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.getBasicContext(PcdProxyContext.java:1306)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.rebind(PcdProxyContext.java:473)
    at com.sapportals.portal.pcd.gl.PcdGlContext.rebind(PcdGlContext.java:1185)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.rebind(PcdProxyContext.java:515)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.rebind(PcdProxyContext.java:683)
    at com.sapportals.portal.pcd.gl.PcdProxyContext.rebind(PcdProxyContext.java:688)
    at com.sapportals.portal.prt.jndisupport.util.AbstractContextWrapper.rebind(AbstractContextWrapper.java:46)
    at com.siemens.pct.employee.cu_selector.CUSelector.saveCuBeanToPCD(CUSelector.java:305)
    at com.siemens.pct.employee.cu_selector.CUSelectorUpload.doUpload(CUSelectorUpload.java:70)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.handleRequestEvent(AbstractPortalComponent.java:700)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.handleEvent(AbstractPortalComponent.java:412)
    at com.sapportals.portal.prt.pom.ComponentNode.handleEvent(ComponentNode.java:250)
    at com.sapportals.portal.prt.pom.PortalNode.fireEventOnNode(PortalNode.java:333)
    at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:627)
    at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:208)
    at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
    at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
    at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:666)
    at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:313)
    at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
    at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
    at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
    at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
    at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)

    Hi Michael,
    here my comments to your questions:
    0.:[Michael says:]
    "So basically you're saying that under SP10 its not possible to store objects on the PCD ... ?"
    I want to clarify this:
    It is possible to store objects in the PCD in lower releases than SP10 (e.g. SP2). But due to the fact that PCD API is not public before SP10 you should not develop a SP2 iView that programmatically uses the PCD API and complain afterwards because some "tiny" things of it are not working in SP10. It might be that you have to adjust some parts of this SP2 iView.
    The kind of object that can be stored in the PCD depends on the fact if the objects have a corresponding object provider or not. If you want to store iViews, roles or one of the other commonly known portal objects you can do it because corresponding object provider (iViewservice, roleservice, etc.) are always available in a running portal.
    If you want to store objects (like your BeanWrapper class) then you should write a corresponding object provider (what I explained in my first reply).
    1.:[Michael asked:]
    Why does list and listBindings fail ? surely that should just
    list the existing bound objects ???
    Nothing was bound!
    Your code line
    applicationContext.rebind("PCD_LOOKUP_KEY", d);
    throws a NamingException because no object provider for class of object d was found.
    So I gess you did a lookup on  applicationContext.lookup( "PCD_LOOKUP_KEY" ) before you did the list/listBindings and because this
    context does not exist the corresponding "Name not found" exception was thrown?
    A list/listBinding on the applicationContext itself should work even if nothing was bound.
    2.:[Michael asked:]
    Is there not some kind of default object/object provider pair
    that can be used to store base types like Strings/Integers etc ?
    No. There are no default object providers for java string/integers. But for this case "persisting a string or integer value at any PCD context" the PCD offers another way to do it: Just create an additional attribute (of type STRING or INT) and persist the corresponding value in this attribute (of type IPcdAttribute - an extension of javax.naming.directory.Attribute )   
    The code for creating a pcd attribute looks e.g. like this:
    IPcdObjectFactory pcdObjFactory = ((IPcdGlService) PortalRuntime
                                                   .getRuntimeResources()
                                                   .getService(IPcdGlService.KEY))
                                                   .getPcdObjectFactory();
    IPcdAttribute newPcdAttr = pcdObjFactory.createPcdAttribute(     PcdAttributeValueType.STRING,
                                            "new_attrId" );     
    newPcdAttr.set(     0,
              "new_AttrValue" );
    ModificationItem mods[] = new ModificationItem[1];
    mods[0] = new ModificationItem(      DirContext.REPLACE_ATTRIBUTE,
                               (Attribute)newPcdAttr );
    pcdCtx.modifyAttributes(     "",
                        mods );
    Hope, that helps you!
    Regards,
    Jens

  • Calling foreign EJB server from Weblogic

    Hi,
    I'm trying to invoke an EJB hosted in an old PowerTier EJB Container from an 8.1 SP5 hosted EJB, and I'm running in to problems. (PowerTier is based on the JBroker ORB)
    So far the only way I can get it to work is by replacing Weblogic's ORB implementation with the JBroker one:
    -Djavax.rmi.CORBA.StubClass=com.sssw.jbroker.rmi.StubDelegate
    -Djavax.rmi.CORBA.UtilClass=com.sssw.jbroker.rmi.UtilDelegate
    -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.sssw.jbroker.rmi.PortableRemoteObjectDelegate
    But I'd like to avoid doing this if possible.
    So I'd like to get this to work using the WL RMI-IIOP implementation to integrate with the PowerTier/JBroker server.
    After looking at : http://forums.bea.com/bea/message.jspa?messageID=202437541&tstart=0
    I tried the following:
    Properties config = new Properties();
    config.setProperty(
    Context.PROVIDER_URL, "<b>iiop</b>://xxx.xxx.xxxxx.xxx:389/cn=Instance1,ou=Development,cn=Xxxx%20Xxxxxxx%20Xxxxx,ou=Components,cn=Xxxxxx%20Xxxx,ou=Applications,o=xxxxxxxx,c=uk");
    InitialContext context = new InitialContext(config);
    URL changed to protect the innocent - but format maintained.
    When the server executes this I get the following exception:
    javax.naming.InvalidNameException: url does not contain a port
    at weblogic.corba.j2ee.naming.NameParser.parseURL(NameParser.java:419)
    at weblogic.corba.j2ee.naming.ORBHelper.parseURL(ORBHelper.java:533)
    at weblogic.corba.j2ee.naming.ORBHelper.getORBReference(ORBHelper.java:440)
    at weblogic.corba.j2ee.naming.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:97)
    at weblogic.corba.j2ee.naming.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:42)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:135)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    Any idea what is causing this exception? If I replace the '%20' with a normal spaces it makes no difference.
    Am I going about this the right way?
    Thanks!

    Getting a bit closer now.
    The Object retreived from LDAP was a javax.naming.Reference - which contains the IOR for the Home interface.
    // Get IOR from LDAP
    InitialContext context;
    Hashtable config = new Hashtable();
    config.put(Context.PROVIDER_URL,"ldap://<host>:389/");
    config.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    context = new InitialContext(config);
    Reference reference = (Reference)context.lookup("<path to home>");
    // Get IOR from reference
    String ior = "" + reference.get(0).getContent();
    // Get WLS ORB
    ORB orb = (ORB)new InitialContext().lookup("java:comp/ORB");
    Object object = orb.string_to_object(ior);
    FooHome home = (FooHome)PortableRemoteObject.narrow(object, FooHome.class);
    Foo foo = home.create();
    // Everything works fine up to here.
    foo.invokeMethod(); // <-- This fails with the following exception :
    java.rmi.RemoteException: ; nested exception is:
    org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No
    at weblogic.iiop.OutboundRequestImpl.sendReceive(OutboundRequestImpl.java:197)
    at weblogic.iiop.IIOPRemoteRef.invokeInternal(IIOPRemoteRef.java:205)
    at weblogic.iiop.IIOPRemoteRef.invoke(IIOPRemoteRef.java:153)
    at ztkt.pl.Foo_IIOP_WLStub.invokeMethod(Unknown Source)
    at com.xyz.ezs.wl.ejb.PLProxyBean.invoke(PLProxyBean.java:56)
    at com.xyz.ezs.wl.ejb.PLProxy_o3b3ao_EOImpl.invoke(PLProxy_o3b3ao_EOImpl.java:45)
    at com.xyz.ezs.wl.ejb.PLProxy_o3b3ao_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:492)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:435)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:430)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:35)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    Caused by: org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at java.lang.Class.newInstance0(Class.java:306)
    at java.lang.Class.newInstance(Class.java:259)
    at weblogic.iiop.ReplyMessage.getThrowable(ReplyMessage.java:337)
    at weblogic.iiop.InboundResponseImpl.getThrowable(InboundResponseImpl.java:62)
    at weblogic.iiop.OutboundRequestImpl.sendReceive(OutboundRequestImpl.java:179)
    ... 15 more
    (Method, class and package names changed.)
    Has anyone seen this before? Any idea what might be causing it?

  • Error while loading javaGUI from BSP via Applet

    Hello Folks,
    i saw an interesting Thread by Thomas Jung (SAP) how to starting a R/3 Transaction via javaGUI from a Business Server Page. I did the same steps but get an Java Error while loading the applet. Can anyone help me?
    The error listed in the JavaConsole is:
    java.security.AccessControlException: access denied (java.util.PropertyPermission com.sap.platin.productType read)
         at java.security.AccessControlContext.checkPermission(Unknown Source)
         at java.security.AccessController.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
         at java.lang.System.getProperty(Unknown Source)
         at com.sap.platin.micro.Version.guessVersionType(Version.java:230)
         at com.sap.platin.GuiAppletBase2.findProductType(GuiAppletBase2.java:324)
         at com.sap.platin.GuiApplet2.getProductType(GuiApplet2.java:18)
         at com.sap.platin.GuiAppletBase2.<init>(GuiAppletBase2.java:54)
         at com.sap.platin.GuiApplet2.<init>(GuiApplet2.java:14)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    All Jar-Libraries are imported in the Application Mime-Repository...and regardless the JavaGUI is installed on my local host or not, i get the same error...
    Thanks in advance for your help,
    Christian Kremer

    Hi,
    You can check the below forums.
    DTP with error RSBK257
    - Jaimin

  • Java EJB client "Can't connect to ORB" errors...

    I'm writing an application that is a Java EJB client application (no web
    stuff at all). Needless to say there are no examples of such an app in
    the samples dir, they are all web-based.
    My problem is that when I try to run my application (client calls a
    stateless session bean on the server and gets a "hello world" string
    back) I get a "Could not create the TestService bean:
    javax.naming.CommunicationException: Cannot connect to ORB [Root
    exception is org.omg.CORBA.COMM_FAILURE:   minor code: 1 completed:
    Maybe]" error.
    This is a very simple test, and I'm getting quite frustrated in trying
    to figure out what's actually wrong.
    Here's the client code (the bean on the server has been deployed into a
    module called achptestEjb, the bean name is TestService)
    TestService service = null;
    TestServiceHome home=null;
    String host = "localhost";
    String port = "12345";
    try {
    Properties env = new Properties();
    Context context=null;
    String jndiName="ejb/achptestEjb/TestService";
    System.out.println("JNDI name is "+jndiName);
    env.put
    ("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
    env.put("java.naming.provider.url", "iiop://"+host+":"+port);
    context = new InitialContext(env);
    The error comes when the new InitialContext is set with the properties
    in the env object.
    Any ideas what I'm doing wrong?
    It would be a BIG help if iPlanet included one simple pure EJB client
    example. There are some of us out here who feel HTML is too limiting
    for complicated applications.
    Douglas Bullard

    I finally found the answer to my problem.... in the Ant script I had
    copied from another example, the "-iiop" was lacking in the ejbc
    arguments - almost all of the examples assume you'll be calling EJBs
    from within the container, instead of a stand-alone client, so they
    don't use that flag.
    Putting that "-iiop" flag into the ejbc arguments fixed everything.
    Thanks, Shivani, for pointing out what is now obvious but was
    mysterious.
    Douglas Bullard
    In article <[email protected]>,
    [email protected] says...
    I'm writing an application that is a Java EJB client application (no web
    stuff at all). Needless to say there are no examples of such an app in
    the samples dir, they are all web-based.
    My problem is that when I try to run my application (client calls a
    stateless session bean on the server and gets a "hello world" string
    back) I get a "Could not create the TestService bean:
    javax.naming.CommunicationException: Cannot connect to ORB [Root
    exception is org.omg.CORBA.COMM_FAILURE:   minor code: 1 completed:
    Maybe]" error.
    This is a very simple test, and I'm getting quite frustrated in trying
    to figure out what's actually wrong.
    Here's the client code (the bean on the server has been deployed into a
    module called achptestEjb, the bean name is TestService)
    TestService service = null;
    TestServiceHome home=null;
    String host = "localhost";
    String port = "12345";
    try {
    Properties env = new Properties();
    Context context=null;
    String jndiName="ejb/achptestEjb/TestService";
    System.out.println("JNDI name is "+jndiName);
    env.put
    ("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
    env.put("java.naming.provider.url", "iiop://"+host+":"+port);
    context = new InitialContext(env);
    The error comes when the new InitialContext is set with the properties
    in the env object.
    Any ideas what I'm doing wrong?
    It would be a BIG help if iPlanet included one simple pure EJB client
    example. There are some of us out here who feel HTML is too limiting
    for complicated applications.
    Douglas Bullard

  • J2ee cas com bridge help

    Hi,
    I need documentation about j2ee cas com bridge. I know that is not still supported but I have to mantain a software that was developed in vb6 using .class files. I have to check something but I haven't the documentation. Does someone knows where I can find it?
    Thanks
    Valy

    There is now an IBM product available for free download.
    See http://www.alphaworks.ibm.com/tech/dtjcb?open&S_TACT=104AHW61&S_CMP=GR&ca=dgr-eclpsw02awdtjcb
    I have been trying today to investigate migrating from CASCOM to this product. It appears to have the facilities I need (i.e. COM client to Java Server) but I'm having trouble trying to 'match' the two products.
    CASCOM can generate TLB files for use by the COM application direct from the Java class, whereas it appears that you have to provide IDL definitions for all Interfaces from scratch, and then convert them to TLBs using 'midl'. Anyone been through a migration already who could share their experiences??
    Thanks
    Steve Waters

  • How drive ejb beans from such as COMPANY with..

    I am very new to EJBs but would like to give a try and dooooooooooooo it of course. Now, I understnad how to write jave(ejb interfaces and classes) but makes me small is how define ejb beans from my bosses speach. He says we need to ....... so for example COMPANY(company name, contact, references + more) could be our business objects. HAH!
    So pmy roblem is what should be an ejb bean and what should be ejb bean fields.
    Thanks a lot in advance.
    gapter

    Its really not that difficult really. First - if you decide that your business object is going to be a Bean - Determine if it should be an EJB or just a regular Java Object bean in which case you'll probaly just use a Java Bean. The two are very similar with the exception that JB's are not Distributed but can do most of the grunge work that an EJB is suppose to do.
    Next, determine what business methods or transactions are most likely to be done to your Business Object. This should determines the interface. So far that's all routine.
    If you are decide that an EJB is what your problem demands (after much research into your problem) - then ask if your business object will be persistent (exist for a long time and will need storage (say on a persistent storage media like in a database) Or whether it will just require session scope (or just to be present the duration of a transaction/session - like say a shopping cart). The former requires a Entity Bean, the latter a Session Bean.
    You then create your implementation code in a NameOfClassEJB class. A Container Management class NameOfClassHOME, and of course your Business Method Interface called NameOfClass.
    The BMI (business method Interface class) is trivial. Your EJB class however will contain all the implementation required to get work done depending on the choice of Implementation - that is, whether you wish to handle all transactions (Bean Managed) or if you would rather delegate to the Container to handle Storage Issues (Container Managed). With Container Management - You get a lot for free - like concurrency control, database connectivity is trivial, distributed transaction management is trivial, field updates in your database is totally out of your hands. etc ...
    For a beginner - its better if you take time to study the ejb lifecycle, the J2EE Business Architecture, then the solution that they proposed for application development. This is not trivial and has a steep learning curve.
    Have fun.
    Next determine if you want to handle all of the transactions between the properties (or fields) in the bean or you'd like the Application Server's Container to do this for you. (Most EJB's at least the simple ones are better off being handled by the Container).
    going to be an employee: say with name, address, tel, email: Y

Maybe you are looking for

  • Firefox takes a long time to start, unless I disconnect from the internet first, in which case it starts instantly.

    Whenever I start firefox, it takes an inordinately long time (usually close to a minute, sometimes longer) to start up. i.e. no window, no nothing. In task manager, it shows no activity for cpu, disk, or network activity - it's as if it's waiting for

  • Can no longer listen to low-quality WAV files

    I have used iTunes to organize and listen to voice files recorded on portable digital recorders and cameras, but today discovered that they no longer work. Furthermore I can no longer import these files, with no error message. Should I look to replac

  • How a *.exe called from Java

    hi, everybody my question is very short: how a *.exe can be called in Java? For example when user clicks a button, the *.exe specified by me must be called. Someone said me that in "System" library there is a "process" package which supports this, bu

  • Can't do selective QinQ on my ME3400?

    Hi. We recently purchased a ME-3400G-2CS-A in order to do some selective QinQ. I have the full Metro IP Access license. I'm trying to follow the guide, but it isn't working. Guide shows: Switch(config)# interface gigabiethernet0/1 Switch(config-if)#

  • Unable to retrieve public key and signature.

    Hi, I'am trying to send public key and signature from one client to another via server. Both pub_key and signature are encrypted into base64. But i cant retrieve them correctly in server side. I'am using ECDSA to sign message key_length 224bit. Sendi