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 >
