File Information
Library: RemotingNG/SOAP
Package: SOAP
Header: Poco/RemotingNG/SOAP/Listener.h
Description
The RemotingNG Listener implementation for the SOAP transport.
Inheritance
Direct Base Classes: Poco::RemotingNG::Listener
All Base Classes: Poco::RefCountedObject, Poco::RemotingNG::Listener
Member Summary
Member Functions: addRequestHeaderInterceptor, createURI, enableChunkedTransferEncoding, enableCompression, enableMTOM, enableWSSE, handlesURI, isChunkedTransferEncodingEnabled, isCompressionEnabled, isMTOMEnabled, isWSSEEnabled, protocol, registerObject, removeRequestHeaderInterceptor, requestHeaderInterceptors, start, stop, unregisterObject
Inherited Functions: createURI, duplicate, endPoint, getAuthenticator, getAuthorizer, handlesURI, protocol, referenceCount, registerObject, release, setAuthenticator, setAuthorizer, start, stop, unregisterObject
Types Aliases
Ptr
using Ptr = Poco::AutoPtr < Listener >;
RequestHeaderInterceptor
using RequestHeaderInterceptor = Deserializer::HeaderInterceptor;
Enumerations
Protocol
Constructors
Listener
Listener(
const std::string & endPoint,
Protocol proto
);
Creates a Listener for the given endpoint, which must be in <host>:<port> format.
The value specified for proto determines the URI scheme used by createURI().
Note that the Listener instance created by this constructor does not actually accept requests itself. It merely registers an endpoint in the ORB. A Poco::Net::HTTPServer must be created for accepting SOAP requests using a SOAPRequestHandler.
Listener
Listener(
const std::string & endPoint,
const std::string & wsdlPath,
Poco::Net::HTTPServerParams::Ptr pParams = new Poco::Net::HTTPServerParams
);
Creates a Listener for the given endpoint, which must be in <host>:<port> format.
This constructor will create a Poco::Net::HTTPServer instance for handling incoming SOAP requests, using a Poco::Net::ServerSocket bound to endPoint.
wsdlPath specifies the path to the directory containing WSDL documents. It can be empty if the WSDL documents are located in the current working directory.
Listener
Listener(
const std::string & endPoint,
const std::string & wsdlPath,
const Poco::Net::ServerSocket & socket,
Poco::Net::HTTPServerParams::Ptr pParams = new Poco::Net::HTTPServerParams
);
Creates a Listener for the given endpoint, which must be in <host>:<port> format.
This constructor will create a Poco::Net::HTTPServer instance using the given server socket for handling incoming SOAP requests. The given server socket can be a Poco::Net::ServerSocket or a Poco::Net::SecureServerSocket which must be bound to a socket address corresponding to the given endPoint.
wsdlPath specifies the path to the directory containing WSDL documents. It can be empty if the WSDL documents are located in the current working directory.
Destructor
~Listener
~Listener();
Destroys the Listener.
Member Functions
addRequestHeaderInterceptor
void addRequestHeaderInterceptor(
RequestHeaderInterceptor::Ptr pInterceptor
);
Adds a header interceptor to the request deserializer.
createURI
std::string createURI(
const Poco::RemotingNG::Identifiable::TypeId & typeId,
const Poco::RemotingNG::Identifiable::ObjectId & objectId
);
enableChunkedTransferEncoding
void enableChunkedTransferEncoding(
bool enable = true
);
Enables or disables chunked transfer encoding for responses. Default is enabled.
enableCompression
void enableCompression(
bool enable = true
);
Enables or disables GZIP compression for responses. Default is enabled.
Note that chunked transfer encoding must also be enabled in order to allow compression.
enableMTOM
void enableMTOM(
bool enable = true
);
Enables or disables MTOM (Message Transport Optimization Mechanism) for server responses. If enabled, every response will be sent in a MIME multipart message and binary data (std::vector<char>) will be sent raw in a separate MIME part instead of Base64-encoded within the SOAP body.
See http://www.w3.org/TR/soap12-mtom/ for more information about MTOM.
enableWSSE
void enableWSSE(
bool enable = true
);
Enables or disables support for WS-Security Username Token Profile. If enabled, an Authenticator must be registered that can handle WSSE credentials, which consist of:
- username
- password
- nonce
- created
handlesURI
bool handlesURI(
const std::string & uri
);
See also: Poco::RemotingNG::Listener::handlesURI()
isChunkedTransferEncodingEnabled
bool isChunkedTransferEncodingEnabled() const;
Returns true iff chunked transfer encoding is enabled for responses.
isCompressionEnabled
bool isCompressionEnabled() const;
Returns true iff GZIP compression is enabled for responses.
isMTOMEnabled
bool isMTOMEnabled() const;
Returns true iff MTOM is enabled.
isWSSEEnabled
bool isWSSEEnabled() const;
Returns true if WSSE is enabled.
protocol
const std::string & protocol() const;
See also: Poco::RemotingNG::Listener::protocol()
registerObject
void registerObject(
Poco::RemotingNG::RemoteObject::Ptr pRemoteObject,
Poco::RemotingNG::Skeleton::Ptr pSkeleton
);
removeRequestHeaderInterceptor
void removeRequestHeaderInterceptor(
RequestHeaderInterceptor::Ptr pInterceptor
);
Removes a header interceptor from the request deserializer.
requestHeaderInterceptors
const std::vector < Deserializer::HeaderInterceptor::Ptr > & requestHeaderInterceptors() const;
start
void start();
See also: Poco::RemotingNG::Listener::start()
stop
void stop();
See also: Poco::RemotingNG::Listener::stop()
unregisterObject
void unregisterObject(
Poco::RemotingNG::RemoteObject::Ptr pRemoteObject
);