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 >