cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <ning.ji...@iona.com>
Subject Re: groovy/grails, CXF and generated classes
Date Thu, 01 Nov 2007 07:31:33 GMT
Hi,

The exception is thrown from org.apache.cxf.wsdl11.WSDLManagerImpl which 
uses a DocumentBuilderFactory to load the WSDL.
You class path may do no include a right version of jaxp and you need to 
put the XecesImpl 2.8.1.jar in you class path.

Willem.

Jason Botwick wrote:
> It is . . . sorry, forgot to mention that.
>
> Any other suggestions?
>
> On Oct 27, 2007, at 11:37 PM, Willem2 wrote:
>
>>
>> Hi,
>>
>> It may relate to the Xerces Implementation.
>> CXF can work with xecesImpl 2.8.1 , please make sure this jar is in your
>> class path.
>>
>> Willem.
>>
>>
>> jwagon wrote:
>>>
>>> I'm trying to get a simple service client running against the following
>>> WSDL:
>>>
>>>
>>> I used SoapUI 1.7.6 to generate the service classes, one of which is 
>>> this:
>>>
>>> @WebServiceClient(name = "api", targetNamespace =
>>> "http://api.bronto.com", wsdlLocation =
>>> "http://api.bronto.com/?q=mail_3&wsdl")
>>> public class Api extends Service {
>>>
>>>     private final static URL WSDL_LOCATION;
>>>     private final static QName SERVICE = new
>>> QName("http://api.bronto.com", "api");
>>>     private final static QName ApiPort = new
>>> QName("http://api.bronto.com", "apiPort");
>>>     static {
>>>         URL url = null;
>>>         try {
>>>             url = new URL("http://api.bronto.com/?q=mail_3&wsdl");
>>>         } catch (MalformedURLException e) {
>>>             System.err.println("Can not initialize the default wsdl
>>> from http://api.bronto.com/?q=mail_3&wsdl");
>>>             // e.printStackTrace();
>>>         }
>>>         WSDL_LOCATION = url;
>>>     }
>>>
>>>     public Api(URL wsdlLocation, QName serviceName) {
>>>         super(wsdlLocation, serviceName);
>>>     }
>>>
>>>     public Api() {
>>>         super(WSDL_LOCATION, SERVICE);
>>>     }
>>>
>>>     /**
>>>      *
>>>      * @return
>>>      *     returns ApiPort
>>>      */
>>>     @WebEndpoint(name = "apiPort")
>>>     public ApiPortType getApiPort() {
>>>         return (ApiPortType)super.getPort(ApiPort, ApiPortType.class);
>>>     }
>>>
>>> }
>>>
>>> But when I execute the following code in a brand new Grails app
>>> (Grails 0.6, Groovy 1.1b):
>>>
>>> I get the error below. Not even where to start looking to solve this
>>> one (except Google, which I already tried). Any suggestions?
>>>
>>> org.codehaus.groovy.runtime.InvokerInvocationException:
>>> java.lang.RuntimeException:
>>> org.springframework.beans.factory.BeanCreationException: Error
>>> creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in
>>> class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean
>>> failed; nested exception is
>>> org.springframework.beans.BeanInstantiationException: Could not
>>> instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
>>> Constructor threw exception; nested exception is
>>> java.lang.ClassCastException:
>>> org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
>>>     at
>>> org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)

>>>
>>>     at
>>> org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:678)

>>>
>>>     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:689)
>>>     at 
>>> groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:894)
>>>     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:531)
>>>     at groovy.lang.Closure.call(Closure.java:290)
>>>     at groovy.lang.Closure.call(Closure.java:285)
>>>     at
>>> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:526)

>>>
>>>     at
>>> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:385)

>>>
>>>     at
>>> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:240)

>>>
>>>     at
>>> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:152)

>>>
>>>     at
>>> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest(SimpleGrailsController.java:88)

>>>
>>>     at
>>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)

>>>
>>>     at
>>> org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:241)

>>>
>>>     at
>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)

>>>
>>>     at
>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)

>>>
>>>     at
>>> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)

>>>
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>>
>>>
>>
>> -- 
>> View this message in context: 
>> http://www.nabble.com/groovy-grails%2C-CXF-and-generated-classes-tf4700854.html#a13449798

>>
>> Sent from the cxf-user mailing list archive at Nabble.com.
>>
>
>

Mime
View raw message