Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

Proxy Generation (ejb2pb90)

15 posts in EJB Client Last posting was on 2003-08-18 09:07:40.0Z
bede Posted on 2003-06-11 09:05:31.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Proxy Generation (ejb2pb90)
Date: Wed, 11 Jun 2003 11:05:31 +0200
Lines: 23
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-231.unknown.uunet.be 194.7.38.231
Message-ID: <359_Om2y9j$LDHA.221@forums-1-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-1-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:55
Article PK: 424255

Hi,

To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm testing a
bit with JBoss app-server on which the server-programmers have installed and
java-tested the EJBs.

I'm trying to generate proxies based on a jar-file for an EJB called
SessionMgmtSession
This is done on a client machine having only PB9 and the jar that contains
the class files for this EJB + it's parameters, ... .
This should normally be enough to generate the proxies, right?

Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath BaseCamp.jar
be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
error:
"Can't get information of
be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"

What am i doing wrong?

ben


bede Posted on 2003-06-11 09:24:18.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Wed, 11 Jun 2003 11:24:18 +0200
Lines: 33
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-228.unknown.uunet.be 194.7.38.228
Message-ID: <359_#tsYRw$LDHA.218@forums-2-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:56
Article PK: 424254

"To prepare our EAServer app to run on other (3rd party) app.servers", i
meant.

"bede" <bede@nospam.sofico.be> wrote in message
news:Om2y9j$LDHA.221@forums-1-dub...
> Hi,
>
> To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm testing
a
> bit with JBoss app-server on which the server-programmers have installed
and
> java-tested the EJBs.
>
> I'm trying to generate proxies based on a jar-file for an EJB called
> SessionMgmtSession
> This is done on a client machine having only PB9 and the jar that contains
> the class files for this EJB + it's parameters, ... .
> This should normally be enough to generate the proxies, right?
>
> Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath
BaseCamp.jar
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
> error:
> "Can't get information of
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
>
> What am i doing wrong?
>
> ben
>
>


Jim O'Neil [Sybase] Posted on 2003-06-11 13:33:39.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: joneil@sybase.com (Jim O'Neil [Sybase])
Subject: Re: Proxy Generation (ejb2pb90)
Date: Wed, 11 Jun 2003 13:33:39 GMT
Organization: Sybase Technical Support
Reply-To: joneil_REMOVETHISPART@sybase.com
X-Newsreader: Forte Free Agent 1.21/32.243
NNTP-Posting-Host: joneilpc.sybase.com 199.93.179.216
Lines: 35
Message-ID: <359_3ee72f28.1187968@forums.sybase.com>
References: <359_Om2y9j$LDHA.221@forums-1-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:57
Article PK: 424257

is basecamp.jar in the current directory? does the
SessionMgmtSessionHome class exist? Currently, the EJB proxy
generator assumes the home interface is named the same as the remote
with 'Home' appended.

The error you are getting generally means that it can't find the
class. You should have a proxieserr.txt file (or something like that)
in the directory as well. That will provide the output of the javap
command that failed.

On Wed, 11 Jun 2003 11:05:31 +0200, "bede" <bede@nospam.sofico.be>

wrote:

>Hi,
>
>To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm testing a
>bit with JBoss app-server on which the server-programmers have installed and
>java-tested the EJBs.
>
>I'm trying to generate proxies based on a jar-file for an EJB called
>SessionMgmtSession
>This is done on a client machine having only PB9 and the jar that contains
>the class files for this EJB + it's parameters, ... .
>This should normally be enough to generate the proxies, right?
>
>Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath BaseCamp.jar
>be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
>error:
> "Can't get information of
>be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
>
>What am i doing wrong?
>
>ben
>
>

Jim O'Neil
Principal Technical Support Engineer
Sybase, Inc.
Concord, MA


bede Posted on 2003-06-11 13:59:32.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Wed, 11 Jun 2003 15:59:32 +0200
Lines: 83
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-236.unknown.uunet.be 194.7.38.236
Message-ID: <359_uapbEKCMDHA.339@forums-2-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_3ee72f28.1187968@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:59
Article PK: 424259

thanks Jim (see inline)

"Jim O'Neil [Sybase]" <joneil@sybase.com> wrote in message
news:3ee72f28.1187968@forums.sybase.com...
> is basecamp.jar in the current directory? does the

Yes

> SessionMgmtSessionHome class exist? Currently, the EJB proxy
Yes

> generator assumes the home interface is named the same as the remote
> with 'Home' appended.
it's conform this

I discovered that it sometimes (see other post) works when i copy the
serverfiles locally, and provide the full path to the server
C:\jboss-3.2.1\server\basecamp\deploy\BaseCamp.jar (also see attached
file)


> The error you are getting generally means that it can't find the
> class. You should have a proxieserr.txt file (or something like that)
> in the directory as well. That will provide the output of the javap
> command that failed.
Unfortunately the proxieserr.txt contains that same not-very-revealing line
of "Can't get information of
be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"

furthermore, a java-client had been made which can get to the EJB and invoke
the login -method.

All ideas appreciated.


>
> On Wed, 11 Jun 2003 11:05:31 +0200, "bede" <bede@nospam.sofico.be>
> wrote:
>
> >Hi,
> >
> >To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm
testing a
> >bit with JBoss app-server on which the server-programmers have installed
and
> >java-tested the EJBs.
> >
> >I'm trying to generate proxies based on a jar-file for an EJB called
> >SessionMgmtSession
> >This is done on a client machine having only PB9 and the jar that
contains
> >the class files for this EJB + it's parameters, ... .
> >This should normally be enough to generate the proxies, right?
> >
> >Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath
BaseCamp.jar
> >be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
> >error:
> > "Can't get information of
> >be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
> >
> >What am i doing wrong?
> >
> >ben
> >
> >
>
> Jim O'Neil
> Principal Technical Support Engineer
> Sybase, Inc.
> Concord, MA


bede Posted on 2003-06-11 15:18:11.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Wed, 11 Jun 2003 17:18:11 +0200
Lines: 34
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-237.unknown.uunet.be 194.7.38.237
Message-ID: <359_eHy3M0CMDHA.345@forums-1-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-1-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:60
Article PK: 424263

Seems that when i have a JBoss instance running on the machine where the
proxies are being generated, the generation gives no errors, but with the
missing public functions (see before)

"bede" <bede@nospam.sofico.be> wrote in message
news:Om2y9j$LDHA.221@forums-1-dub...
> Hi,
>
> To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm testing
a
> bit with JBoss app-server on which the server-programmers have installed
and
> java-tested the EJBs.
>
> I'm trying to generate proxies based on a jar-file for an EJB called
> SessionMgmtSession
> This is done on a client machine having only PB9 and the jar that contains
> the class files for this EJB + it's parameters, ... .
> This should normally be enough to generate the proxies, right?
>
> Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath
BaseCamp.jar
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
> error:
> "Can't get information of
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
>
> What am i doing wrong?
>
> ben
>
>


Jim O'Neil [Sybase] Posted on 2003-06-11 16:34:31.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: joneil@sybase.com (Jim O'Neil [Sybase])
Subject: Re: Proxy Generation (ejb2pb90)
Date: Wed, 11 Jun 2003 16:34:31 GMT
Organization: Sybase Technical Support
Reply-To: joneil_REMOVETHISPART@sybase.com
X-Newsreader: Forte Free Agent 1.21/32.243
NNTP-Posting-Host: joneilpc.sybase.com 199.93.179.216
Lines: 48
Message-ID: <359_3ee7592a.11940719@forums.sybase.com>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:61
Article PK: 424258

The origin of the JAR and the server you have running is really not a
factor.

Can you try the following in a DOS prompt

set CLASSPATH=<fullpath>\BaseCamp.jar;%CLASSPATH%
ejb2pb90 be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession

assuming that still fails, run in the same command window

javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession

and then

javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome

javap is being used by the EJB proxy generator, so any errors you are
seeing should also be seen by javap. Let me know what the javap
output is.

Jim

On Wed, 11 Jun 2003 17:18:11 +0200, "bede" <bede@nospam.sofico.be>

wrote:

>Seems that when i have a JBoss instance running on the machine where the
>proxies are being generated, the generation gives no errors, but with the
>missing public functions (see before)
>
>"bede" <bede@nospam.sofico.be> wrote in message
>news:Om2y9j$LDHA.221@forums-1-dub...
>> Hi,
>>
>> To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm testing
>a
>> bit with JBoss app-server on which the server-programmers have installed
>and
>> java-tested the EJBs.
>>
>> I'm trying to generate proxies based on a jar-file for an EJB called
>> SessionMgmtSession
>> This is done on a client machine having only PB9 and the jar that contains
>> the class files for this EJB + it's parameters, ... .
>> This should normally be enough to generate the proxies, right?
>>
>> Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath
>BaseCamp.jar
>> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
>> error:
>> "Can't get information of
>> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
>>
>> What am i doing wrong?
>>
>> ben
>>
>>
>
>

Jim O'Neil
Principal Technical Support Engineer
Sybase, Inc.
Concord, MA


bede Posted on 2003-06-12 07:24:54.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Thu, 12 Jun 2003 09:24:54 +0200
Lines: 118
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-229.unknown.uunet.be 194.7.38.229
Message-ID: <359_uSrqNSLMDHA.218@forums-2-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:62
Article PK: 424260

Jim,

The PC i'm working on has been mine for the last 2 weeks only. Before that,
java & XML development was done so it could be that settings, due to
pre-installed stuff, are jumbled up.
First thing i've done on it was installing PB 8.0.2 (for current production)
and PB9 (for near-future production).

for requested output: see inline

Ben

"Jim O'Neil [Sybase]" <joneil@sybase.com> wrote in message
news:3ee7592a.11940719@forums.sybase.com...
> The origin of the JAR and the server you have running is really not a
> factor.
>
> Can you try the following in a DOS prompt
>
> set CLASSPATH=<fullpath>\BaseCamp.jar;%CLASSPATH%
> ejb2pb90 be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession

Output still the same:

P:\HelloWorld>set CLASSPATH=P:\HelloWorld\BaseCamp.jar;%CLASSPATH%

P:\HelloWorld>echo %CLASSPATH%
P:\HelloWorld\BaseCamp.jar;C:\Program
Files\Altova\xmlspy\XMLSpyInterface.jar;c:\castor\lib;C:\castor\org\exolab\c
astor\
builder;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-api.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jax
b-ri.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-xjc.
jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-libs.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxp-a
pi.jar;c:\jwsdp-1.1\jaxb-1.0\lib\xercesImpl.
jar;c:\jwsdp-1.1\jaxb-1.0\lib\sax.jar;c:\jwsdp-1.1\jaxb-1.0\lib\dom.jar;c:\j
wsdp-1.1\jaxb-1.0\lib\jax-qname.jar;c:\j2sdk
1.4.1_01\bin;C:\jwsdp-1.1\jakarta-ant-1.5.1\bin

P:\HelloWorld>ejb2pb90
be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession

P:\HelloWorld>cat ejbproxies.err
Can't get information of
be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome

>
> assuming that still fails, run in the same command window
>
> javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession

P:\HelloWorld>javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
Error: No binary file 'EJBObject'


>
> and then
>
> javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome

P:\HelloWorld>javap
be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
Error: No binary file 'EJBHome'


>
> javap is being used by the EJB proxy generator, so any errors you are
> seeing should also be seen by javap. Let me know what the javap
> output is.
>
> Jim
>
> On Wed, 11 Jun 2003 17:18:11 +0200, "bede" <bede@nospam.sofico.be>
> wrote:
>
> >Seems that when i have a JBoss instance running on the machine where the
> >proxies are being generated, the generation gives no errors, but with the
> >missing public functions (see before)
> >
> >"bede" <bede@nospam.sofico.be> wrote in message
> >news:Om2y9j$LDHA.221@forums-1-dub...
> >> Hi,
> >>
> >> To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm
testing
> >a
> >> bit with JBoss app-server on which the server-programmers have
installed
> >and
> >> java-tested the EJBs.
> >>
> >> I'm trying to generate proxies based on a jar-file for an EJB called
> >> SessionMgmtSession
> >> This is done on a client machine having only PB9 and the jar that
contains
> >> the class files for this EJB + it's parameters, ... .
> >> This should normally be enough to generate the proxies, right?
> >>
> >> Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath
> >BaseCamp.jar
> >> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
> >> error:
> >> "Can't get information of
> >> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
> >>
> >> What am i doing wrong?
> >>
> >> ben
> >>
> >>
> >
> >
>
> Jim O'Neil
> Principal Technical Support Engineer
> Sybase, Inc.
> Concord, MA


bede Posted on 2003-06-12 07:53:45.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Thu, 12 Jun 2003 09:53:45 +0200
Lines: 247
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-238.unknown.uunet.be 194.7.38.238
Message-ID: <359_uPpEhgLMDHA.348@forums-1-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uSrqNSLMDHA.218@forums-2-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-1-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:63
Article PK: 424261

it gave the same errors for the HelloWorld-example.
After talking to a java-colleague & installing j2sdkee1.3.1 and including
the j2ee.jar in the classpath it helped.
As you can see the bean implements another class called ISessionMgmtSession
and that contains the methods.


Output:


P:\HelloWorld>set CLASSPATH=C:\j2sdkee1.3.1\lib\j2ee.jar;%CLASSPATH%

P:\HelloWorld>set CLASSPATH=C:\j2sdkee1.3.1\lib\j2ee.jar;%CLASSPATH%

P:\HelloWorld>javap
be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
Compiled from SessionMgmtSessionHome.java
public interface be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
extends javax.ejb.EJBHome {
public abstract be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
create() throws java.rmi.RemoteException, jav
ax.ejb.CreateException;
}

P:\HelloWorld>javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
Compiled from SessionMgmtSession.java
public interface be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
extends javax.ejb.EJBObject, be.sofico.basecamp.
sess.sessionmgmt.ISessionMgmtSession {
}

P:\HelloWorld>javap be.sofico.basecamp.sess.sessionmgmt.ISessionMgmtSession
Compiled from ISessionMgmtSession.java
public interface be.sofico.basecamp.sess.sessionmgmt.ISessionMgmtSession
extends be.sofico.basecamp.general.util.SofRemo
te {
public abstract be.sofico.basecamp.sess.sessionmgmt.SessionSessPar
login(java.lang.String, java.lang.String) throws
java.rmi.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError logout(int) throws
java.rmi.RemoteException;
public abstract be.sofico.basecamp.sess.sessionmgmt.SessionSessPar
getSessionSettings(int) throws java.rmi.RemoteExc
eption;
public abstract be.sofico.basecamp.sess.sessionmgmt.EnumSessPar
getEnumerationLists(int, int[]) throws java.rmi.Remo
teException;
public abstract be.sofico.basecamp.parameter.SofError
setCurrentLanguage(int, int) throws java.rmi.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setStaticLanguage(int, int) throws java.rmi.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setCurrentCurrency(int, int) throws java.rmi.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setCurrentLeasingCompany(int, int) throws java.rmi.RemoteExcep
tion;
public abstract be.sofico.basecamp.parameter.SofError
setUseOfficialLanguage(int, short) throws java.rmi.RemoteExcep
tion;
public abstract be.sofico.basecamp.parameter.SofError
setUseOfficialCurrency(int, short) throws java.rmi.RemoteExcep
tion;
public abstract be.sofico.basecamp.parameter.SofError
setUseCurrentLeasingCompany(int, short) throws java.rmi.Remote
Exception;
public abstract be.sofico.basecamp.parameter.SofError
changePassword(int, int, java.lang.String, java.lang.String) t
hrows java.rmi.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setDefaultLanguage(int, int, int) throws java.rmi.RemoteExcept
ion;
public abstract be.sofico.basecamp.parameter.SofError
setDefaultCurrency(int, int, int) throws java.rmi.RemoteExcept
ion;
public abstract be.sofico.basecamp.parameter.SofError
setDefaultLeasingCompany(int, int, int) throws java.rmi.Remote
Exception;
public abstract be.sofico.basecamp.parameter.SofError
setUseOfficialLanguageDefault(int, int, short) throws java.rmi
.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setUseOfficialCurrencyDefault(int, int, short) throws java.rmi
.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setUseCurrentLeasingCompanyDefault(int, int, short) throws jav
a.rmi.RemoteException;
public abstract be.sofico.basecamp.sess.sessionmgmt.LanguageSessPar
getAllLanguages(int) throws java.rmi.RemoteExcep
tion;
public abstract be.sofico.basecamp.sess.sessionmgmt.CurrencySessPar
getAllCurrencies(int) throws java.rmi.RemoteExce
ption;
public abstract
be.sofico.basecamp.sess.sessionmgmt.LeasingCompanySessPar
getAllowedLeasingCompanies(int, int) throw
s java.rmi.RemoteException;
public abstract
be.sofico.basecamp.sess.sessionmgmt.MandatoryOfficialLanguageSessPar
getAllMandatoryOfficialLanguage
s(int) throws java.rmi.RemoteException;
public abstract java.lang.String getServerDiagnostics(int) throws
java.rmi.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setExceptionalLogging(int, short, java.lang.String, int) throw
s java.rmi.RemoteException;
public abstract be.sofico.basecamp.parameter.SofError
setSessionDate(int, java.lang.String) throws java.rmi.RemoteEx
ception;
public abstract be.sofico.basecamp.parameter.SofError
resetSessionDate(int) throws java.rmi.RemoteException;
}

P:\HelloWorld>

"bede" <bede@nospam.sofico.be> wrote in message
news:uSrqNSLMDHA.218@forums-2-dub...
> Jim,
>
> The PC i'm working on has been mine for the last 2 weeks only. Before
that,
> java & XML development was done so it could be that settings, due to
> pre-installed stuff, are jumbled up.
> First thing i've done on it was installing PB 8.0.2 (for current
production)
> and PB9 (for near-future production).
>
> for requested output: see inline
>
> Ben
>
> "Jim O'Neil [Sybase]" <joneil@sybase.com> wrote in message
> news:3ee7592a.11940719@forums.sybase.com...
> > The origin of the JAR and the server you have running is really not a
> > factor.
> >
> > Can you try the following in a DOS prompt
> >
> > set CLASSPATH=<fullpath>\BaseCamp.jar;%CLASSPATH%
> > ejb2pb90 be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
>
> Output still the same:
>
> P:\HelloWorld>set CLASSPATH=P:\HelloWorld\BaseCamp.jar;%CLASSPATH%
>
> P:\HelloWorld>echo %CLASSPATH%
> P:\HelloWorld\BaseCamp.jar;C:\Program
>
Files\Altova\xmlspy\XMLSpyInterface.jar;c:\castor\lib;C:\castor\org\exolab\c
> astor\
>
builder;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-api.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jax
> b-ri.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-xjc.
>
jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-libs.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxp-a
> pi.jar;c:\jwsdp-1.1\jaxb-1.0\lib\xercesImpl.
>
jar;c:\jwsdp-1.1\jaxb-1.0\lib\sax.jar;c:\jwsdp-1.1\jaxb-1.0\lib\dom.jar;c:\j
> wsdp-1.1\jaxb-1.0\lib\jax-qname.jar;c:\j2sdk
> 1.4.1_01\bin;C:\jwsdp-1.1\jakarta-ant-1.5.1\bin
>
> P:\HelloWorld>ejb2pb90
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
>
> P:\HelloWorld>cat ejbproxies.err
> Can't get information of
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
>
> >
> > assuming that still fails, run in the same command window
> >
> > javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
>
> P:\HelloWorld>javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
> Error: No binary file 'EJBObject'
>
>
> >
> > and then
> >
> > javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
>
> P:\HelloWorld>javap
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
> Error: No binary file 'EJBHome'
>
>
> >
> > javap is being used by the EJB proxy generator, so any errors you are
> > seeing should also be seen by javap. Let me know what the javap
> > output is.
> >
> > Jim
> >
> > On Wed, 11 Jun 2003 17:18:11 +0200, "bede" <bede@nospam.sofico.be>
> > wrote:
> >
> > >Seems that when i have a JBoss instance running on the machine where
the
> > >proxies are being generated, the generation gives no errors, but with
the
> > >missing public functions (see before)
> > >
> > >"bede" <bede@nospam.sofico.be> wrote in message
> > >news:Om2y9j$LDHA.221@forums-1-dub...
> > >> Hi,
> > >>
> > >> To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm
> testing
> > >a
> > >> bit with JBoss app-server on which the server-programmers have
> installed
> > >and
> > >> java-tested the EJBs.
> > >>
> > >> I'm trying to generate proxies based on a jar-file for an EJB called
> > >> SessionMgmtSession
> > >> This is done on a client machine having only PB9 and the jar that
> contains
> > >> the class files for this EJB + it's parameters, ... .
> > >> This should normally be enough to generate the proxies, right?
> > >>
> > >> Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath
> > >BaseCamp.jar
> > >> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in
the
> > >> error:
> > >> "Can't get information of
> > >> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
> > >>
> > >> What am i doing wrong?
> > >>
> > >> ben
> > >>
> > >>
> > >
> > >
> >
> > Jim O'Neil
> > Principal Technical Support Engineer
> > Sybase, Inc.
> > Concord, MA
>
>


Jim O'Neil [Sybase] Posted on 2003-06-12 13:09:56.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: joneil@sybase.com (Jim O'Neil [Sybase])
Subject: Re: Proxy Generation (ejb2pb90)
Date: Thu, 12 Jun 2003 13:09:56 GMT
Organization: Sybase Technical Support
Reply-To: joneil_REMOVETHISPART@sybase.com
X-Newsreader: Forte Free Agent 1.21/32.243
NNTP-Posting-Host: joneilpc.sybase.com 199.93.179.216
Lines: 100
Message-ID: <359_3ee87b89.1925909@forums.sybase.com>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uSrqNSLMDHA.218@forums-2-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:68
Article PK: 424265

As you later discovered, you need the J2EE classes (i.e., javax.ejb.*)
on the classpath as well.

On Thu, 12 Jun 2003 09:24:54 +0200, "bede" <bede@nospam.sofico.be>

wrote:

>Jim,
>
>The PC i'm working on has been mine for the last 2 weeks only. Before that,
>java & XML development was done so it could be that settings, due to
>pre-installed stuff, are jumbled up.
>First thing i've done on it was installing PB 8.0.2 (for current production)
>and PB9 (for near-future production).
>
>for requested output: see inline
>
>Ben
>
>"Jim O'Neil [Sybase]" <joneil@sybase.com> wrote in message
>news:3ee7592a.11940719@forums.sybase.com...
>> The origin of the JAR and the server you have running is really not a
>> factor.
>>
>> Can you try the following in a DOS prompt
>>
>> set CLASSPATH=<fullpath>\BaseCamp.jar;%CLASSPATH%
>> ejb2pb90 be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
>
>Output still the same:
>
>P:\HelloWorld>set CLASSPATH=P:\HelloWorld\BaseCamp.jar;%CLASSPATH%
>
>P:\HelloWorld>echo %CLASSPATH%
>P:\HelloWorld\BaseCamp.jar;C:\Program
>Files\Altova\xmlspy\XMLSpyInterface.jar;c:\castor\lib;C:\castor\org\exolab\c
>astor\
>builder;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-api.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jax
>b-ri.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-xjc.
>jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxb-libs.jar;c:\jwsdp-1.1\jaxb-1.0\lib\jaxp-a
>pi.jar;c:\jwsdp-1.1\jaxb-1.0\lib\xercesImpl.
>jar;c:\jwsdp-1.1\jaxb-1.0\lib\sax.jar;c:\jwsdp-1.1\jaxb-1.0\lib\dom.jar;c:\j
>wsdp-1.1\jaxb-1.0\lib\jax-qname.jar;c:\j2sdk
>1.4.1_01\bin;C:\jwsdp-1.1\jakarta-ant-1.5.1\bin
>
>P:\HelloWorld>ejb2pb90
>be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
>
>P:\HelloWorld>cat ejbproxies.err
>Can't get information of
>be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
>
>>
>> assuming that still fails, run in the same command window
>>
>> javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
>
>P:\HelloWorld>javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession
>Error: No binary file 'EJBObject'
>
>
>>
>> and then
>>
>> javap be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
>
>P:\HelloWorld>javap
>be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome
>Error: No binary file 'EJBHome'
>
>
>>
>> javap is being used by the EJB proxy generator, so any errors you are
>> seeing should also be seen by javap. Let me know what the javap
>> output is.
>>
>> Jim
>>
>> On Wed, 11 Jun 2003 17:18:11 +0200, "bede" <bede@nospam.sofico.be>
>> wrote:
>>
>> >Seems that when i have a JBoss instance running on the machine where the
>> >proxies are being generated, the generation gives no errors, but with the
>> >missing public functions (see before)
>> >
>> >"bede" <bede@nospam.sofico.be> wrote in message
>> >news:Om2y9j$LDHA.221@forums-1-dub...
>> >> Hi,
>> >>
>> >> To prepare our EAServer app (serverside = EJBs, clientside=PB) i'm
>testing
>> >a
>> >> bit with JBoss app-server on which the server-programmers have
>installed
>> >and
>> >> java-tested the EJBs.
>> >>
>> >> I'm trying to generate proxies based on a jar-file for an EJB called
>> >> SessionMgmtSession
>> >> This is done on a client machine having only PB9 and the jar that
>contains
>> >> the class files for this EJB + it's parameters, ... .
>> >> This should normally be enough to generate the proxies, right?
>> >>
>> >> Using the IDE or the ejb2pb90, the command "ejb2pb90 -classpath
>> >BaseCamp.jar
>> >> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession" results in the
>> >> error:
>> >> "Can't get information of
>> >> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome"
>> >>
>> >> What am i doing wrong?
>> >>
>> >> ben
>> >>
>> >>
>> >
>> >
>>
>> Jim O'Neil
>> Principal Technical Support Engineer
>> Sybase, Inc.
>> Concord, MA
>
>

Jim O'Neil
Principal Technical Support Engineer
Sybase, Inc.
Concord, MA


bede Posted on 2003-06-12 14:01:05.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Thu, 12 Jun 2003 16:01:05 +0200
Lines: 51
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-233.unknown.uunet.be 194.7.38.233
Message-ID: <359_uwxqmvOMDHA.187@forums-2-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uL8J3IMMDHA.220@forums-1-dub> <359_3ee8797b.1400333@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:69
Article PK: 424262

Jim,

Thanks for the enlightment.
some remarks below.

Ben

> you should get another proxy for the interface that is implemented
True, we have gotten one, somehow (still can't figure out how to generate
those proxies flawlessly)
The question is: How to reference to this class?
Normally you would have..

SessionMgmtSession l_session
SessionMgmtSessionHome l_sessionHome
SessionSessPar l_sessPar

// Lookup
l_sessionHome= g_EJBConn.lookup("SessionMgmtSessionHome", &
JNDI_NAME,
"be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome")

// Invoke
lPar = l_session.login( "test", "test")


... but all implemented operations on ISessionMgmtSession are not available
on l_session, so where and how does the ISessionMgmtSession come in the
picture?

> >What would you advise us to do now? We could write a convertorclass, but
> >that will take lots of time
>I'm not sure I understand this part. With the exception of the public
>class variables not being available, you should be ok.

How do we go on from this point? We still can't generate proxies and if we
accidently do get proxies, there not really very useful since the data is no
longer generated in structures. Structures that we use to populate the
datawindows with, the very base-actions in order to have an app.

What actions are taken using the easerver-proxy generation?
Can't Sybase do the same for 3rd party appservers? and maybe offer the
choice to either generate the "shadowed Java classes" or the previous style
proxies and structures..

Some people here were wondering whether Sybase has a strategy for it's
customers about these migrations ("what to do when shifting to a 3rd
party-app server?")
Are there any more complexer business-examples available (something similar
to what we're doing) out of which we could learn something.


Jim O'Neil [Sybase] Posted on 2003-06-13 01:49:01.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: joneil@sybase.com (Jim O'Neil [Sybase])
Subject: Re: Proxy Generation (ejb2pb90)
Date: Fri, 13 Jun 2003 01:49:01 GMT
Organization: Sybase Technical Support
Reply-To: joneil_REMOVETHISPART@sybase.com
X-Newsreader: Forte Free Agent 1.21/32.243
NNTP-Posting-Host: vpn-concord-022.sybase.com 158.159.8.22
Lines: 117
Message-ID: <359_3ee92959.3466504@forums.sybase.com>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uL8J3IMMDHA.220@forums-1-dub> <359_3ee8797b.1400333@forums.sybase.com> <359_uwxqmvOMDHA.187@forums-2-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:70
Article PK: 424267

My remarks below as well....

On Thu, 12 Jun 2003 16:01:05 +0200, "bede" <bede@nospam.sofico.be>

wrote:

>Jim,
>
>Thanks for the enlightment.
>some remarks below.
>
>Ben
>
>> you should get another proxy for the interface that is implemented
>True, we have gotten one, somehow (still can't figure out how to generate
>those proxies flawlessly)
>The question is: How to reference to this class?
>Normally you would have..
>
>SessionMgmtSession l_session
>SessionMgmtSessionHome l_sessionHome
>SessionSessPar l_sessPar
>
>// Lookup
> l_sessionHome= g_EJBConn.lookup("SessionMgmtSessionHome", &
> JNDI_NAME,
>"be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome")
>
>// Invoke
>lPar = l_session.login( "test", "test")
>
>
>... but all implemented operations on ISessionMgmtSession are not available
>on l_session, so where and how does the ISessionMgmtSession come in the
>picture?
>
>> >What would you advise us to do now? We could write a convertorclass, but
>> >that will take lots of time
>>I'm not sure I understand this part. With the exception of the public
>>class variables not being available, you should be ok.

You need to use the DynamicCast method of the JavaVM object. Since
PowerBuilder doesn't support interfaces (yet), you need to cast your
remote interface proxy to the interface it implements. I couldn't
figure out how to decode all of your attachments, so this probably
isn't exactly correct for your scenario, but hopefully you'll get the
idea:

SessionMgmtSession l_session
SessionMgmtSessionHome l_sessionHome
ISessionMgmtSession l_sessmgmt

l_sessionHome= g_EJBConn.lookup("SessionMgmtSessionHome", &
JNDI_NAME,
"be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome")
l_session = l_sessionHome.create()
l_sessmgmt = yourJavaVM.DyanmicCast(l_session,"ISessionMgmtSession")
lPar = l_sessmgmt.login("test", "test")

>How do we go on from this point? We still can't generate proxies and if we
>accidently do get proxies, there not really very useful since the data is no
>longer generated in structures. Structures that we use to populate the
>datawindows with, the very base-actions in order to have an app.
Well, the proxy generation process should not be hit or miss and I
think this is merely a configuration issue. The fact that the
structures (final classes) have no public class variables is indeed an
issue and the only thing I can say there is that you'd have to add
getters and setters. That should be addressed in an upcoming release,
but I do not think it is in 9.0.1. I'm going to see if I can get
product management and engineering to bump up the priority.
>
>What actions are taken using the easerver-proxy generation?
>Can't Sybase do the same for 3rd party appservers? and maybe offer the
>choice to either generate the "shadowed Java classes" or the previous style
>proxies and structures..
Well, the EAServer proxies are driven off of IDL and are CORBA stubs,
so you lose some flexibility and capability between the CORBA and EJB
worlds when you do that. Classes that were not final classes, for
instance, end up as 'blobs' which aren't useful at all. For your
specific instance, this may not have been an issue, but it's pretty
limiting as a general solution.
>
>Some people here were wondering whether Sybase has a strategy for it's
>customers about these migrations ("what to do when shifting to a 3rd
>party-app server?")
>Are there any more complexer business-examples available (something similar
>to what we're doing) out of which we could learn something.,
It sounds like you are looking for some best practices type of
information and unfortunatlely we don't really have that available
directly from Sybase. Hopefully others on this forum can offer their
insight and as the feature gets used more and more, that type of
information will start coming to light. This is a pretty new feature
and so one of the drawbacks is that there isn't a lot of 'experience'
under our belts. I know, however, that there was one beta customer
who has also posted in this group that has seemed to have great
success or what I believe is a fairly large application.

I also suspect the migration effort may vary depending on what design
patterns you may have used. For instance, you reached a sticking
point because of your need for DynamicCast (which, hopefully, will
allow you to move on), but this is the first time I've had to suggest
that to a customer.
Jim O'Neil
Principal Technical Support Engineer
Sybase, Inc.
Concord, MA


bede Posted on 2003-06-13 10:18:20.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Fri, 13 Jun 2003 12:18:20 +0200
Lines: 108
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-238.unknown.uunet.be 194.7.38.238
Message-ID: <359_#wOtyXZMDHA.218@forums-2-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uL8J3IMMDHA.220@forums-1-dub> <359_3ee8797b.1400333@forums.sybase.com> <359_uwxqmvOMDHA.187@forums-2-dub> <359_3ee92959.3466504@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:71
Article PK: 424268

see inline..

"Jim O'Neil [Sybase]" <joneil@sybase.com> wrote in message
news:3ee92959.3466504@forums.sybase.com...
..

> You need to use the DynamicCast method of the JavaVM object. Since
> PowerBuilder doesn't support interfaces (yet), you need to cast your
> remote interface proxy to the interface it implements. I couldn't
> figure out how to decode all of your attachments, so this probably
> isn't exactly correct for your scenario, but hopefully you'll get the
> idea:
>
> SessionMgmtSession l_session
> SessionMgmtSessionHome l_sessionHome
> ISessionMgmtSession l_sessmgmt
>
> l_sessionHome= g_EJBConn.lookup("SessionMgmtSessionHome", &
> JNDI_NAME,
> "be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome")
> l_session = l_sessionHome.create()
> l_sessmgmt = yourJavaVM.DyanmicCast(l_session,"ISessionMgmtSession")
> lPar = l_sessmgmt.login("test", "test")

works fine, thanks!

> >How do we go on from this point? We still can't generate proxies and if
we
> >accidently do get proxies, there not really very useful since the data is
no
> >longer generated in structures. Structures that we use to populate the
> >datawindows with, the very base-actions in order to have an app.
> Well, the proxy generation process should not be hit or miss and I
> think this is merely a configuration issue. The fact that the
> structures (final classes) have no public class variables is indeed an
> issue and the only thing I can say there is that you'd have to add
> getters and setters. That should be addressed in an upcoming release,
> but I do not think it is in 9.0.1. I'm going to see if I can get
> product management and engineering to bump up the priority.

The problem is that we need a performant manner to fill our datawindows with
data coming from EJB.
Getters and Setters are theoretically a solution, but this means a major
rework on existing classes and GUI and we don't know (yet) how
(in)performant or maintainable it is. It would mean using generated code to
do the mappings.
Unfortunately we cannot afford to wait until 9.0.x when the "public
static"-problem is solved.
We were thinking of skipping the proxy-generating process completely by
writing some java classes that generate the structures we need. Help or
comments on this part would highly be appreciated.. e.g. if we give back
such a public static class will PB accept it as a structure? Or how about
transferring ANYs from java to PB and vice versa?

> >What actions are taken using the easerver-proxy generation?
> >Can't Sybase do the same for 3rd party appservers? and maybe offer the
> >choice to either generate the "shadowed Java classes" or the previous
style
> >proxies and structures..
> Well, the EAServer proxies are driven off of IDL and are CORBA stubs,
> so you lose some flexibility and capability between the CORBA and EJB
> worlds when you do that. Classes that were not final classes, for
> instance, end up as 'blobs' which aren't useful at all. For your
> specific instance, this may not have been an issue, but it's pretty
> limiting as a general solution.
Since we have been developing with these restrictions on EAS for the past
years, i think we don't mind having the same restrictions on 3rd party
app.servers, i suppose that this means it's not possible to use the
IDL/CORBA stubs with them. However if it IS possible, i'd very much like to
find out how ;-)

> >Some people here were wondering whether Sybase has a strategy for it's
> >customers about these migrations ("what to do when shifting to a 3rd
> >party-app server?")
> >Are there any more complexer business-examples available (something
similar
> >to what we're doing) out of which we could learn something.,
> It sounds like you are looking for some best practices type of
> information and unfortunatlely we don't really have that available
> directly from Sybase. Hopefully others on this forum can offer their
> insight and as the feature gets used more and more, that type of
> information will start coming to light. This is a pretty new feature
> and so one of the drawbacks is that there isn't a lot of 'experience'
> under our belts. I know, however, that there was one beta customer
> who has also posted in this group that has seemed to have great
> success or what I believe is a fairly large application.
We definitely are.. I've been looking at the tutor and examples app, only to
discover that it's still the Client/Server DB app from several PB versions
ago. Surely Sybase can't have assume that their customers only perform a
SayHelloWorld() on a EJB server, our expectations were different. (apologies
if this sounds more harsh than intended).
Our concern now is to find an acceptable workaround for this issue, gather
as much documentation (PBNI) on this as possible.
Some whitepapers are appearing now.. well i suppose we all are looking for
that one book that has all the answers.
BTW: I've opened a technical case (#20320535) yesterday about this.

> I also suspect the migration effort may vary depending on what design
> patterns you may have used. For instance, you reached a sticking
> point because of your need for DynamicCast (which, hopefully, will
> allow you to move on), but this is the first time I've had to suggest
> that to a customer.
Design patterns shouldn't become the problem. The DynamicCast works, so
that's less an issue now.
It's def. an honour to be the first but frankly it worries me a bit too.

Ben


bede Posted on 2003-08-18 09:07:40.0Z
From: "bede" <bede@nospam.sofico.be>
Newsgroups: sybase.public.powerbuilder.ejbclient
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uL8J3IMMDHA.220@forums-1-dub> <359_3ee8797b.1400333@forums.sybase.com> <359_uwxqmvOMDHA.187@forums-2-dub> <359_3ee92959.3466504@forums.sybase.com> <359_#wOtyXZMDHA.218@forums-2-dub>
Subject: Re: Proxy Generation (ejb2pb90)
Lines: 122
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-236.unknown.uunet.be
X-Original-NNTP-Posting-Host: uu194-7-38-236.unknown.uunet.be
Message-ID: <3f40975c$1@forums-1-dub>
Date: 18 Aug 2003 02:07:40 -0700
X-Trace: forums-1-dub 1061197660 194.7.38.236 (18 Aug 2003 02:07:40 -0700)
X-Original-Trace: 18 Aug 2003 02:07:40 -0700, uu194-7-38-236.unknown.uunet.be
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:114
Article PK: 424311

Using the patch 6111, i got the ejb2pb90 working now.. a matter of
classpaths and system settings.

"bede" <bede@nospam.sofico.be> wrote in message
news:359_%23wOtyXZMDHA.218@forums-2-dub...
> see inline..
>
> "Jim O'Neil [Sybase]" <joneil@sybase.com> wrote in message
> news:3ee92959.3466504@forums.sybase.com...
> ..
> > You need to use the DynamicCast method of the JavaVM object. Since
> > PowerBuilder doesn't support interfaces (yet), you need to cast your
> > remote interface proxy to the interface it implements. I couldn't
> > figure out how to decode all of your attachments, so this probably
> > isn't exactly correct for your scenario, but hopefully you'll get the
> > idea:
> >
> > SessionMgmtSession l_session
> > SessionMgmtSessionHome l_sessionHome
> > ISessionMgmtSession l_sessmgmt
> >
> > l_sessionHome= g_EJBConn.lookup("SessionMgmtSessionHome", &
> > JNDI_NAME,
> > "be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSessionHome")
> > l_session = l_sessionHome.create()
> > l_sessmgmt = yourJavaVM.DyanmicCast(l_session,"ISessionMgmtSession")
> > lPar = l_sessmgmt.login("test", "test")
>
> works fine, thanks!
>
> > >How do we go on from this point? We still can't generate proxies and if
> we
> > >accidently do get proxies, there not really very useful since the data
is
> no
> > >longer generated in structures. Structures that we use to populate the
> > >datawindows with, the very base-actions in order to have an app.
> > Well, the proxy generation process should not be hit or miss and I
> > think this is merely a configuration issue. The fact that the
> > structures (final classes) have no public class variables is indeed an
> > issue and the only thing I can say there is that you'd have to add
> > getters and setters. That should be addressed in an upcoming release,
> > but I do not think it is in 9.0.1. I'm going to see if I can get
> > product management and engineering to bump up the priority.
>
> The problem is that we need a performant manner to fill our datawindows
with
> data coming from EJB.
> Getters and Setters are theoretically a solution, but this means a major
> rework on existing classes and GUI and we don't know (yet) how
> (in)performant or maintainable it is. It would mean using generated code
to
> do the mappings.
> Unfortunately we cannot afford to wait until 9.0.x when the "public
> static"-problem is solved.
> We were thinking of skipping the proxy-generating process completely by
> writing some java classes that generate the structures we need. Help or
> comments on this part would highly be appreciated.. e.g. if we give back
> such a public static class will PB accept it as a structure? Or how about
> transferring ANYs from java to PB and vice versa?
>
> > >What actions are taken using the easerver-proxy generation?
> > >Can't Sybase do the same for 3rd party appservers? and maybe offer the
> > >choice to either generate the "shadowed Java classes" or the previous
> style
> > >proxies and structures..
> > Well, the EAServer proxies are driven off of IDL and are CORBA stubs,
> > so you lose some flexibility and capability between the CORBA and EJB
> > worlds when you do that. Classes that were not final classes, for
> > instance, end up as 'blobs' which aren't useful at all. For your
> > specific instance, this may not have been an issue, but it's pretty
> > limiting as a general solution.
> Since we have been developing with these restrictions on EAS for the past
> years, i think we don't mind having the same restrictions on 3rd party
> app.servers, i suppose that this means it's not possible to use the
> IDL/CORBA stubs with them. However if it IS possible, i'd very much like
to
> find out how ;-)
>
> > >Some people here were wondering whether Sybase has a strategy for it's
> > >customers about these migrations ("what to do when shifting to a 3rd
> > >party-app server?")
> > >Are there any more complexer business-examples available (something
> similar
> > >to what we're doing) out of which we could learn something.,
> > It sounds like you are looking for some best practices type of
> > information and unfortunatlely we don't really have that available
> > directly from Sybase. Hopefully others on this forum can offer their
> > insight and as the feature gets used more and more, that type of
> > information will start coming to light. This is a pretty new feature
> > and so one of the drawbacks is that there isn't a lot of 'experience'
> > under our belts. I know, however, that there was one beta customer
> > who has also posted in this group that has seemed to have great
> > success or what I believe is a fairly large application.
> We definitely are.. I've been looking at the tutor and examples app, only
to
> discover that it's still the Client/Server DB app from several PB versions
> ago. Surely Sybase can't have assume that their customers only perform a
> SayHelloWorld() on a EJB server, our expectations were different.
(apologies
> if this sounds more harsh than intended).
> Our concern now is to find an acceptable workaround for this issue, gather
> as much documentation (PBNI) on this as possible.
> Some whitepapers are appearing now.. well i suppose we all are looking
for
> that one book that has all the answers.
> BTW: I've opened a technical case (#20320535) yesterday about this.
>
> > I also suspect the migration effort may vary depending on what design
> > patterns you may have used. For instance, you reached a sticking
> > point because of your need for DynamicCast (which, hopefully, will
> > allow you to move on), but this is the first time I've had to suggest
> > that to a customer.
> Design patterns shouldn't become the problem. The DynamicCast works, so
> that's less an issue now.
> It's def. an honour to be the first but frankly it worries me a bit too.
>
> Ben
>
>


bede Posted on 2003-06-12 09:24:22.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: "bede" <bede@nospam.sofico.be>
Subject: Re: Proxy Generation (ejb2pb90)
Date: Thu, 12 Jun 2003 11:24:22 +0200
Lines: 123
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: uu194-7-38-231.unknown.uunet.be 194.7.38.231
Message-ID: <359_OqiK#UMMDHA.339@forums-2-dub>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uL8J3IMMDHA.220@forums-1-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:65
Article PK: 424266

also, the generated proxies for parameters are defined as proxies and not as
structures (as with corba).
Within those parameterproxies only protected variables are listed (the
public ones are gone?!).
I've put the java-source for that parameter below; as you can see the public
variables are there.

/*

This class is generated,
do not modify by hand!

*/
/*
* Copyright © 2000-2001 Sofico nv. All Rights Reserved.<br><br>
*
* @author bade
*/

package be.sofico.basecamp.sess.sessionmgmt;

import java.util.ArrayList;
import be.sofico.basecamp.general.ISofSessParameter;
import be.sofico.basecamp.general.ISofParameter;
import be.sofico.basecamp.parameter.SofError;
import be.sofico.basecamp.general.SofDBConstants;
import be.sofico.basecamp.sys.multilanguage.SofMLStringPar;
import be.sofico.basecamp.sys.session.SessionInfo;
import be.sofico.basecamp.sys.useraccount.UserAccountDefaults;

/**
* Standard parameter class
*
*/


final public class SessionSessPar implements java.io.Serializable,
ISofSessParameter
{
public SofMLStringPar theMlStrings;
public SofError theError;
public SessionInfo theSessionInfo;
public UserAccountDefaults theUserAccountDefaults;

public SofMLStringPar getMLStrings() {
return theMlStrings;
}

public SofError getError() {
return theError;
}

public ISofParameter[] getSofParameters() {
ArrayList lPars = new ArrayList();

// if (theLeasingCompanyPreferencesCtx != null)
// lPars.add(theLeasingCompanyPreferencesCtx.getSofParameter());

return (ISofParameter[]) lPars.toArray(new ISofParameter[lPars.size()]);
}

public void setMLStrings(SofMLStringPar theMLStrings) {
this.theMlStrings = theMLStrings;
}

public void setError(SofError theError) {
this.theError = theError;
}
public void setReadonlyCruds(){
//thePar.info.crud=SofStatus.setCrudReadonly(thePar.info.crud);
}
/**
* return the object Ids (keys) of the main parameter
*/
public int[] getMainObjectIds(){
return new int[0];
}
/**
* return the SysRepObject ID of the main Parameter
*/
public int getMainSysRepObjectId(){
return SofDBConstants.NULL_INT;
}
}

"bede" <bede@nospam.sofico.be> wrote in message
news:uL8J3IMMDHA.220@forums-1-dub...
> Jim,
>
> javap gives the wanted output, however ejb2pb90
> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession still generates the
> same error.
>
> When looking carefully at the generated (don't ask me how but it worked
> twice yesterday while running the JBoss and using the absolute
> serverlocation) proxies and comparing them with the generated proxies
based
> on the jaguar (CORBA!) version in PB8, i come to the this conclusion
> (correct me if i'm wrong):
>
> - javap sees only the java-class as is, meaning: if it implements another
> class, it won't list that other class's methods and properties.
> - ejb2pb90 uses javap to determine the proxies and unlike pb8 & CORBA, it
> doesn't see a flat structure (with all inherited, implemented, ... classes
> included) but sees the inheritance tree of the classes, generating a
> separate proxy for each referenced class. Please take a look at the
attached
> proxies, generated by PB8 and the ones generated by PB9.
>
> Why is this? Just because it's not corba anymore??
> Is this a bug?
> What would you advise us to do now? We could write a convertorclass, but
> that will take lots of time
>
> Ben
>
>
>


Jim O'Neil [Sybase] Posted on 2003-06-12 13:06:04.0Z
Newsgroups: sybase.public.powerbuilder.ejbclient
From: joneil@sybase.com (Jim O'Neil [Sybase])
Subject: Re: Proxy Generation (ejb2pb90)
Date: Thu, 12 Jun 2003 13:06:04 GMT
Organization: Sybase Technical Support
Reply-To: joneil_REMOVETHISPART@sybase.com
X-Newsreader: Forte Free Agent 1.21/32.243
NNTP-Posting-Host: joneilpc.sybase.com 199.93.179.216
Lines: 103
Message-ID: <359_3ee87a35.1585840@forums.sybase.com>
References: <359_Om2y9j$LDHA.221@forums-1-dub> <359_eHy3M0CMDHA.345@forums-1-dub> <359_3ee7592a.11940719@forums.sybase.com> <359_uL8J3IMMDHA.220@forums-1-dub> <359_OqiK#UMMDHA.339@forums-2-dub>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums-2-dub.sybase.com
Xref: forums-1-dub sybase.public.powerbuilder.ejbclient:66
Article PK: 424264

correct they are proxies, because they are shadowing the Java classes.

The missing public variables is a known limitation and a very high
priority for a enhancement. In the meantime, you'd need to write
accesss/mutator (getter and setter) methods for these.

On Thu, 12 Jun 2003 11:24:22 +0200, "bede" <bede@nospam.sofico.be>

wrote:

>also, the generated proxies for parameters are defined as proxies and not as
>structures (as with corba).
>Within those parameterproxies only protected variables are listed (the
>public ones are gone?!).
>I've put the java-source for that parameter below; as you can see the public
>variables are there.
>
>/*
>
> This class is generated,
> do not modify by hand!
>
>*/
>/*
>* Copyright © 2000-2001 Sofico nv. All Rights Reserved.<br><br>
>*
>* @author bade
>*/
>
>package be.sofico.basecamp.sess.sessionmgmt;
>
>import java.util.ArrayList;
>import be.sofico.basecamp.general.ISofSessParameter;
>import be.sofico.basecamp.general.ISofParameter;
>import be.sofico.basecamp.parameter.SofError;
>import be.sofico.basecamp.general.SofDBConstants;
>import be.sofico.basecamp.sys.multilanguage.SofMLStringPar;
>import be.sofico.basecamp.sys.session.SessionInfo;
>import be.sofico.basecamp.sys.useraccount.UserAccountDefaults;
>
>/**
>* Standard parameter class
>*
>*/
>
>
>final public class SessionSessPar implements java.io.Serializable,
>ISofSessParameter
>{
> public SofMLStringPar theMlStrings;
> public SofError theError;
> public SessionInfo theSessionInfo;
> public UserAccountDefaults theUserAccountDefaults;
>
> public SofMLStringPar getMLStrings() {
> return theMlStrings;
> }
>
> public SofError getError() {
> return theError;
> }
>
> public ISofParameter[] getSofParameters() {
> ArrayList lPars = new ArrayList();
>
> // if (theLeasingCompanyPreferencesCtx != null)
> // lPars.add(theLeasingCompanyPreferencesCtx.getSofParameter());
>
> return (ISofParameter[]) lPars.toArray(new ISofParameter[lPars.size()]);
> }
>
> public void setMLStrings(SofMLStringPar theMLStrings) {
> this.theMlStrings = theMLStrings;
> }
>
> public void setError(SofError theError) {
> this.theError = theError;
> }
> public void setReadonlyCruds(){
> //thePar.info.crud=SofStatus.setCrudReadonly(thePar.info.crud);
> }
> /**
> * return the object Ids (keys) of the main parameter
> */
> public int[] getMainObjectIds(){
> return new int[0];
> }
> /**
> * return the SysRepObject ID of the main Parameter
> */
> public int getMainSysRepObjectId(){
> return SofDBConstants.NULL_INT;
> }
>}
>
>
>
>
>"bede" <bede@nospam.sofico.be> wrote in message
>news:uL8J3IMMDHA.220@forums-1-dub...
>> Jim,
>>
>> javap gives the wanted output, however ejb2pb90
>> be.sofico.basecamp.sess.sessionmgmt.SessionMgmtSession still generates the
>> same error.
>>
>> When looking carefully at the generated (don't ask me how but it worked
>> twice yesterday while running the JBoss and using the absolute
>> serverlocation) proxies and comparing them with the generated proxies
>based
>> on the jaguar (CORBA!) version in PB8, i come to the this conclusion
>> (correct me if i'm wrong):
>>
>> - javap sees only the java-class as is, meaning: if it implements another
>> class, it won't list that other class's methods and properties.
>> - ejb2pb90 uses javap to determine the proxies and unlike pb8 & CORBA, it
>> doesn't see a flat structure (with all inherited, implemented, ... classes
>> included) but sees the inheritance tree of the classes, generating a
>> separate proxy for each referenced class. Please take a look at the
>attached
>> proxies, generated by PB8 and the ones generated by PB9.
>>
>> Why is this? Just because it's not corba anymore??
>> Is this a bug?
>> What would you advise us to do now? We could write a convertorclass, but
>> that will take lots of time
>>
>> Ben
>>
>>
>>
>
>

Jim O'Neil
Principal Technical Support Engineer
Sybase, Inc.
Concord, MA