The Client Proxy
Class GreetingBindingProxy is the generated client proxy for the HelloWorld service. It provides five methods for each operation specified in the WSDL file. One pair of methods implements synchronous behavior, and the remaining three methods implement asynchronous behavior.
Excerpt from the client proxy for the HelloWorld service, GreetingBindingProxy.h, located in the generated HelloWorldExample\include\HelloWorldExample directory:
std::string sayHello(const std::string& hellorequest_in); //1
std::string sayHello(rwsf::CallInfo& callInfo, const std::string& //2
rwsf::AsyncHandle sayHelloStart(const std::string& hellorequest_in); //3
rwsf::AsyncHandle sayHelloStart(rwsf::CallInfo& info, //4
const std::string& hellorequest_in);
std::string sayHelloEnd(rwsf::AsyncHandle& handle); //5
//1 Declares the first of the two synchronous sayHello() methods. Takes a standard string as the hello request. Returns a string in response.
//2 Declares the second synchronous sayHello() method, which takes a standard string as the hello request, and a string as source data. This method also explicitly passes a rwsf::CallInfo object. Use this method if you need to add your own SOAP or transport headers to the message, or if you want to add some additional message handlers for the outgoing message.
//3 Defines the first of the two asynchronous sayHello() methods. These methods return a handle to an object that can be used to check on whether the operation has completed, and to retrieve the data if it has.
//4 Defines the second asynchronous sayHello() method. Differs from the first asynchronous method only in that it explicitly passes a rwsf::CallInfo object, which plays the same role as it does in the corresponding synchronous method.
//5 Declares the end method for an asynchronous process, which is used in retrieving the data.
To send a message to the Web service, we must construct an instance of the proxy and invoke either the synchronous or asynchronous method(s) that correspond to the WSDL operation. The method returns the values defined in the WSDL file for the response message.