geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lin Sun" <linsun....@gmail.com>
Subject Re: Re: Re: WSDL-Generation with complexTypes
Date Tue, 15 Jul 2008 15:13:31 GMT
Hi Josef,

Great it is working for you!

I guess you are using CXF as webservice provider which uses Axis2 SAAJ
by default.  With the configuration change you made, you changed the
server to use Sun's SAAJ instead because of the bug in Axis2's SAAJ.

G 2.1.2 is currently using Axis2 1.3 and CXF 2.0.6.

Lin


On Tue, Jul 15, 2008 at 10:45 AM,  <Josef.Eisele@bgs-ag.de> wrote:
>
> Hi Lin,
>
> after changing the datatypes as described I could generate .wsdl and .xsd
> Files also in Geronimo 2.1.1. Maybe this was unclear in my last posting.
>
> But afterwards I had a lot of problems with the invokation of the
> webservice:
>
> ERROR:
> WS-Client calls Webservice:
> [DEBUG] [OReadWSClientImpl] >> Remote-Aufruf zum OReadManager durchgefuehrt.
> [DEBUG] [OReadWSClientImpl] >> Webservice-Aufruf zum RWriteService
> gestartet.
> 15.07.2008 11:53:49
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> buildServiceFromWSDL
> INFO: Creating Service {http://blabla/}RWriteService from WSDL:
> http://localhost:8080/RWriteService/RWriteWS?wsdl
> [DEBUG] [OReadWSClientImpl] >> Webservice-Methode 'readDataDelta' wird
> aufgerufen.
> org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to
> insert a node where it is not permitted.
>         at
> org.apache.axiom.om.impl.dom.NodeImpl.insertBefore(NodeImpl.java:259)
>         at
> org.apache.axiom.om.impl.dom.NodeImpl.appendChild(NodeImpl.java:238)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:163)
>         at $Proxy21.readDataDelta(Unknown Source)
>         ....
>
>
> SOLUTION:
> see https://issues.apache.org/jira/browse/AXIS2-3808
> andhttp://www.nabble.com/JAX-WS-2.1-WebService-inside-Geronimo-2.0.1-td17088122s134.html#a17328111
> changing geronimo-application.xml:
> ...
>         <sys:hidden-classes>
>             <sys:filter>org.apache.axis2</sys:filter>
>             <sys:filter>javax.xml.bind</sys:filter>
>             <sys:filter>javax.xml.namespace</sys:filter>
>         </sys:hidden-classes>
>     </sys:environment>
>
> and set GERONIMO_OPTS to the Startscript:
>
> export GERONIMO_OPTS="-Dorg.apache.geronimo.jaxws.provider=cxf
> -Dorg.apache.geronimo.saaj.provider=sun"
>
> Which Version of CXF and AXIS-2 do we have in Geronimo 2.1.2 ? I don't
> really understand why I have to put all these classes (axis2, bind,
> namespace) into hidden-classes?
>
> At the moment I can invoke the service and the data is successfully
> transfered :-)
>
> -Josef
>
>
>
>
> "Lin Sun" <linsun.unc@gmail.com>
>
> 15.07.2008 16:10
>
> Bitte antworten an
> user@geronimo.apache.org
> An
> user@geronimo.apache.org
> Kopie
> Thema
> Re: Re: WSDL-Generation with complexTypes
>
>
>
>
> Hi Josef,
>
> Can you try your "deploy without wsdl" scenario on a 2.1.2 server?  I
> tried an array of String today and the server did generate wsdl file
> during deployment.
>
> Thx,
>
> Lin
>
> On Fri, Jul 11, 2008 at 9:50 AM, Lin Sun <linsun.unc@gmail.com> wrote:
>> Hi Josef,
>>
>> Thanks for the feedback.  The prob below is from Sun's wsgen tool
>> which we don't really have control.
>>
>> I'll investigate why wsdl generation during deployment is different
>> (should have also created the .wsdl and .xsd files) than invoking
>> jaxws-tools wsgen directly.
>>
>> Lin
>>
>> On Fri, Jul 11, 2008 at 9:41 AM,  <Josef.Eisele@bgs-ag.de> wrote:
>>>
>>> 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.deGeschä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 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
> Klaus Hellwig
> Vorstand
> Hanspeter Gau
> Hermann Kiefer
> Nils Manegold
>
>

Mime
View raw message