Update: After fixing a typo (thanks again, Patrick), the code below works much 
better and gets me past a problem point. 

-----Original Message-----
From: Patrick LeBoutillier [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, July 08, 2008 8:04 PM
To: Vanole, Mike
Cc: Jason Stelzer; inline@perl.org
Subject: Re: Inline Java and the Business Objects SDK

Mike,

You're on the right track. The problem is that Inline::Java always
uses the base type and things can get a bit strange when an API is
constantly using interfaces as return types:

Try this:

my $sessionMgr =
com::crystaldecisions::sdk::framework::CrystalEnterprise->getSessionMgr();

my $enterpriseSession = $sessionMgr->logon(userid, "password",
'td334.us.company.net:6400', secEnterprise);

# Force Inline::Java to see $entrepriseSession as a
com.crystaldecisions.sdk.framework.IEnterpriseSession object, not it's
real "internal" type
$entrepriseSession =
cast('com.crystaldecisions.sdk.framework.IEnterpriseSession',
$enterpriseSession) ;

my $iStore = $enterpriseSession->getService("", "InfoStore");


Do this work better? If it does, you will probably need to keep on
casting the objects returned from methods to the type the API says it
returns.


Patrick


-- 
=====================
Patrick LeBoutillier
Laval, Québec, Canada

Reply via email to