rwsf::MessageListener rwsf::MessageHandler
body() getProperty() init() |
log() MessageListener() operator=() |
setHandler() setProperty() start() |
stop() ~MessageListener() |
#include <rw/rwsf/soapworx/listener/MessageListener.h>
rwsf::MessageListener is the handle class for all listeners.
Listeners wait for messages in a separate thread and forward received messages to the relevant handler. Listeners are used in clients when there is need for the client to listen for messages, such as when implementing the notification and solicit-response patterns.
For more information about the notification pattern and asynchronous processing, see Chapter 13, "Asynchronous Messaging," in the HydraExpress Web Service Development Guide. For more information on handlers, see Section 15.3, "The Message Handler API," in the HydraExpress Web Service Development Guide
To create a new listener, extend the body class rwsf::MessageHandlerImp. Configure your listener in the configuration file client-transports.xml. This file is a static file that is copied to your output directory at the time of code generation, and contains initialization parameters for client transports and listeners. For a discussion on creating or customizing transports or listeners, see Chapter 11, "Dynamic Transports," in the HydraExpress Web Service Development Guide
rwsf::MessageListener implements the handle/body idiom in which rwsf::MessageListener is the handle, and rwsf::MessageListenerImp is the body. An instance of this class is a handle to a private, reference-counted body. When a handle is copy-constructed, the new handle attaches to the same body as the original. When one handle is assigned to another handle, the handle on the left side detaches from its current body and attaches to the body pointed to by the handle on the right side. Logical operators return truth values based on whether the handles being compared point to the same body instance.
NOTE -- Handle methods that just call the corresponding method on the body are described only in the body class. For instance, if the handle class includes a method invoke() that calls the body's corresponding method doInvoke(), that method is documented only in the body class.
MessageListener();
Default constructor. Creates an empty message handler.
MessageListener(MessageListenerImp* imp);
Constructs a new handler bound to a new listener body instance, and increments a reference count.
MessageListener(const MessageListener& listener);
Copy constructor.
virtual ~MessageListener();
Destructor.
MessageListener& operator=(const MessageListener& listener);
Assignment operator.
MessageListenerImp& body() const;
Returns the listener body.
void init(const rwsf::Config& initParams); std::string getProperty(const std::string& value); void setProperty(const std::string& key, const std::string& value);. void log(const std::string& message, rwsf::CallInfo::LogLevel l = rwsf::CallInfo::Error); void log(rwsf::CallInfo& callInfo, rwsf::CallInfo::LogLevel l = rwsf::CallInfo::Error); void setHandler(const rwsf::MessageHandler& handler); void start(); void stop();
©2004-2007 Copyright Quovadx, Inc. All Rights Reserved.
Quovadx and Rogue Wave are registered trademarks of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.