Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

WSIF -> BusinessDelegate -> EJB Problem

628983Apr 2 2008 — edited Apr 4 2008
Hi

I have a bpel process invoking a WSIF service. The WSIF service call a business delegate that call a stateless ejb 2.1. In the business delegate constructor is the code for get a ejb remote instance. When i run the process, everything it's fine until the ejb calling through jndi lookup. In that moment, when i trying to cast the jndi object to javax.ejb.EJBHome, i get a ClassCastException. If i try to run the businessDelegate like a java app in eclipse, everything works fine. There is no class cast exception and i get the remote ejb instance, but when the bpel process call the business delegate through the WSIF service i get the exception. I'm calling a ejb through a business delegate instead a direct ejb binding because i need to load the jndi params form a properties. In the direct binding through WSIF the jndi params are hard coded in the wsdl. Does anybody know what's wrong with the WSIF -> Business delegate -> Remote EJB calling??

This is my environment:

Win xp sp2
PM 10.1.3.1
Eclipse 3.2 (for the ejb and business delegate development)
JDeveloper 10.1.3.3 (for bpel and wsif development)
jdk 1.5

Here is some code to track the exception:

- Here the lookup returns a object called _proxy0:
Object objRef = initialContext.lookup(jndiName);

- I get the class cast exception here:

// public interface EmployeeHome
// extends javax.ejb.EJBHome...

com.heinsohn.transactiontest.ejb.EmployeeHome empEJB =(com.heinsohn.transactiontest.ejb.EmployeeHome) objRef;

Some assumptions.
- The business delegate and ejb implementation are fine, i've tested it. The code runs fine in a standalone environment. It doesn't happen in the WISIF environment.
- I have the EJB client classes in the EJBClient.jar (vos,exceptions,ejb interfaces,businessdelegate)
- The EJB client is in the WSIF binding classpath:
</binding>
<service name="EmployeWebService">
<port name="EmployeWebServiceWSIFPort" binding="tns:EmployeWebServiceWSIF">
<java:address className="com.heinsohn.transactiontest.ejb.EmployeeBusinessDelegate" classPath="C:\oraclexe\jdevstudio10133\jdev\lib\ext\EJBClient.jar"/>
</port>
</service>


Any suggestion to resolve this problem??

Thanks in advance

Javier Murcia
Heinsohn software house S.A.
Ingeniero de desarrollo
Bogotá, Colombia
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 2 2008
Added on Apr 2 2008
9 comments
1,836 views