Looking at the Code
The sample below shows the public interface for the client proxy, DayOfWeekBindingProxy.h located in the DayofWeekExample\include\DayofWeekExample directory.
The sample is reformatted slightly to fit on the page, and omits include statements, comments, and private members:
class DayOfWeekBindingProxyImp;
DayOfWeekBindingProxy : public rwsf::Client //1
static DayOfWeekBindingProxy make(const std::string& location = //2
static DayOfWeekBindingProxy make(const rwsf::Transport& transport); //3
static DayOfWeekBindingProxy make(DayOfWeekBindingProxyImp *impl); //4
DayOfWeekBindingProxy(); //5
DayOfWeekBindingProxy(const DayOfWeekBindingProxy& proxy);
DayOfWeekBindingProxy& operator=(const DayOfWeekBindingProxy& proxy); //6
void setTransportProperty(const std::string& property, //7
const std::string& value);
std::string getDayOfWeek(const std::string& date_in); //8
std::string getDayOfWeek(rwsf::CallInfo& callInfo,
const std::string& date_in);
rwsf::AsyncHandle getDayOfWeekStart(const std::string& date_in); //9
rwsf::AsyncHandle getDayOfWeekStart(rwsf::CallInfo& info,
const std::string& date_in);
std::string getDayOfWeekEnd(rwsf::AsyncHandle& handle); //10
//1 Derives from base class rwsf::Client
//2 The proxy includes three make() convenience methods for obtaining an instance of the proxy.
The first returns a handle to the proxy based on a location parameter specifying the URL of the service. By default, the location is the URL specified in the WSDL file.
//3 Returns a handle to the proxy based on a transport parameter specifying the transport for the service. This method is used if a transport type is passed in on the command line, or if the client implementation needs to select a transport dynamically at runtime. Use this method to use a transport other than the default specified in the WSDL.
//4 Returns a handle to the DayOfWeekBindingProxyImp body implementation passed as a parameter. (This method is used internally.)
//5 Default constructor, copy constructor, destructor.
//6 Assignment operator.
//7 Sets a property in the transport associated with this client proxy.
//8 Declares the first of the two synchronous getDayOfWeek() methods. These methods take a string containing the date, and return the day of week for that date.
The second method in the pair differs only in explicitly passing a rwsf::CallInfo object. Use this method if you need to add your own SOAP or transport headers to the message (see Chapter 15, SOAP and Transport Headers ), or you want to add some additional message handlers for the outgoing message (see Chapter 14, SOAP Message Handlers ).
//9 Declares the first of the two asynchronous getDayOfWeek() 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. See The Asynchronous Client API for an explanation of this interface.
The second method with the rwsf::CallInfo parameter plays the same role as the corresponding synchronous method.
//10 Declares the end method for an asynchronous process, which is used in retrieving the data.