Hi Lin,

using the command line tool I found the following problems:

* org.apache.commons.lang.enums.ValuedEnum -> enum (new in Java5)
* java.uti.TreeMap -> Java-Array
* private attributes need at least public accessors

Now WSDL-Generation is working. Test is ongoing...

-Josef



Josef.Eisele@bgs-ag.de

11.07.2008 09:44
Bitte antworten an
user@geronimo.apache.org

An
user@geronimo.apache.org
Kopie
Thema
Antwort: Re: WSDL-Generation with complexTypes






Hi Lin,


we are using Geronimo 2.1.1. Java is:
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05)
Java HotSpot(TM) Client VM (build 1.5.0_13-b05, mixed mode, sharing)


.wsdl and .xsd are being generated if we use no arrays, no complex types.


-Josef



"Lin Sun" <linsun.unc@gmail.com>

10.07.2008 16:55
Bitte antworten an
user@geronimo.apache.org

An
user@geronimo.apache.org
Kopie
Thema
Re: WSDL-Generation with complexTypes







Hi, which geronimo server are you using?  What JDK are you using?

Can you try jaxws-tools command (type jaxws-tools.bat|sh wsgen for
usage) in the bin directory to see if the .wsdl & .xsd are generated
for your project?   We are invoking Sun's wsgen to generate wsdl.

Thanks.

Lin

On Thu, Jul 10, 2008 at 10:29 AM,  <Josef.Eisele@bgs-ag.de> wrote:
>
> Hi,
>
> we successfully finished to implement the HalloWorld-Example as a
> JavaEE5-conform Webservice.
>
> Now the real world starts and the problems arise. In fact we would like to
> have a Webservice like that:
>
> @Stateless
> @WebService
> public class MyWebservice implements MyWebserviceIF {
>
> @WebMethod
> public void readData(MyDataTO data) {
> ...
> }
>
> The TransferObject MyDataTO should be:
>         public Long[]                          keyProtokoll;
>         public MyDataProtokollTO[]  dataProtokoll;
>         public Long[]                       keyDaten;
>         public MyDataDatenTO[]      dataDaten;
>
> And the TransferObject MyDataProtokollTO is:
>
> public class MyDataProtokollTO implements Serializable{
>
>         private long               id;
>         private long               otherId;
>         private Timestamp     when;
>         private My1Enum      entitaetstyp;
>         private long              entitaetId;
>         private My2Enum     funktion;
>
> The Enumerations are from commons-lang - ValuedEnum.
>
> Often we get the result:
>
> 16:08:48,374 ERROR [EjbModuleBuilder]
> JAXWSEJBModuleBuilderExtension.addGBeans() failed: Unable to find the
> service wsdl file
> org.apache.geronimo.common.DeploymentException: Unable to find the service
> wsdl file
>         at
> org.apache.geronimo.jaxws.builder.WsdlGenerator.generateWsdl(WsdlGenerator.java:314)
>         at
> org.apache.geronimo.axis2.builder.Axis2Builder.initialize(Axis2Builder.java:222)
>         at
> org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder.configureEJB(JAXWSServiceBuilder.java:215)
>         at
> org.apache.geronimo.jaxws.builder.JAXWSEJBModuleBuilderExtension.addGBeans(JAXWSEJBModuleBuilderExtension.java:167)
>         at
> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.addGBeans(EjbModuleBuilder.java:819)
>         at
> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:647)
>         at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:254)
>         at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:133)
>         at sun.reflect.GeneratedMethodAccessor1196.invoke(Unknown Source)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>         at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>         at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
>         at
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
>         at
> org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116)
>         at
> org.apache.geronimo.deployment.plugin.local.RedeployCommand.redeploySameConfiguration(RedeployCommand.java:225)
>         at
> org.apache.geronimo.deployment.plugin.local.RedeployCommand.run(RedeployCommand.java:101)
>         at java.lang.Thread.run(Thread.java:595)
>
>
> I worked a lot with try and error, but I have the impression the more
> complex the more errors. We started with a TreeMap, and now we use simple
> Arrays...
> If I reduce to the max, I can deploy but It seems to be that the generated
> XSD-File doesn't contain all the information.
>
> Thanx in advance for any help.
>
> -Josef
> ________________________________
> BGS Beratungsgesellschaft
> Software Systemplanung AG
>   Niederlassung Rhein/Main
> Robert-Koch-Straße 41
> 55129 Mainz
> Fon: +49 (0) 6131 / 914-0
> Fax: +49 (0) 6131 / 914-400
> www.bgs-ag.de Geschäftssitz Mainz
> Registergericht
> Amtsgericht Mainz
> HRB 62 50
>   Aufsichtsratsvorsitzender
> Dr. Wolfgang Trommer
> Vorstand
> Hanspeter Gau
> Hermann Kiefer
> Nils Manegold
>
>



BGS Beratungsgesellschaft
Software Systemplanung AG
   
 Niederlassung Rhein/Main
Robert-Koch-Straße 41
55129 Mainz
Fon: +49 (0) 6131 / 914-0
Fax: +49 (0) 6131 / 914-400

www.bgs-ag.de
Geschäftssitz Mainz
Registergericht

Amtsgericht Mainz
HRB 62 50
Aufsichtsratsvorsitzender
Dr. Wolfgang Trommer
Vorstand

Hanspeter Gau
Hermann Kiefer
Nils Manegold
BGS Systemplanung AG

Ein Unternehmen der nextevolution consulting group



BGS Beratungsgesellschaft
Software Systemplanung AG
     
  Niederlassung Rhein/Main
Robert-Koch-Straße 41
55129 Mainz
Fon: +49 (0) 6131 / 914-0
Fax: +49 (0) 6131 / 914-400
www.bgs-ag.de
Geschäftssitz Mainz
Registergericht
Amtsgericht Mainz
HRB 62 50
 
Aufsichtsratsvorsitzender
Dr. Wolfgang Trommer
Vorstand
Hanspeter Gau
Hermann Kiefer
Nils Manegold
BGS Systemplanung AG

 Ein Unternehmen der nextevolution consulting group