I'm using JaxbWSDLBuilder to create the WSDL for a webservice. As long as
I'm using types from a single namespace there are no problems, but when I
use different namespaces the WSDLBuilder creates a file that contains tags
like <xs:import schemaLocation=" schema2.xsd" />. Although the content of
schema2.xsd is also found in the WSDL, I cannot parse such a file as I get
the exception attached below. Obviously the file schema2.xsd cannot be
located.
Is there a way to tell XFire not to add the <xs:import> or not to resolve
imports relative to the current position?

Cheers,
Philippe

org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'calculator': FactoryBean threw exception on object creation;
nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'xFireProxyBeanGen': Invocation of init
method failed; nested exception is org.codehaus.xfire.XFireRuntimeException:
Could not load WSDL.. Nested exception is javax.wsdl.WSDLException:
WSDLException (at /wsdl:definitions/wsdl:types/xs:schema[2]):
faultCode=OTHER_ERROR: Unable to locate with a locator the schema referenced
at ' schema1.xsd' relative to document base ''
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'xFireProxyBeanGen': Invocation of init method
failed; nested exception is org.codehaus.xfire.XFireRuntimeException : Could
not load WSDL.. Nested exception is javax.wsdl.WSDLException: WSDLException
(at /wsdl:definitions/wsdl:types/xs:schema[2]): faultCode=OTHER_ERROR:
Unable to locate with a locator the schema referenced at 'schema1.xsd '
relative to document base ''
Caused by: org.codehaus.xfire.XFireRuntimeException: Could not load WSDL..
Nested exception is javax.wsdl.WSDLException: WSDLException (at
/wsdl:definitions/wsdl:types/xs:schema[2]): faultCode=OTHER_ERROR: Unable to
locate with a locator the schema referenced at ' schema1.xsd' relative to
document base ''
WSDLException (at /wsdl:definitions/wsdl:types/xs:schema[2]):
faultCode=OTHER_ERROR: Unable to locate with a locator the schema referenced
at 'schema1.xsd' relative to document base '':
   at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes (Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions (Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
   at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
   at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(
ObjectServiceFactory.java :178)
   at org.codehaus.xfire.spring.remoting.XFireClientFactoryBean.makeClient(
XFireClientFactoryBean.java:504)
   at
org.codehaus.xfire.spring.remoting.XFireClientFactoryBean.createClient(
XFireClientFactoryBean.java :412)
   at
org.codehaus.xfire.spring.remoting.XFireClientFactoryBean.afterPropertiesSet
(XFireClientFactoryBean.java:119)
   at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(
AbstractAutowireCapableBeanFactory.java:1062)
   at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
(AbstractAutowireCapableBeanFactory.java:1029)
   at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(
AbstractAutowireCapableBeanFactory.java:420)
   at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
AbstractBeanFactory.java:245)
   at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(
DefaultSingletonBeanRegistry.java:141)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:242)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
AbstractBeanFactory.java:156)
   at
org.springframework.context.support.AbstractApplicationContext.getBean(
AbstractApplicationContext.java:642)
   at ch.elca.el4j.services.remoting.protocol.XFire.createProxyBean (
XFire.java:77)
   at
ch.elca.el4j.services.remoting.RemotingProxyFactoryBean.getFreshServiceProxy
(RemotingProxyFactoryBean.java:97)
   at ch.elca.el4j.services.remoting.RemotingProxyFactoryBean.getObject(
RemotingProxyFactoryBean.java :130)
   at
org.springframework.beans.factory.support.AbstractBeanFactory.getObjectFromFactoryBean
(AbstractBeanFactory.java:994)
   at
org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(
AbstractBeanFactory.java:960)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:202)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
AbstractBeanFactory.java:156)
   at
org.springframework.context.support.AbstractApplicationContext.getBean(
AbstractApplicationContext.java:642)
   at ch.elca.el4j.tests.remoting.CalculatorXFireTest.setUp(
CalculatorXFireTest.java :65)
   at junit.framework.TestCase.runBare(TestCase.java:128)
   at junit.framework.TestResult$1.protect(TestResult.java:106)
   at junit.framework.TestResult.runProtected(TestResult.java:124)
   at junit.framework.TestResult.run (TestResult.java:109)
   at junit.framework.TestCase.run(TestCase.java:120)
   at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(
JUnit3TestReference.java:128)
   at org.eclipse.jdt.internal.junit.runner.TestExecution.run (
TestExecution.java:38)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
RemoteTestRunner.java:460)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
RemoteTestRunner.java :673)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
RemoteTestRunner.java:386)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
RemoteTestRunner.java:196)

Reply via email to