Kool stuff, hope it work out. Cheers, Robert http://www.braziloutsource.com/
On 6/18/06, Chathura Herath <[EMAIL PROTECTED]> wrote:
JSR 109 tries to do exacly this, i.e. adding the web services stack to the J2ee applications. I was part of the JSR109/ AXIS1/Geronimo integration effort. There is a summer of code project listed on doing the same for Axis2. http://wiki.apache.org/general/SummerOfCode2006 No idea whether there is any progress on it. On 6/17/06, robert lazarski <[EMAIL PROTECTED]> wrote: > > > > On 6/16/06, Dennis Sosnoski <[EMAIL PROTECTED]> wrote: > > robert lazarski wrote: > > > <snip> > > > Currently I'm integrating an EJB app with Axis2 - thankfully as any > > > tomcat / servlet container web layer would. However, I came very close > > > to having to implement these services as EJB, which would have > > > required either JAX-WS or Axis 1.x , as Axis2 just isn't an option. > > > > > > > > I'm puzzled by this statement, Robert. Why is Axis2 not an option? You > > just use the EJB interfaces to access the service classes, same as any > > other application using the EJBs. > > > > - Dennis > > > > I'm not 100% sure we are on the same page, so allow me to give an example - > in JBoss 4.0.x using JSWDP databinding and axis 1.x - a strange hybrid but > that's what JBoss supports: > > <enterprise-beans> > <session> > <ejb-name>MyWebService</ejb-name> > <ejb-class>org.MyWebService</ejb-class> > <session-type>Stateless</session-type> > <ejb-ref> > <!-- SoapSession is a stateful session bean --> > <ejb-ref-name>ejb/SoapSession</ejb-ref-name> > <ejb-ref-type>Session</ejb-ref-type> > <home>org.SoapSessionHome</home> > <remote>org.SoapSession</remote> > </ejb-ref> > ... > <session> > </enterprise-beans> > > import javax.ejb.SessionBean; > import javax.ejb.SessionContext; > > > public class MyWebService implements SessionBean { > > private SessionContext ctx; > > public ReturnWeb_Login web_Login( > String user_name, > String user_password) throws RemoteException { > > Integer successErrorCode = Messages_Codes.FAILURE; > String soap_session_id = null; > Connection con = null; > > try { > con = getConnection(); > successErrorCode = CallCentreDAO.login(con, > call_centre_id, > user_name, user_password, > this); > > if(Messages_Codes.SUCCESS == successErrorCode) { > SoapSession soapSession = > serviceLocator.getSoapSessionHome().create(); > soapSession.setTimestamp( Calendar.getInstance() > ); > soap_session_id = > serviceLocator.getSoapSession_Id(soapSession); > > } else { > successErrorCode = > Messages_Codes.AuthorizationFailed; > } > } catch(Exception ex) { > ctx.setRollbackOnly(); > successErrorCode = Messages_Codes.FAILURE; > } finally { > if(con!=null) > try{con.close();}catch(SQLException ex){}; > } > > return new ReturnWeb_Login ( > Messages_Codes.get(successErrorCode), > successErrorCode.intValue(), soap_session_id, user_name); > } > > So what this does is allow EJB transactions in a web service - notice > ctx.setRollbackOnly() , and a soap session managed by the EJB container via > a stateful session bean. > > OK, so why can you _not_ do this with Axis2 ? > > 1) JBoss modified axis 1.x to support ejb transactions: > > > http://wiki.jboss.org/wiki/Wiki.jsp?page=WebServiceStacks > > JBossWS4EE is J2EE-1.4 compliant and available starting from jboss-4.0.0. > It relies on a modified version of axis-1.1. This stack should no longer be > used. > > 2) JBoss now is pushing JBossWS, based seemingly largely - but not entirely > - on JAX-WS. Its spec support and completion status are here: > > http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossWSSpecStatus > > 3) Most importantly: "Any stack not listed above is not supported." > > So just to be clear: You can use Axis2 with EJB just fine as long as you do > not want to have the ServiceClass implement SessionBean - this is at least > true for JBoss. I think everyone agrees you can invoke an EJB anywhere > anytime in any container as any web layer class would. > > Now it would be interesting to try to implement the scenerio above with > JBoss and Axis2 since the sources are open. However, (A) It'd be a labor of > love and I just don't see feel it (B) JBoss is GPL and axis2 is Apache > licenesed of course, and (C) It'd be unsupported by JBoss and even if it > did work, the sanity of such a scenerio is rightfully questioned by sanjiva > and many others. > > Cheers, > > Robert > http://www.braziloutsource.com/ > -- Chathura Herath http://people.apache.org/~chathura/ http://chathurah.blogspot.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
