Poco::Remoting::SoapLite

class Transport

Library: Remoting/SoapLite
Package: SoapLite
Header: Poco/Remoting/SoapLite/Transport.h

Description

SoapLite Transport implementation. The following requirements must be met, so that one can use SoapLite as transport: On the server side one must (1) register the TransportFactory, (2) register a Listener and finally, (3) register the individual objects.

Example:

Remoting::SoapLite::TransportFactory::registerFactory();
Poco::Remoting::ORB::instance().registerListener(new Remoting::SoapLite::Listener(10001));
TestProject::MySubClassHelper::registerObject(new TestProject::MySubClass(), "subclass1", 10001, Remoting::SoapLite::Transport::ID, false);

On the client side, requirements are similar: (1) TransportFactory, and (2) retrieve the object via the helper class.

Example:

Remoting::NetConf::TransportFactory::registerFactory();
Poco::AutoPtr<TestProject::IMySubClass> ptrObj = TestProject::MySubClassHelper::findObject(hostName, "subclass1", 10001, Remoting::SoapLite::Transport::ID, false);

Inheritance

Direct Base Classes: Poco::Remoting::Transport

All Base Classes: Poco::Remoting::Transport

Member Summary

Member Functions: connect, connected, disconnect, doExecute, doExecuteOneWay, endExecute, endPoint, getDeserializer, getSerializer, prepareExecute, prepareExecuteOneWay

Inherited Functions: connect, connected, disconnect, doExecute, doExecuteOneWay, endExecute, endPoint, getDeserializer, getSerializer, prepareExecute, prepareExecuteOneWay

Constructors

Transport

Transport(
    bool enableSOAP,
    bool keepAlive
);

Creates the Transport with an uninitialized HttpClientSession/HttpsClientSession

Destructor

~Transport virtual

~Transport();

Destroys the Transport.

Member Functions

connect virtual

void connect(
    const std::string & endPoint
);

The endpoint must be in URI parsable format, e.g.: remoting://www.xyz.org:666/path, or remotings://...

See also: Poco::Remoting::Transport::connect()

connected virtual inline

bool connected() const;

Returns the connection status.

See also: Poco::Remoting::Transport::connected()

disconnect virtual

void disconnect();

Disconnects the transport.

See also: Poco::Remoting::Transport::disconnect()

doExecute inline

void doExecute(
    const Poco::Remoting::Identifiable::ObjectId & oId,
    const Poco::Remoting::Identifiable::TypeId & tid,
    const std::string & methodName
);

Send the request.

doExecuteOneWay

void doExecuteOneWay(
    const Poco::Remoting::Identifiable::ObjectId & oId,
    const Poco::Remoting::Identifiable::TypeId & tid,
    const std::string & methodName
);

Send the request and forget about it. No response checking.

endExecute

std::istream & endExecute(
    const Poco::Remoting::Identifiable::ObjectId & oId,
    const Poco::Remoting::Identifiable::TypeId & tid,
    const std::string & methodName
);

Get the response. Note that even void methods will return at least an empty response except when the method has been flagged as oneway! But in that case the code generator will use doExecuteOneWay instead of doExecute and endExecute.

endPoint virtual inline

const std::string & endPoint() const;

Returns the endpoint this transport is connected to or an empty string if it is not connected.

See also: Poco::Remoting::Transport::endPoint()

getDeserializer inline

Poco::Remoting::Deserializer & getDeserializer();

Returns an Xml deserializer.

getSerializer inline

Poco::Remoting::Serializer & getSerializer();

Returns an Xml serializer.

prepareExecute inline

std::ostream & prepareExecute(
    const Poco::Remoting::Identifiable::ObjectId & oId,
    const Poco::Remoting::Identifiable::TypeId & tid,
    const std::string & methodName
);

Build a request and return the ouputstream so that the serializer classes can append their information to the request.

prepareExecuteOneWay

std::ostream & prepareExecuteOneWay(
    const Poco::Remoting::Identifiable::ObjectId & oId,
    const Poco::Remoting::Identifiable::TypeId & tid,
    const std::string & methodName
);

Build a one-way request and return the outputstream so that the serializer classes can append their information to the request.

Variables

CONTENT_TYPE static

static const std::string CONTENT_TYPE;

EXCEPTION_TAG static

static const std::string EXCEPTION_TAG;

ID static

static const std::string ID;

MESSAGE_TAG static

static const std::string MESSAGE_TAG;

SOAPACTION static

static const std::string SOAPACTION;

TYPE_TAG static

static const std::string TYPE_TAG;