Re: User Feedback Request -- this means you!
Ok, here are my priorities: 1) JDK 1.5 support 2) EJB 3 3) JAX-WS 4) more minor releases 5) More docs on GBeans (explaining its merits and implementation in different scenarios) Regards, Stefan Schmidt David Blevins wrote: So this is the first of what I think should be a quarterly event. Geronimo is ultimately your project and we committers are but your humble servants. To serve you best, we need some critical high level feedback to help us steer the project and focus on what matters most to you! Please, every user out there, give us your top 5 things we can do to make Geronimo better for you. Here is my list: 1) More interaction with you guys, the users! 2) More frequent releases incorporating more user feedback (small releases more often vs. big releases only 4 times a year) 3) Less deployment requirements (simpler plans, more defaults, etc.) 4) More application validation at deployment 5) More powerful text configuration That's just to get the ball rolling. More detail is always good if you have the time. In general anything you think we need to correct as a community, technical or non-technical. Let us know. If you've ever uttered the words, "Geronimo would be such a great project if it only" then now is your time to shine. We want to hear from everyone! This is not just for the "hard-core" Geronimo users or J2EE experts. If you are new to J2EE and downloaded Geronimo and had to give up after an hour of no progress, let us know what we might do! It's all about you. Best Regards, David Blevins
Re: Web Services Question
Hi Manu, As long as your WS is JAX-RPC conformant you can deploy either type - document or rpc-style Web services. As for the differences between both, there is a long list... Basically document-style is far more coarse grained and business/document-oriented, also I think this is the future of WS. Document-style WS can be used in synchronous and asynchronous scenarios as opposed to rpc which only supports synchronous invocations. RPC-style is really what the name says - invoking remote procedures. Many developers find this style easier to understand. I find this article quite comprehensive: http://java.sun.com/developer/technicalArticles/xml/jaxrpcpatterns/ Hope this helps. Regards, Stefan Schmidt Manu George wrote: Hi, Can you deploy Document style web services in Geronimo? If so what are the differences in deployment from JAX-RPC style web services? Thanks Manu
Re: Deploying axis in to Geronimo! how?
Chin, If you want to deploy the Axis distribution including your Web service in geronimo (as standalone), simply pack it as war file and deploy it. There is an article on this at IBM developerWorks. If you are looking for fully J2EE compliant Web service using JAX-RPC you don't need to deploy Axis since Geronimo comes with a full implementation of this API. There is a tutorial on IBM developerWorks as well. Regards, Stefan Schmidt ChinUom wrote: hi all, i really new to Geronimo stuff. i need to configure axis on Geronimo. pls help me on that. how can i configure axis ? thanks regards Chin
Where can I register SOAP Handlers?
Hi, I have two Web services, one exposed via the Web container, the other one via the EJB container. I would like to process their SOAP headers and also try some WS-Security stuff. To achieve this I have written my own message handler which extends the javax.xml.rpc.handler.GenericHandler. Now, I was wondering where (in which DD) I have to register these Handlers. Can I also register them as a Handler chain? As for the WS-Security usage - I assume Geronimo has no implementation of WS-S by default? What would be the best method to integrate Apache WSS4J into Geronimo? Thanks. Regards, Stefan Schmidt
Enforcing SSL for Web- and EJB-tier
Hi, I am currently playing around with some security settings. I was wondering how I can enforce the usage of SSL? I tried the following in the web.xml but with no success: SomeName /* POST GET CONFIDENTIAL What else do I need to set this up properly? How do I enforce the same for EJBs? Thanks. Regards, Stefan Schmidt
Re: access a BLOB coloumn from a CMP EJB
Gianny, Jeremy, I got it! Apparently, the problem was on my site. I actually loaded the Blobs (images) directly via the PhpMyAdmin Gui (there is a file upload function) and then tried to access these blob fields via the EJB. To dig into my problem I tried the org.openejb.test.entity.cmp2.StorageTests on MySQL and this worked. So I ended up updating my blob fields via the EJB (loading the files via the EJB rather than PhpMyAdmin ) and now it works! Seems like the PhpMyAdmin does something with the blob that Java doesn't like... Anyway, thanks for your help there. Stefan Gianny Damour wrote: I was trying to find the root cause and I have added an integration test to test the storage of a byte[] into a BLOB (see org.openejb.test.entity.cmp2.StorageTests in OpenEJB itests). It seems that it works; at least for Derby. BTW, by default a field having the type byte[] is automatically serialized, so one should not need to explicitly declare a SerializableConverter. Thanks, Gianny On 30/07/2005 9:51 AM, Jeremy Boynes wrote: Stefan Schmidt wrote: Jeremy, That was one of the weired things here - there is no true root cause: 08:42:29,134 WARN [SystemExceptionInterceptor] BookBean javax.transaction.TransactionRolledbackException: Unable to load data for field at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:126) OpenEJB is dropping the root cause for some reason (claims it can't initCause() and doesn't log the lost info). Please can you open a bug for that as I think we'll lose diagnostic info for any problem encountered by the persistence code. I'll try and reproduce and get the byte[] mapping working. -- Jeremy
Re: access a BLOB coloumn from a CMP EJB
Gianny, Thanks for your tests here. I have removed the SerializableConverter declaration but still the error remains the same. Could you run the same test on a MySQL DB do reproduce the error I see? Thanks, Stefan Gianny Damour wrote: I was trying to find the root cause and I have added an integration test to test the storage of a byte[] into a BLOB (see org.openejb.test.entity.cmp2.StorageTests in OpenEJB itests). It seems that it works; at least for Derby. BTW, by default a field having the type byte[] is automatically serialized, so one should not need to explicitly declare a SerializableConverter. Thanks, Gianny On 30/07/2005 9:51 AM, Jeremy Boynes wrote: Stefan Schmidt wrote: Jeremy, That was one of the weired things here - there is no true root cause: 08:42:29,134 WARN [SystemExceptionInterceptor] BookBean javax.transaction.TransactionRolledbackException: Unable to load data for field at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:126) OpenEJB is dropping the root cause for some reason (claims it can't initCause() and doesn't log the lost info). Please can you open a bug for that as I think we'll lose diagnostic info for any problem encountered by the persistence code. I'll try and reproduce and get the byte[] mapping working. -- Jeremy
Re: access a BLOB coloumn from a CMP EJB
Jeremy, That was one of the weired things here - there is no true root cause: 08:42:29,134 WARN [SystemExceptionInterceptor] BookBean javax.transaction.TransactionRolledbackException: Unable to load data for field at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:126) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:234) at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129) at org.openejb.proxy.EntityEJBObject$$EnhancerByCGLIB$$aec278d4.getImage() at com.ibm.dw.bookshop.ejb.BookShopBean.getBooks(BookShopBean.java:126) at com.ibm.dw.bookshop.ejb.BookShopBean$$FastClassByCGLIB$$64a01afb.invoke() at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.openejb.slsb.HandlerChainInterceptor.invoke(HandlerChainInterceptor.java:102) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:140) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:234) at org.openejb.GenericEJBContainer$$FastClassByCGLIB$$60a0c356.invoke() at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:719) at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36) at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:94) at org.openejb.EJBContainer$$EnhancerByCGLIB$$c80c52a0.invoke() at org.openejb.server.axis.EJBContainerProvider.processMessage(EJBContainerProvider.java:103) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) at org.apache.geronimo.axis.server.AxisWebServiceContainer.invoke(AxisWebServiceContainer.java:115) at org.apache.geronimo.jetty.JettyEJBWebServiceContext.handle(JettyEJBWebServiceContext.java:162) at org.mortbay.http.HttpServer.service(HttpServer.java:954) at org.mortbay.http.HttpConnection.service(HttpConnection.java:814) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) This is all I get... Thanks for your your help and hopefully the mapping for the array serialization is not too hard to implement :-). I think it would be a great feature once it is there! Stefan Jeremy Boynes wrote: It is probably simplest if we add byte[] as a mapped type inside TranQL as that will result in the bytes being written to the LOB rather than having it serialize an array object. I will try to add that mapping over the weekend. Having said that, the Serializable converter should work if you are inserting the LOB using the EJB (and not directly through JDBC). The stack you sent is from when we decided to roll the transaction back, there should be another stacktrace in the log showing the true root cause - can you post that one please. -- Jeremy Stefan Schmidt wrote: Hi, I am trying to access a (MySQL) MEDIUMBLOB coloumn from a CMP EJB. There are some tips @ Wiki but I still can't figure it out. Her
access a BLOB coloumn from a CMP EJB
Hi, I am trying to access a (MySQL) MEDIUMBLOB coloumn from a CMP EJB. There are some tips @ Wiki but I still can't figure it out. Here are my artefacts: openejb-jar.xml: image image BLOB org.tranql.sql.typeconverter.SerializableConverter CMP EJB fields: public byte[] getImage(); public void setImage(byte[] image); When trying to access this coloumn from my Session EJB : book.getImage(); I get: javax.transaction.TransactionRolledbackException: Unable to load data for field at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:126) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:234) at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129) at org.openejb.proxy.EntityEJBObject$$EnhancerByCGLIB$$227af363.getImage() at com.ibm.dw.bookshop.ejb.BookShopBean.getBooks(BookShopBean.java:135) ... Do I have to write my own /Type**Converter to get it right? Could anyone provide a short example on this (preferably write it on the wiki so everyone can see it)? The wiki link: http://wiki.apache.org/geronimo/Working_with_Enterprise_JavaBeans Thanks, Stefan /
JAX-RPC Web Service with Complex Types
Hi, I have further questions regarding web services.. I have managed to get a simple method running (of type: public String getMessage()) in on a JSE. But I am getting an Axis Fault for the following type: public MySimpleBean[] getBeans() AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.io.IOException: No serializer found for class com.ibm.dw.reallybigpet.Category in registry [EMAIL PROTECTED] The WSDL element for this (simple :-)) complexType is: http://ejb.reallybigpet.dw.ibm.com"; xmlns:ns2="urn:http://arrays/com/ibm/dw/reallybigpet"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:tns="urn:http://ejb.reallybigpet.dw.ibm.com"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://arrays/com/ibm/dw/reallybigpet"/> I read in some JAX-RPC tutorial that the inclusion of the element is not necessary in the JAX-RPC mapping file if you are using standard XML schema built-in types with standard mapping to Java. I believe that happens with my Category bean. Since I get the 'no serializer found' exception I was wondering where I should specify the Category.class for the serializer to find it? Regards, Stefan Schmidt
geronimo build fails
Hi, I am getting the following error when trying to build Geronimo from source (maven m:rebuild-all): BUILD FAILED File.. .maven\cache\maven-multiproject-plugin-1.3.1\plugin.jelly Element... maven:reactor21:41:15,982 WARN [HOWLLog] Received unexpected log record: [EMAIL PROTECTED] 21:41:15,982 INFO [HOWLLog] In doubt transactions recovered from log Line.. 217 Column 9 Unable to obtain goal [default] -- geronimo\modules\assembly\maven.xml:379:63: null 21:41:16,402 INFO [GeronimoLoginConfiguration] Added ApplTotal time: 50 minutes 14 seconds ication Configuration Entry geronimo-properties-realm 21:41:16,402 INFO [GeronimoLoginConfiguration] Added Application Configuration Entry JMX 21:41:16,402 INFO [GeronimoLoginConfiguration] Installed Geronimo login configu ration 21:41:16,743 INFO [Credential] Checking Resource aliases 21:41:17,354 INFO [SslListener] SslListener.needClientAuth=false 21:41:17,354 INFO [SocketListener] Started SocketListener on 0.0.0.0:8443 :Stefan
Re: Web Service tests
Hi Jeremy, thanks for your fixes to the problem. The JAX-RPC Service Endpoint example works now nicely (apart from a warning). However, when I try to deploy the JAX-RPC EJB Endpoint example I still get the following error: [...] 16:10:57,915 ERROR [GBeanInstanceState] Error while starting; GBean is now in th e FAILED state: objectName="openejb:type=WSContainer,name=HelloBean" java.lang.NoSuchMethodError: org.apache.geronimo.webservices.SoapHandler.addWebService(Ljava/lang/String;Lorg/apache/geronimo/webservices/WebServiceContainer;)V at org.openejb.server.axis.WSContainer.(WSContainer.java:87) [...] Could you indicate if this error was caused by a Geronimo bug or rather a bad descriptor (or mapping)? If you like I can provide the hello-ejb.jar example file from the jBoss 4 documentation for you to see the error yourself. Have you got any simple JAX-RPC EJB endpoint example working on Geronimo that you could share here? Thanks, Stefan Jeremy Boynes wrote: Quick question - are you using the current HEAD build? There were a couple of bugs in our JAF implementation which would lead to similar failures to the first one which I checked fixes in for earlier this week. -- Jeremy Stefan Schmidt wrote: Hi, I am currently trying to get some JAX-RPC Web services running on Geronimo. Since there are not too many examples out there I chose to try the jBoss examples which are described here: http://docs.jboss.org/jbossas/jboss4guide/r2/html/ch12.html. After inserting a proper url in the HelloService.wsdl (location="http://localhost:8080/hello-servlet/Hello?WSDL"/>) I was able to deploy the war file with the JSE Web Service. The problem here is if I invoke http://localhost:8080/hello-servlet/Hello?method=hello&s=test I get the following SOAP-Fault: [] soapenv:Server.userException - org.xml.sax.SAXParseException: Premature end of file. [...] ..when I use the supplied Client I get the following error: [..] [java] faultString: Tried to invoke method public abstract java.lang.String org.jboss.chap12.hello.Hello.hello(java.lang.String) throws java.rmi.RemoteException with arguments java.lang.String. The arguments do not match the signature.; nested exception is: [java] java.lang.IllegalArgumentException: object is not an instance of declaring class [...] In a second attempt I tried to deploy the hello-ejb.jar example which serves as an EJB endpoint. Unfortunately I get a exception during deployment: [...] 558 WARN [BasicLifecycleMonitor] Exception occured while notifying listener java.lang.NoSuchMethodError: org.apache.geronimo.webservices.SoapHandler.addWebService (Ljava/lang/String;Lorg/apache/geronimo/webservices/WebServiceContainer;)V at org.openejb.server.axis.WSContainer.(WSContainer.java:87) [...] Both of these Applications work perfectly in jBoss and I can't see why they shouldn't work in Geronimo. I would be grateful if someone could try to deploy these applications as well and tell me whether this is rather my problem or a Geronimo Problem. Thanks in advance. Stefan
Re: Web Service tests
Yes I experienced those maven problems already (three attempts failed). Thanks for asking to upload a new binary distribution. :Stefan Jeremy Boynes wrote: Stefan Schmidt wrote: I am using a build which is about two weeks old, so you might be correct that your fixes are not included. Are the 'latest unstable build' downloads current or do I have to use maven (last time it took 6 attempts before it worked without a build error)? Looking at the site the rev number is older than my checkin so I'm afraid it is back to maven (where there appear to be problems right now) or hold on until a new binary is uploaded. I will ask on the dev list if someone can build and refresh the distro. -- Jeremy
Re: Web Service tests
I am using a build which is about two weeks old, so you might be correct that your fixes are not included. Are the 'latest unstable build' downloads current or do I have to use maven (last time it took 6 attempts before it worked without a build error)? :Stefan Jeremy Boynes wrote: Quick question - are you using the current HEAD build? There were a couple of bugs in our JAF implementation which would lead to similar failures to the first one which I checked fixes in for earlier this week. -- Jeremy Stefan Schmidt wrote: Hi, I am currently trying to get some JAX-RPC Web services running on Geronimo. Since there are not too many examples out there I chose to try the jBoss examples which are described here: http://docs.jboss.org/jbossas/jboss4guide/r2/html/ch12.html. After inserting a proper url in the HelloService.wsdl (location="http://localhost:8080/hello-servlet/Hello?WSDL"/>) I was able to deploy the war file with the JSE Web Service. The problem here is if I invoke http://localhost:8080/hello-servlet/Hello?method=hello&s=test I get the following SOAP-Fault: [] soapenv:Server.userException - org.xml.sax.SAXParseException: Premature end of file. [...] ..when I use the supplied Client I get the following error: [..] [java] faultString: Tried to invoke method public abstract java.lang.String org.jboss.chap12.hello.Hello.hello(java.lang.String) throws java.rmi.RemoteException with arguments java.lang.String. The arguments do not match the signature.; nested exception is: [java] java.lang.IllegalArgumentException: object is not an instance of declaring class [...] In a second attempt I tried to deploy the hello-ejb.jar example which serves as an EJB endpoint. Unfortunately I get a exception during deployment: [...] 558 WARN [BasicLifecycleMonitor] Exception occured while notifying listener java.lang.NoSuchMethodError: org.apache.geronimo.webservices.SoapHandler.addWebService (Ljava/lang/String;Lorg/apache/geronimo/webservices/WebServiceContainer;)V at org.openejb.server.axis.WSContainer.(WSContainer.java:87) [...] Both of these Applications work perfectly in jBoss and I can't see why they shouldn't work in Geronimo. I would be grateful if someone could try to deploy these applications as well and tell me whether this is rather my problem or a Geronimo Problem. Thanks in advance. Stefan
Web Service tests
Hi, I am currently trying to get some JAX-RPC Web services running on Geronimo. Since there are not too many examples out there I chose to try the jBoss examples which are described here: http://docs.jboss.org/jbossas/jboss4guide/r2/html/ch12.html. After inserting a proper url in the HelloService.wsdl (location="http://localhost:8080/hello-servlet/Hello?WSDL"/>) I was able to deploy the war file with the JSE Web Service. The problem here is if I invoke http://localhost:8080/hello-servlet/Hello?method=hello&s=test I get the following SOAP-Fault: [] soapenv:Server.userException - org.xml.sax.SAXParseException: Premature end of file. [...] ..when I use the supplied Client I get the following error: [..] [java] faultString: Tried to invoke method public abstract java.lang.String org.jboss.chap12.hello.Hello.hello(java.lang.String) throws java.rmi.RemoteException with arguments java.lang.String. The arguments do not match the signature.; nested exception is: [java] java.lang.IllegalArgumentException: object is not an instance of declaring class [...] In a second attempt I tried to deploy the hello-ejb.jar example which serves as an EJB endpoint. Unfortunately I get a exception during deployment: [...] 558 WARN [BasicLifecycleMonitor] Exception occured while notifying listener java.lang.NoSuchMethodError: org.apache.geronimo.webservices.SoapHandler.addWebService (Ljava/lang/String;Lorg/apache/geronimo/webservices/WebServiceContainer;)V at org.openejb.server.axis.WSContainer.(WSContainer.java:87) [...] Both of these Applications work perfectly in jBoss and I can't see why they shouldn't work in Geronimo. I would be grateful if someone could try to deploy these applications as well and tell me whether this is rather my problem or a Geronimo Problem. Thanks in advance. Stefan
Axis WS integration
Hi, I am currently evaluating Geronimo and build the latest Geronimo from CVS with Maven. My questions: What is the current status of WS integration into Geronimo? I can see the repository/axis folder and assume it is integrated as a module. In the Wiki there is a short (and obsolete) tutorial (http://wiki.apache.org/geronimo/HowToAxisGeronimo) explaining the deployment of Axis as an (external) Web application. Is this the intended way to use WS in Geronimo? Is there any information about how to expose EJB's as a WS? Thanks!! Stefan
Axis WS integration
Hi, I am currently evaluating Geronimo and build the latest Geronimo from CVS with Maven. My questions: What is the current status of WS integration into Geronimo? I can see the repository/axis folder and assume it is integrated as a module. In the Wiki there is a short (and obsolete) tutorial (http://wiki.apache.org/geronimo/HowToAxisGeronimo) explaining the deployment of Axis as an (external) Web application. Is this the intended way to use WS in Geronimo? Is there any information about how to expose EJB's as a WS? Thanks!! Stefan