Hi Simon

Thanks a lot for your response.. I will test out the steps you mentioned and
let you know... Thanks again.. it has helped me in giving confidence that I
am in the right direction to achieve what is required.. :)


Thanks
Prashanth Rao

by "Simon Laws" <[EMAIL PROTECTED]>
Hi Prashnanth

I'm a little shaky on the C++ implementation as I've not looked at it for a
while but let me have a go at some answers. Some comments in-line.

Hope that helps.

Simon

On Thu, Mar 13, 2008 at 10:14 AM, Prashanth Rao <[EMAIL PROTECTED]>
wrote:

> Hi
>
> Kindly help me to understand how WS bindings work for SCA C++
> implementation
> (i guess this would be also relevant to the java implementation as well??)
> and how to access the WSDL URI from an ESB
>
> 1. Assuming i publish a C++ component using the <service>... </service>
> definition in the composite file with relevant binding information
>  e.g.
>    <service name="CalculatorService">
>    <interface.wsdl interface="
> http://sample/calculator#wsdl.interface(Calculator)<http://sample/calculator#wsdl.interface%28Calculator%29>
> "/>
>     <binding.ws endpoint="
> http://http://sample/calculator#wsdl.endpoint(Calculator/CalculatorPort)<http://http://sample/calculator#wsdl.endpoint%28Calculator/CalculatorPort%29>
> "/>
>    <reference>CalculatorComponent</reference>
>    </service>
>
> 2. Can someone help me in understanding how the invocation of this service
> happens
>
> a] If i do not provide a WSDL file, i understand SCA container will
> generate
> one?


In Java SCA the container will generate a WSDL from the service interface
description. You can retrieve it by adding ?wsdl to the end of the service
URL. The C++ container won't generate wsdl for you although I vaguely
remember that it will return any supplied wsdl in response to a URL with
?wsdl on the end. I may be wrong on this and would have to try it although
I'm not set up to run it at the moment. If you don't provide a wsdl at all
in the C++ container to describe the service interface then , from the
documentation, the service will accept any incoming document/literal wrapped
XML request that matches an operation on the target service.


> in this case, how do i access this service from an ESB? what would be
> the URI to access the same? as i tried accessing the SOAP address location
> info in the sample WSDLs (accountservice.wsdl), and it failed.


It sounds like you are trying to do the right thing. Do you have the samples
working with you installation. E.g. the CppBigBank or HttpBigBank which both
include web services bindings.


>
> b] If i do create a matching WSDL file and deploy under
> TUSCANY_SCACPP_SYSTEM_ROOT folder, and start Axis2/C, how do i access the
> same WS from an ESB? what is the URI i should be using to get the WSDL
> service description info?


The wsdl for a service needs to go in the same directory as the component
that it relates to in order that the C++ runtime can find it. As I say about
I seem to remember that you can use ?wsdl but I'll have to try it.
Alternatively just take a manual copy of the wsdl and put it somewhere that
the ESB can find it.


>
> c] as well, is there any other steps needed to deploy this WSDL to any
> other
> location?


Not sure what you mean here but the wsdl file is just a text file so you
should be able to copy it to wherever you need it. From an C++ SCA container
point of view I believe it just needs to go into the directory where the
component is defined in order that the runtime can find it.


>
>
> I really appreciate your time for providing answers. i badly need to
> understand this to create an SCA based pilot work for a customer.
>
> Thanks
> Prashanth Rao
>

Reply via email to