#include <it_bus/operation.h>
Inheritance diagram for IT_Bus::ServerOperation:
An instance of a ServerOperation is passed to the dispatch() method of the stub generated from the WSDL file. By writing a servant class that implements the dispatch() method, an operation may be processed without using stub code.
An instance of a ServerOperation is passed as the parameter to a server request interceptor intercept_pre_dispatch() and intercept_post_dispatch methods. Use the ServerOperation subclass instance to obtain a pointer to the context container, from which application code may access built-in or user-defined contexts. The ServerOperation instance may also be used to access the input and output messages and their corresponding parts.
Definition at line 284 of file operation.h.
Public Member Functions | |
virtual | ~ServerOperation () |
Destructor. | |
virtual const IT_WSDL::WSDLOperation & | get_wsdl_operation () const |
Returns a reference to the object that corresponds to the in-memory representation of the current operation. | |
virtual const String & | get_name () const |
Returns the name of the operation. | |
virtual ReadableMessage & | get_input_message ()=0 |
Return the input message encapsulated within this server operation object. | |
virtual WritableMessage & | get_output_message ()=0 |
Return the output message encapsulated within this server operation object. | |
virtual ContextContainer * | request_contexts ()=0 |
Returns a pointer to the IT_Bus::ContextContainer that holds request contexts. | |
virtual ContextContainer * | reply_contexts ()=0 |
Returns a pointer to the IT_Bus::ContextContainer that holds reply contexts. | |
virtual void | read ()=0 |
Read the values from the underlying transport into the message parts of this server operation. | |
virtual void | write ()=0 |
Write the values of the message parts of this server operation into the underlying transport. | |
virtual void | exception_occured () |
If an exception occurs then write() is never called. | |
virtual CorrelationId | get_correlation_id () const=0 |
Return a unique identifier for this operation. | |
virtual ServerOperationPassThrough * | get_server_pass_through ()=0 |
Get access to the Message Buffers if available in order to optimise unmarshalling or avoid it. | |
Private Attributes | |
const IT_WSDL::WSDLOperation & | m_wsdl_operation |
virtual const IT_WSDL::WSDLOperation& IT_Bus::ServerOperation::get_wsdl_operation | ( | ) | const [virtual] |
Returns a reference to the object that corresponds to the in-memory representation of the current operation.
virtual const String& IT_Bus::ServerOperation::get_name | ( | ) | const [virtual] |
virtual ReadableMessage& IT_Bus::ServerOperation::get_input_message | ( | ) | [pure virtual] |
Return the input message encapsulated within this server operation object.
Implemented in IT_Bus::MessagingServerOperation.
virtual WritableMessage& IT_Bus::ServerOperation::get_output_message | ( | ) | [pure virtual] |
Return the output message encapsulated within this server operation object.
Implemented in IT_Bus::MessagingServerOperation.
virtual ContextContainer* IT_Bus::ServerOperation::request_contexts | ( | ) | [pure virtual] |
Returns a pointer to the IT_Bus::ContextContainer that holds request contexts.
Implemented in IT_Bus::MessagingServerOperation.
virtual ContextContainer* IT_Bus::ServerOperation::reply_contexts | ( | ) | [pure virtual] |
Returns a pointer to the IT_Bus::ContextContainer that holds reply contexts.
Implemented in IT_Bus::MessagingServerOperation.
virtual void IT_Bus::ServerOperation::read | ( | ) | [pure virtual] |
Read the values from the underlying transport into the message parts of this server operation.
Implemented in IT_Bus::MessagingServerOperation.
virtual void IT_Bus::ServerOperation::exception_occured | ( | ) | [virtual] |
If an exception occurs then write() is never called.
exception_occured() is called to allow the server operation to perform cleanup actions in this case.
Implementation of this method is contained in subclasses of the ServerOperation class.
Reimplemented in IT_Bus::MessagingServerOperation.
virtual CorrelationId IT_Bus::ServerOperation::get_correlation_id | ( | ) | const [pure virtual] |
Return a unique identifier for this operation.
This can be used to correlate request and response in a ServerRequestInterceptors pre and post dispatch intercept points.
Implemented in IT_Bus::MessagingServerOperation.
virtual ServerOperationPassThrough* IT_Bus::ServerOperation::get_server_pass_through | ( | ) | [pure virtual] |
Get access to the Message Buffers if available in order to optimise unmarshalling or avoid it.
Returns 0 if Operation doesn't support pass thru.
Implemented in IT_Bus::MessagingServerOperation.