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 and
http://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" <[EMAIL PROTECTED]>
15.07.2008 16:10
Bitte antworten an
[email protected]
An
[email protected]
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 <[EMAIL PROTECTED]> 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, <[EMAIL PROTECTED]> 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
>>
>>
>>
>> [EMAIL PROTECTED]
>>
>> 11.07.2008 09:44
>>
>> Bitte antworten an
>> [email protected]
>> An
>> [email protected]
>> 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" <[EMAIL PROTECTED]>
>>
>> 10.07.2008 16:55
>>
>> Bitte antworten an
>> [email protected]
>>
>> An
>> [email protected]
>> 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, <[EMAIL PROTECTED]> 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