I have a problem importing an XSD with common types into other XSDs. ("http" and "www" removed from links because it won't let me post with links in!)
This seems to be because my common types XSD is in one namespace, and each of my service-specific XSDs are in other namespaces.
My common types XSD begins with:
<xs:schema xmlns:xs="w3.org/2001/XMLSchema"
elementFormDefault="qualified"
xmlns="blah.co.uk/common"
targetNamespace="blah.co.uk/common">
One of my service-specific XSDs begins with:
<xs:schema xmlns:xs="w3.org/2001/XMLSchema"
elementFormDefault="qualified"
xmlns:cs="blah.co.uk/someservice"
xmlns:ws="blah.co.uk/common"
targetNamespace="blah.co.uk/someservice">
<xs:import namespace="blah.co.uk/common"
schemaLocation="commonTypes.xsd"/>
In my spring-ws-servlet.xml I have
<bean id="someService" class="org.springframework.ws.wsdl.wsdl11.DefaultW sdl11Definition">
<property name="schema" ref="someServiceSchema"/>
<property name="portTypeName" value="SomeService"/>
<property name="locationUri" value="/someService/"/>
</bean>
Where the schema property references a SimpleXsdSchema bean created from my specific XSD.
The WSDL generates correctly in the sense that it looks correct. But when I try to call the service, whether from my Visual Studio web app or from a SoapUI test, it fails because it cannot find commonTypes.xsd in the namespace of "blah.co.uk/someservice".
I know that if I just used one namespace for everything then it would work, but as my specific services are grouped into sensible namespaces based on "system area" I would like to keep it that way.
How do I import XSDs with different target namespaces?


Reply With Quote
