I sent you the app a minute ago, but got a "recipient mailbox full" failure.
 
- Ray Clough
ray@allthisisthat.com


From: Lasantha Ranaweera [mailto:lasantha@opensource.lk]
Sent: Wednesday, October 25, 2006 11:06 PM
To: user@geronimo.apache.org
Cc: Hernan Cunico; Sanjiva Weerawarana
Subject: Re: JAX-RPC Web Service - help needed

Hi Ray,

Please read my in line comments.

Cheers,
Lasantha Ranaweera

Clough, Ray C PWR wrote:
Lasantha,

I have done some more development with your sample webservice app.  I've
redone the build file to create the mapping file on the fly, and done
some minor repackaging.  I have also added comments to the web.xml,
geronimo-web.xml, webservices.xml, wscompile-config.xml files to show
how they relate to eachother.  The app deploys fine in G1.1.1.  I used
the jaxrpc files from jwsdp 2.0 to give all the dependencies for
building the service.  I have not yet modified the client, but I'm
hoping to do that this evening.

  
This is great input Ray. I am really interested to see your modifications.
If you're interested I'd like to send you the modified app.  Assuming
you're interested, how and in what form should I send it to you (zip of
the project, email, ...? )
  
Please share those modifications via email until the confluence is up and running. Would you like to further develop these sample applications with us?
I still haven't figured out the flaw in my own tutorial app which
prevents it from working with G1.1.1, and am baffled that it deploys in
other servers.  I'll work on that later, I guess.  Thanks for your
sample app.  Without that success I was about to conclude that G1.1.1
wouldn't work for me.
  
Happy to help. :-)
The jaxrpc web services are really a poor spec (extremely fragile), and
it would be really nice to have the jax-ws implementation.  Everyone I
know keeps saying "I love .NET web services, but I hate JAXRPC".  It is
easy to see why.  Even Sun's jwsdp does not deploy jaxrpc-compliant
services.  I've always been disappointed that Axis didn't produce
jaxrpc-compliant services.  More problematic, from my personal
standpoint, is the fact that the only tool I know which produces both
wsdl and the mapping file is wscompile, and wscompile doesn't do
DOCLITERAL_WRAPPED wsdls.  (Until jwsdp2.0 the wscompile which came with
jwsdp wouldn't even make the mapping file, and you had to use the
wscompile which came with the Sun Server).  If axis had supplemented
their 'java2wsdl' tool with a mapping file generator, we'd be well ahead
of the game.  Do you, or does anyone, know an open source or freeware
tool which will produce both files?
  
Yes I agree with your comments regarding JAX-RPC based web services. I am also wondering why still Apache Axis doesn't support the generation jax-rpc related files. I think we have to add issue in to the Axis user list.

According to the JSR-109 JEE 5 will support web service implementation both JAX-RPC and JAX-WS. I think JAX-WS will be more user friendly API than JAX-RPC. Hope Geronimo comes in to that stage soon a real open source application server. ;-)
Thanks,
Ray Clough
ray@allthisisthat.com


-----Original Message-----
From: lasantha@opensource.lk [mailto:lasantha@opensource.lk] 
Sent: Monday, October 23, 2006 5:19 PM
To: user@geronimo.apache.org
Subject: Re: JAX-RPC Web Service - help needed

Hi Ray,

Have a look at
http://cwiki.apache.org/GMOxDOC11/simple-web-services-sample-application
..html
... This is a sample WS application which has been written to the G
1.1.1.
But it only has exposing Servlet as a WS.

We are expecting feedbacks from users :).

Thanks,
Lasantha Ranaweera


  
I have a simple WS which I was easily able to deploy in Geronimo 1.0.
    

  
I am also able to deploy it on Sun App Server 8.2 and Oracle App 
Server with no problems.  However I cannot get it to deploy on
    
Geronimo 1.1.1.
  
The stack trace (below) tells me nothing - maybe it tells someone who 
knows more about Geronimo something, but it is mysterious to me.  
There are no examples of JAX-RPC compliant web services anywhere in 
the Geronimo documentation that I have seen, and I don't recall ever 
seeing anyone having done it in the mailing list.  Do we know, in 
fact, that Geronimo 1.1.1 can deploy such a service?  What I mean by a
    

  
JAX-RPC-compliant WS is one which contains the WSDL, and mapping.xml 
files, as well as the web.xml, geronimo-web.xml files.  On Geronimo 
1.0 I could deploy it in an EAR file with a database, but I've 
simplified it to remove that potential error source, so now I'm trying
    

  
to deploy it as a WAR file.

I would greatly appreciate any help which you can offer.  I'll gladly 
supply the full app source or any files needed.  If I can get this to 
deploy, I'll also happily write up instructions on how to do it.

Thank you very much,

Ray Clough
ray@allthisisthat.com

Here is the Exception code from the deployment process:

Geronimo Application Server started

Retrieving document at 'WEB-INF/wsdl/ApothegmService.wsdl'.

12:38:40,407 ERROR [GBeanInstanceState] Error while starting; GBean is
    

  
now in the FAILED state:
abstractName="apothegm/ApothegmWebService/1.1/war?configurationName=ap
ot
hegm/ApothegmWebService/1.1/war"

org.apache.geronimo.kernel.config.InvalidConfigException: Unable to 
deserialize GBeanState

at
org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(Seri
al
izedGBeanState.java:120)

at
org.apache.geronimo.kernel.config.SerializedGBeanState.getGBeans(Seria
li
zedGBeanState.java:65)

at
org.apache.geronimo.kernel.config.ConfigurationData.getGBeans(Configur
at
ionData.java:171)

at
org.apache.geronimo.kernel.config.Configuration.<init>(Configuration.j
av
a:277)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method)

at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo
rA
ccessorImpl.java:39)

at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCo
ns
tructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:494)

at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanIn
st
ance.java:933)

at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(
GB
eanInstanceState.java:267)

at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstan
ce
State.java:102)

at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.ja
va
:526)

at
org.apache.geronimo.kernel.basic.BasicKernel.startGBean(BasicKernel.ja
va
:361)

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.load(Kern
el
ConfigurationManager.java:161)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:307)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:275)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:250)

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.loadConfi
gu
ration(KernelConfigurationManager.java:112)

at
org.apache.geronimo.kernel.config.KernelConfigurationManager$$FastClas
sB
yCGLIB$$b117102f.invoke(<generated>)

at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodI
nv
oker.java:38)

at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation
..j
ava:122)

at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.j
av
a:817)

at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57
)

at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperati
on
Invoker.java:35)

at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Prox
yM
ethodInterceptor.java:96)

at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$Enhanc
er
ByCGLIB$$cfd3ec96.loadConfiguration(<generated>)

at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartComm
an
d.java:63)

at java.lang.Thread.run(Thread.java:595)

Caused by: java.io.IOException: Unable to deserialize GBeanData 
apothegm/ApothegmWebService/1.1/war?J2EEApplication=null,j2eeType=WebM
od ule,name=apothegm/ApothegmWebService/1.1/war

at 
org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:266)

at
org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(Seri
al
izedGBeanState.java:111)

.... 28 more

Caused by: java.io.IOException: Unable to deserialize GBeanData 
apothegm/ApothegmWebService/1.1/war?J2EEApplication=null,j2eeType=WebM
od ule,name=apothegm/ApothegmWebService/1.1/war, attribute: 
webServices

at 
org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:239)

.... 29 more

Caused by: java.io.StreamCorruptedException

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326)

at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:191
2)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)

at java.util.ArrayList.readObject(ArrayList.java:591)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
av
a:39)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
or
Impl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:191
2)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)

at java.util.ArrayList.readObject(ArrayList.java:591)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
av
a:39)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
or
Impl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:191
2)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)

at java.util.ArrayList.readObject(ArrayList.java:591)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
av
a:39)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
or
Impl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)

at java.util.HashMap.readObject(HashMap.java:1013)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
av
a:39)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
or
Impl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:191
2)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at 
java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1877)

at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1765
)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
11
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:191
2)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:191
2)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)

at java.util.HashMap.readObject(HashMap.java:1013)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
av
a:39)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
or
Impl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)

at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)

at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:17
13
)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)

at 
org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:235)

.... 29 more

org.apache.geronimo.kernel.config.LifecycleException: load of 
apothegm/ApothegmWebService/1.1/war failed

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:322)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:275)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:250)

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.loadConfi
gu
ration(KernelConfigurationManager.java:112)

at
org.apache.geronimo.kernel.config.KernelConfigurationManager$$FastClas
sB
yCGLIB$$b117102f.invoke(<generated>)

at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodI
nv
oker.java:38)

at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation
..j
ava:122)

at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.j
av
a:817)

at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57
)

at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperati
on
Invoker.java:35)

at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Prox
yM
ethodInterceptor.java:96)

at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$Enhanc
er
ByCGLIB$$cfd3ec96.loadConfiguration(<generated>)

at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartComm
an
d.java:63)

at java.lang.Thread.run(Thread.java:595)

Caused by: org.apache.geronimo.kernel.config.InvalidConfigException:
Error starting configuration gbean apothegm/ApothegmWebService/1.1/war

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.load(Kern
el
ConfigurationManager.java:180)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:307)

.... 14 more

Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:
Configuration gbean failed to start 
apothegm/ApothegmWebService/1.1/war

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.load(Kern
el
ConfigurationManager.java:163)

.... 15 more

Deployer operation failed: load of apothegm/ApothegmWebService/1.1/war
failed

org.apache.geronimo.kernel.config.LifecycleException: load of 
apothegm/ApothegmWebService/1.1/war failed

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:322)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:275)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:250)

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.loadConfi
gu
ration(KernelConfigurationManager.java:112)

at
org.apache.geronimo.kernel.config.KernelConfigurationManager$$FastClas
sB
yCGLIB$$b117102f.invoke(<generated>)

at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodI
nv
oker.java:38)

at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation
..j
ava:122)

at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.j
av
a:817)

at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57
)

at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperati
on
Invoker.java:35)

at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Prox
yM
ethodInterceptor.java:96)

at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$Enhanc
er
ByCGLIB$$cfd3ec96.loadConfiguration(<generated>)

at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartComm
an
d.java:63)

at java.lang.Thread.run(Thread.java:595)

Caused by: org.apache.geronimo.kernel.config.InvalidConfigException:
Error starting configuration gbean apothegm/ApothegmWebService/1.1/war

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.load(Kern
el
ConfigurationManager.java:180)

at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfi
gu
ration(SimpleConfigurationManager.java:307)

.... 14 more

Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:
Configuration gbean failed to start 
apothegm/ApothegmWebService/1.1/war

at
org.apache.geronimo.kernel.config.KernelConfigurationManager.load(Kern
el
ConfigurationManager.java:163)

.... 15 more