[ 
https://issues.apache.org/jira/browse/CXF-2083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12723917#action_12723917
 ] 

Knut Ivar Skogland commented on CXF-2083:
-----------------------------------------

The rarfile is working fine for me.... Try downloading it from this link 
instead; http://www.knutivars.net/cxf/code/CXFTestXmlBeansXSD.rar
Did it work?

> XMLBeans - XmlBeansSchemaInitializer can't handle xs:import
> -----------------------------------------------------------
>
>                 Key: CXF-2083
>                 URL: https://issues.apache.org/jira/browse/CXF-2083
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.1.4
>         Environment: Java 1.5, Spring 2.5, CXF 2.1.4, Any OS.
>            Reporter: Knut Ivar Skogland
>            Assignee: Willem Jiang
>         Attachments: CXFTestXmlBeansXSD.rar
>
>
> Background: 
> I have a Xfire project which I'm porting to CXF. Using the Document-First 
> approach and using XMLBeans. We have one xsd that imports other xsd's for 
> each "domain". Every "domain" xsd contains requests and responses which 
> imports datatypes from underlaying schemas with different namespaces.
> This works with JAXB (And Xfire with XMLBeans), but not with CXF and XMLBeans.
> I have simplified a test project.
> The structure is like this;
> PublishedFacade.xsd              -- imports sum.xsd
>          | ---- sum.xsd                -- contains request and responses. 
> Imports types.xsd.
>                      | ---- types.xsd  -- contains complextypes and 
> simpletypes for XMLObject validation
> PublishedFacade.xsd:
> --------------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema targetNamespace="http://cxftest.com/webservicetest/ws/test";
>             xmlns:tns="http://cxftest.com/webservicetest/ws/test";
>             xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>             xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>             elementFormDefault="qualified">
>     <xsd:import namespace="http://cxftest.com/webservicetest/ws/test/sum"; 
> schemaLocation="sum/sum.xsd"/>
> </xsd:schema>
> --------------------------------------------------------------------------
> sum.xsd:
> --------------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema targetNamespace="http://cxftest.com/webservicetest/ws/test/sum";
>             xmlns:tns="http://cxftest.com/webservicetest/ws/test/sum";
>             xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>             xmlns:types ="http://cxftest.com/webservicetest/ws/test/sum/types";
>             xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>             elementFormDefault="qualified">
>     <xsd:import 
> namespace="http://cxftest.com/webservicetest/ws/test/sum/types"; 
> schemaLocation="types/types.xsd"/>
>     <xsd:element name="testServiceRequest" type="types:TestServiceRequest" />
>     <xsd:element name="testServiceResponse" type="types:TestServiceResponse" 
> />
> </xsd:schema>
> --------------------------------------------------------------------------
> types.xsd:
> --------------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema 
> targetNamespace="http://cxftest.com/webservicetest/ws/test/sum/types";
>             xmlns:tns="http://cxftest.com/webservicetest/ws/test/sum/types";
>             xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>             xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>             elementFormDefault="qualified">
>     <xsd:complexType name="TestServiceRequest">
>         <xsd:sequence>
>             <xsd:element name="number1" type="xsd:int" minOccurs="0" 
> nillable="true" />
>             <xsd:element name="number2" type="tns:nummer2" minOccurs="1" 
> nillable="false" />
>         </xsd:sequence>
>     </xsd:complexType>
>     <xsd:complexType name="TestServiceResponse">
>         <xsd:sequence>
>             <xsd:element name="sum" type="xsd:int" minOccurs="1" 
> nillable="false" />
>         </xsd:sequence>
>     </xsd:complexType>
>     <xsd:simpleType name="nummer2">
>         <xsd:restriction base="xsd:int">
>             <xsd:minInclusive value="1"/>
>             <xsd:maxInclusive value="20"/>
>         </xsd:restriction>
>     </xsd:simpleType>
> </xsd:schema>
> --------------------------------------------------------------------------
> Generate xmlbeans objects with xmlbeans-maven-plugin.
> When deploying; I get this stack;
> ----------------------------------------------------------
> 13:05:32,193 [] ERROR [org.springframework.web.context.ContextLoader] Context 
> initialization failed
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'testservice': Invocation of init method failed; nested exception 
> is javax.xml.ws.WebServiceException: java.lang.RuntimeException: Failed to 
> find schema for: sum/sum.xsd
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1175)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
> at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> at 
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
> at 
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
> at 
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
> at 
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at org.apache.catalina.core.StandardService.start(StandardService.java:448)
> at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> 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.catalina.startup.Bootstrap.start(Bootstrap.java:295)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> Caused by: javax.xml.ws.WebServiceException: java.lang.RuntimeException: 
> Failed to find schema for: sum/sum.xsd
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:268)
> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:202)
> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:397)
> 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.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1242)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1208)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
> ... 25 more
> Caused by: java.lang.RuntimeException: Failed to find schema for: sum/sum.xsd
> at 
> org.apache.cxf.xmlbeans.XmlBeansSchemaInitializer.getSchema(XmlBeansSchemaInitializer.java:148)
> at 
> org.apache.cxf.xmlbeans.XmlBeansSchemaInitializer.mapClass(XmlBeansSchemaInitializer.java:200)
> at 
> org.apache.cxf.xmlbeans.XmlBeansSchemaInitializer.begin(XmlBeansSchemaInitializer.java:170)
> at 
> org.apache.cxf.service.ServiceModelVisitor.visitOperation(ServiceModelVisitor.java:97)
> at 
> org.apache.cxf.service.ServiceModelVisitor.walk(ServiceModelVisitor.java:74)
> at 
> org.apache.cxf.xmlbeans.XmlBeansDataBinding.initialize(XmlBeansDataBinding.java:102)
> at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:371)
> at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:525)
> at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:422)
> at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:190)
> at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:164)
> at 
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:100)
> at 
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:117)
> at 
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:168)
> at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:339)
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:252)
> ... 34 more
> Caused by: java.lang.RuntimeException: Failed to find schema for: 
> types/types.xsd
> at 
> org.apache.cxf.xmlbeans.XmlBeansSchemaInitializer.getSchema(XmlBeansSchemaInitializer.java:148)
> at 
> org.apache.cxf.xmlbeans.XmlBeansSchemaInitializer.getSchema(XmlBeansSchemaInitializer.java:135)
> ... 49 more
> Caused by: java.lang.IllegalArgumentException: InputStream cannot be null
> at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:94)
> at org.apache.cxf.helpers.XMLUtils.parse(XMLUtils.java:136)
> at 
> org.apache.cxf.xmlbeans.XmlBeansSchemaInitializer.getSchema(XmlBeansSchemaInitializer.java:129)
> ... 50 more
> ----------------------------------------------------------
> There were a similar error using xs:include 
> (https://issues.apache.org/jira/browse/CXF-1700), but I can't use include as 
> the wsdl will be different when the namespaces changes. My wsdl's should not 
> change.
> Project that "explains" the issue has been attatched.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to