Hi Rafal,
Thank for your fast Help. I use ODE 1.3.2 and I already integrate some futures
and it will take a time to do the same with the version 1.3.3 and I have to
finish the work soon. So I try to correct the bug my self by changing in
DynamicService.java under convertFormOM this part
} else if (XmlObject.class.isAssignableFrom(clazz)) {
try {
Class beanFactory = Class.forName(clazz.getCanonicalName() +
".Factory");
return beanFactory.getMethod("parse", XMLStreamReader.class)
.invoke(elmt.getXMLStreamReaderWithoutCaching());
into
} else if (XmlObject.class.isAssignableFrom(clazz)) {
try {
//Class tmp = Class.forName(clazz.getCanonicalName());
//return (Object)elmt;
Class beanFactory = Class.forName(clazz.getCanonicalName() +
"$Factory");
return beanFactory.getMethod("parse", XMLStreamReader.class)
.invoke(elmt.getXMLStreamReaderWithoutCaching());
The only change is: I replace the "." with $ before Factory.
I don't get the previous error any more, but another error.
I use ode.war and not jbi and I don't have no knowledge of jbi. Should I make
further changes to fix the bug?
<faultcode>soapenv:Server</faultcode>
<faultstring>java.lang.IllegalArgumentException: wrong number of
arguments</faultstring>
<detail>
<axis2ns3:IllegalArgumentException
xmlns:axis2ns3="http://www.apache.org/ode/pmapi">java.lang.IllegalArgumentException:
wrong number of arguments
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.ode.il.DynamicService.convertFromOM(DynamicService.java:135)
at
org.apache.ode.il.DynamicService.extractParams(DynamicService.java:98)
at org.apache.ode.il.DynamicService.invoke(DynamicService.java:69)
at
org.apache.ode.axis2.service.SubscriptionService$SubscriptionMessageReceiver.invokeBusinessLogic(SubscriptionService.java:124)
at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at
java.lang.Thread.run(Thread.java:595)</axis2ns3:IllegalArgumentException>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Thanks in advance.
Pascal.
-------- Original-Nachricht --------
> Datum: Thu, 29 Oct 2009 15:19:32 +0100
> Von: Rafal Rusin <[email protected]>
> An: [email protected]
> Betreff: Re: complex type
> As I remember, there was a small bug in ODE, which caused that.
> Instead of looking for
> org.apache.ode.bpel.pmapi.PolicyDocument.Factory, it should look for
> org.apache.ode.bpel.pmapi.PolicyDocument$Factory
> I fixed it to get replayer working. So you can check out latest ODE
> 1.X to have it working.
> Additionally you can check out ReplayerJbiTest in jbi package to have
> an example of complex type invocations via management api (replay
> operation).
>
> 2009/10/29 Pascal Aho <[email protected]>:
> > Hello everybody,
> >
> > I create a complex Type and use it as type for an input of a web service
> method.
> >
> > xmlBean creates automatically the corresponding classes.
> >
> > I can build the project without error.
> > But when I try to call the method of the web service I get an error.
> >
> > The class created by xmlBean contains a subclass Factory, which reflect
> class should be automatically created when the class corresponding to the
> complex type is created. Following is the error I get
> >
> > <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> > <soapenv:Body>
> > <soapenv:Fault>
> > <faultcode>soapenv:Server</faultcode>
> > <faultstring>java.lang.RuntimeException: Couldn't find class
> org.apache.ode.bpel.pmapi.PolicyDocument.Factory to instantiate xml
> bean</faultstring>
> > <detail>
> > <axis2ns1:RuntimeException
> xmlns:axis2ns1="http://www.apache.org/ode/pmapi">java.lang.RuntimeException:
> Couldn't find class
> org.apache.ode.bpel.pmapi.PolicyDocument.Factory to instantiate xml bean
> > at
> org.apache.ode.il.DynamicService.convertFromOM(DynamicService.java:137)
> > at
> org.apache.ode.il.DynamicService.extractParams(DynamicService.java:98)
> > at
> org.apache.ode.il.DynamicService.invoke(DynamicService.java:69)
> > at
> org.apache.ode.axis2.service.SubscriptionService$SubscriptionMessageReceiver.invokeBusinessLogic(SubscriptionService.java:124)
> > at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
> > at
> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> > at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> > at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
> > at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> > at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> > at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> > at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> > at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> > at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> > at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> > at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> > at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> > at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
> > at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> > at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
> > at java.lang.Thread.run(Thread.java:595)
> > Caused by: java.lang.ClassNotFoundException:
> org.apache.ode.bpel.pmapi.PolicyDocument.Factory
> > at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
> > at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
> > at
> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> > at java.lang.Class.forName0(Native Method)
> > at java.lang.Class.forName(Class.java:164)
> > at
> org.apache.ode.il.DynamicService.convertFromOM(DynamicService.java:133)
> > ... 21 more</axis2ns1:RuntimeException>
> > </detail>
> > </soapenv:Fault>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> >
> > Thanks,
> >
> > Pascal.
> > --
> > Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox
> 3.5 -
> > sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser
> >
>
>
> Regards,
> --
> Rafał Rusin
> http://www.touk.pl
> http://top.touk.pl
> http://people.apache.org/~rr/
--
Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 -
sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser