You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by acevedodamian <ac...@gmail.com> on 2008/11/03 20:35:41 UTC

CXF callback sample error always retrieve remote schema

Hi people after downloading the lastest version of CXF , 2.1.3  , i run the
callback sample (in the samples folder of the binary distribution )  

When i run the main method of the class demo.callback.server.Server
i get a:
org.apache.ws.commons.schema.XmlSchemaException: Unable to locate imported
document at 'http://www.w3.org/2006/03/addressing/ws-addr.xsd'.

If i check the code its supposed that this schema should be loaded from
cxf-common-schemas-2.1.3.jar  , (schemas/ws-addr.xsd)

But following the stack trace and looking on the CXF sources i can see a
harcoded url O_o on this class:  
 org.apache.cxf.ws.addressing.JAXWSAConstants
this constant:
  public static final String WSA_XSD =
"http://www.w3.org/2006/03/addressing/ws-addr.xsd";


Thanks for any suggestion :D , i need this sample working offline.
Dam

PS:The complete exception is:

Exception in thread "main" javax.xml.ws.WebServiceException:
org.apache.ws.commons.schema.XmlSchemaException: Unable to locate imported
document at 'http://www.w3.org/2006/03/addressing/ws-addr.xsd'.
	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:267)
	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:201)
	at
org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:84)
	at javax.xml.ws.Endpoint.publish(Endpoint.java:47)
	at demo.callback.server.Server.<init>(Server.java:31)
	at demo.callback.server.Server.main(Server.java:35)
Caused by: org.apache.ws.commons.schema.XmlSchemaException: Unable to locate
imported document at 'http://www.w3.org/2006/03/addressing/ws-addr.xsd'.
	at
org.apache.cxf.catalog.CatalogXmlSchemaURIResolver.resolveEntity(CatalogXmlSchemaURIResolver.java:83)
	at
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1814)
	at
org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1863)
	at
org.apache.ws.commons.schema.SchemaBuilder.handleImport(SchemaBuilder.java:1581)
	at
org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:186)
	at org.apache.ws.commons.schema.SchemaBuilder.build(SchemaBuilder.java:83)
	at
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:424)
	at
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:418)
	at
org.apache.cxf.common.xmlschema.SchemaCollection.read(SchemaCollection.java:158)
	at
org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:109)
	at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:341)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:359)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:519)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:410)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:189)
	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:336)
	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:251)


-- 
View this message in context: http://www.nabble.com/CXF-callback-sample-error-always-retrieve-remote-schema-tp20309165p20309165.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: CXF callback sample error always retrieve remote schema

Posted by Daniel Kulp <dk...@apache.org>.

You need to add a catalog to your application. 

A file called:  META-INF/jax-ws-catalog.xml on the classpath that contains:

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
    <rewriteSystem systemIdStartString="http://www.w3.org/2006/03/addressing" 
rewritePrefix="classpath:/schemas/wsdl"/>
</catalog>

should do it.
 
Dan


On Monday 03 November 2008 2:35:41 pm acevedodamian wrote:
> Hi people after downloading the lastest version of CXF , 2.1.3  , i run the
> callback sample (in the samples folder of the binary distribution )
>
> When i run the main method of the class demo.callback.server.Server
> i get a:
> org.apache.ws.commons.schema.XmlSchemaException: Unable to locate imported
> document at 'http://www.w3.org/2006/03/addressing/ws-addr.xsd'.
>
> If i check the code its supposed that this schema should be loaded from
> cxf-common-schemas-2.1.3.jar  , (schemas/ws-addr.xsd)
>
> But following the stack trace and looking on the CXF sources i can see a
> harcoded url O_o on this class:
>  org.apache.cxf.ws.addressing.JAXWSAConstants
> this constant:
>   public static final String WSA_XSD =
> "http://www.w3.org/2006/03/addressing/ws-addr.xsd";
>
>
> Thanks for any suggestion :D , i need this sample working offline.
> Dam
>
> PS:The complete exception is:
>
> Exception in thread "main" javax.xml.ws.WebServiceException:
> org.apache.ws.commons.schema.XmlSchemaException: Unable to locate imported
> document at 'http://www.w3.org/2006/03/addressing/ws-addr.xsd'.
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:267)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:201)
> 	at
> org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl
>.java:84) at javax.xml.ws.Endpoint.publish(Endpoint.java:47)
> 	at demo.callback.server.Server.<init>(Server.java:31)
> 	at demo.callback.server.Server.main(Server.java:35)
> Caused by: org.apache.ws.commons.schema.XmlSchemaException: Unable to
> locate imported document at
> 'http://www.w3.org/2006/03/addressing/ws-addr.xsd'. at
> org.apache.cxf.catalog.CatalogXmlSchemaURIResolver.resolveEntity(CatalogXml
>SchemaURIResolver.java:83) at
> org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.j
>ava:1814) at
> org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.j
>ava:1863) at
> org.apache.ws.commons.schema.SchemaBuilder.handleImport(SchemaBuilder.java:
>1581) at
> org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBui
>lder.java:186) at
> org.apache.ws.commons.schema.SchemaBuilder.build(SchemaBuilder.java:83) at
> org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.j
>ava:424) at
> org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.j
>ava:418) at
> org.apache.cxf.common.xmlschema.SchemaCollection.read(SchemaCollection.java
>:158) at
> org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDa
>taBinding.java:109) at
> org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:341) at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFro
>mClass(ReflectionServiceFactoryBean.java:359) at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(
>JaxWsServiceFactoryBean.java:519) at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServi
>ceModel(ReflectionServiceFactoryBean.java:410) at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Reflecti
>onServiceFactoryBean.java:189) at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFac
>toryBean.java:164) at
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(Abs
>tractWSDLBasedEndpointFactory.java:100) at
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:117
>) at
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.j
>ava:168) at
> org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:336) at
> org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:251)



-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog