Hi

> Example,
> http://localhost:8181/cxf/services/cxf/webservices/CalculatorService?wsdl
> 
> Assume the wsdl of CalculatorService imports some schema1.xsd. How can a
> client access schema1.xsd?
> 
> Webservice client tools like SOAPUI would need to get hold of imported
> schema. How can this be achieved?

First of all the client tool should be capable of looking at the import 
statements in the retrieved top-level wsdl and issuing additional requests to 
get the imported resources. If the imported resource is referenced with the 
absolute uri then that uri should be used, if it's a relative uri, say 
"schema1.xsd", then the client tool should compose it if with the original 
url...

> http://localhost:8181/cxf/services/cxf/webservices/CalculatorService?wsdl

The problem with this convention is that the composition does not work well, 
given that relative references are used quire often, the client tool should get 
rid of ?wsdl and append "schema1.wsdl" :

http://localhost:8181/cxf/services/cxf/webservices/CalculatorService/schema1.wsdl
 
This request is tricky to handle generically...

Ideally, 

http://localhost:8181/cxf/services/cxf/webservices/CalculatorService/wsdl

should be used. /wsdl gives that extra context and it works well with relative 
resources. /wsdl can be actually mapped to some local temp folder, so when a 
request like 
http://localhost:8181/cxf/services/cxf/webservices/CalculatorService/wsdl/schema1.wsdl
 arrives it then obvious how to serve it...


Cheers, Sergey

> Thanks
> Bharath
>

Reply via email to