I have a wsdl that is being published using the following configuration:

<jaxws:endpoint id="userService"
wsdlLocation="classpath:/service/user-soap-v1.wsdl"
serviceName="userService:userSoapServicePorts"
endpointName="userService:userSoapServicePort"
implementor="com.healthmedia.ws.wsdl.user.v1.UserServiceImpl"
address="/userService" />

After starting the service I can look at the concrete wsdl class and
everything seems okay. The schemaLocations are all properly re-wrtten:

<xsd:import namespace="urn:healthmedia:schema:user:v1" schemaLocation="
http://localhost:8080/user-service/userService?xsd=../schema/entity/user-v1.xsd
"/>
<xsd:import namespace="urn:healthmedia:schema:common-error:v1"
schemaLocation="
http://localhost:8080/user-service/userService?xsd=../schema/common/common-error-v1.xsd
"/>

But if I then parse either of THESE imported xsd files there is a problem.
The imports in these files are NOT rewritten; the effect is that clients
cannot parse my service contract. Here is the import contents from '"
http://localhost:8080/user-service/userService?xsd=../schema/common/common-error-v1.xsd'
 (note the absence of the '
http://localhost:8080/user-service/userService?xsd=' prefix):

<xsd:import namespace="http://www.w3.org/XML/1998/namespace";
schemaLocation="../external/xml.xsd"/>

This seemed to have worked before. What could i have done to cause this to
happen? SOAPUI no longer can import my contracts.

The code is in github:
https://github.com/MacFlecknoe/service-repository-sample/tree/master/user/service

Thanks again!

Reply via email to