Malisetti, Ramanjaneyulu wrote:
Hi ,
I have remotable service bound to WS binding in the
following way. If I open service wsdl from browser, the WSDL shown there
is generated one but not the one I mentioned in composite. Is this the
expected behavior?
<binding.ws wsdli:wsdlLocation="file:/C:/ HelloWorldService.wsdl"
_uri_http://localhost:9999/sample/HelloWorldService"/>
Is there a way to tell SCA runtime to use WSDL specified in binding tag
and show only that in browser?
Regards
Raman
Hi Raman,
There's no way to change what Tuscany returns for a ?wsdl query
from a browser.
The generated wsdl that Tuscany returns is correct and uses the
<import> tag to bring in the user's wsdl specified in <binding.ws>.
The wsdl returned by Tuscany should be consumable by any tool that
can handle WSDL and resolve WSDL imports.
This import approach allows Tuscany to control precisely which parts
of the user's wsdl are exposed by ?wsdl, and to guarantee that the
wsdl returned by ?wsdl exactly matches what the Tuscany endpoint
supports.
For example, if the user provides a wsdl with additional bindings
and/or ports that aren't used by the Tuscany endpoint, these
wouldn't be included in the wsdl that Tuscany returns from ?wsdl.
If the user's wsdl were returned "as is", the returned wsdl would
be misleading because it would refer to capabilities that the
Tuscany endpoint isn't able to provide.
Also, the generated wsdl that Tuscany returns conforms with the
naming recommendations (for service, port, etc.) in the SCA
Web Service Binding 1.0 specification. This wouldn't be possible
if the user's wsdl were returned directly.
Simon