IT_Bus::Port Class Reference

#include <it_bus/port.h>

Inheritance diagram for IT_Bus::Port:

IT_Bus::TransactionInterface IT_Bus::MessagingPort List of all members.

Detailed Description

Class representing the Web service port.

Application code will not instantiate an instance of the IT_Bus::Port class. Obtain a reference to the active port from the proxy or ServerOperation instance.

Transactions may be managed through either the IT_Bus::Bus or IT_Bus::Port classes. Use the Port class when a process employs multiple ports that have different transactional behavior.

Definition at line 133 of file port.h.

Public Member Functions

 Port ()
virtual const IT_WSDL::WSDLPortget_wsdl_port () const =0
 Return a reference to class representing the port defined in the WSDL file.
virtual IT_WSDL::WSDLExtensionElementget_configuration ()=0
 Return a reference to a class derived from IT_WSDL::WSDLExtensionElement.
virtual ClientBindingget_client_binding ()=0
 Call this method to apply configuration changes.
virtual void register_servant (Servant &servant)=0
 Registers a servant against this port/endpoint.
virtual Servantget_servant ()=0
 Returns the Servant which is tied to the port/endpoint.
virtual ServiceBaseget_service ()=0
 Return a pointer to a derived class implementing the ServiceBase superclass.
virtual void register_default_servant (Servant &servant)=0
 Registers a default servant.
virtual void get_reference_with_id (const String &instance_id, IT_WSDL::WSDLPort &wsdl_port)=0
 Registers a new addressing context for the default servant to support.


Member Function Documentation

virtual IT_WSDL::WSDLExtensionElement& IT_Bus::Port::get_configuration (  )  [pure virtual]

Return a reference to a class derived from IT_WSDL::WSDLExtensionElement.

Returns:
IT_WSDL::WSDLExtensionElement.
Cast the return to the appropriate extension element type and then manipulate the port configuration. For example, for a Web service using HTTP transport, the return may be cast to IT_HTTP::HTTPServerConfiguration or IT_HTTP::HTTPClientConfiguration. Review the header files it_bus_config/http_wsdl_client.h and it_bus_config/http_wsdl_server.h.

virtual void IT_Bus::Port::get_reference_with_id ( const String instance_id,
IT_WSDL::WSDLPort wsdl_port 
) [pure virtual]

Registers a new addressing context for the default servant to support.

This will throw a Bus Exception if no default servant has been registered. It will populate the WSDLPort* with new addressing information based on the context passed in.

This method is used internally by the runtime when a user calls get_reference_with_id on a Service instance.

Parameters:
Instance ID to be used when creating new addressing. WSDLPort* to be populated by the Port

virtual Servant* IT_Bus::Port::get_servant (  )  [pure virtual]

Returns the Servant which is tied to the port/endpoint.

Parameters:
Servant which the Port dispatches all messages to

virtual ServiceBase* IT_Bus::Port::get_service (  )  [pure virtual]

Return a pointer to a derived class implementing the ServiceBase superclass.

ServiceBase is the superclass of the ServerService class. The Service is a typedef of ServerService.

Returns:
ServiceBase

virtual const IT_WSDL::WSDLPort& IT_Bus::Port::get_wsdl_port (  )  const [pure virtual]

Return a reference to class representing the port defined in the WSDL file.

This is the meta data that describes this endpoint

Returns:
WSDLPort.

virtual void IT_Bus::Port::register_default_servant ( Servant servant  )  [pure virtual]

Registers a default servant.

Use this method when you want to share a single Servant across multiple Services of the same type. It requires that the Servant implementation uses Addressing Context at runtime to distinguish between endpoints.

Parameters:
Default Servant to be registered.

virtual void IT_Bus::Port::register_servant ( Servant servant  )  [pure virtual]

Registers a servant against this port/endpoint.

The runtime uses this method when tying a Servant to a port as a result of activating a Servant with the Bus.

Parameters:
Servant to be registered.


Generated on Thu Sep 7 11:40:04 2006 for Artix by  doxygen 1.4.7