File Information
Library: RemotingNG/SOAP
Package: SOAP
Header: Poco/RemotingNG/SOAP/Deserializer.h
Description
The Deserializer implementation for the SOAP Transport.
For more information, please see the Serializer documentation.
The deserializer can also be used to deserialize plain XML. To do so, instead of deserializeMessageBegin() and deserializeMessageEnd(), call deserializeStructBegin() and deserializeStructEnd(), respectively, at the root level, after calling setup().
Inheritance
Direct Base Classes: Poco::RemotingNG::Deserializer
All Base Classes: Poco::RemotingNG::Deserializer, Poco::RemotingNG::SerializerBase
Member Summary
Member Functions: addHeaderInterceptor, deserialize, deserializeMessageBegin, deserializeMessageEnd, deserializeNullableBegin, deserializeNullableEnd, deserializeOptionalBegin, deserializeOptionalEnd, deserializeSequenceBegin, deserializeSequenceEnd, deserializeStructBegin, deserializeStructEnd, enableMTOM, findMessage, isMTOMEnabled, parseContentType, pushAttribute, removeHeaderInterceptor, resetImpl, setupImpl, soapVersion
Inherited Functions: clearProperties, deserialize, deserializeMessageBegin, deserializeMessageEnd, deserializeNullableBegin, deserializeNullableEnd, deserializeOptionalBegin, deserializeOptionalEnd, deserializeSequenceBegin, deserializeSequenceEnd, deserializeStructBegin, deserializeStructEnd, findMessage, getProperty, hasProperty, popProperty, pushAttribute, pushProperty, reset, resetImpl, setup, setupImpl
Nested Classes
class HeaderInterceptor
Subclasses of this class can be registered with the Deserializer (via the Transport or Listener) to process the SOAP envelope header element and its children.
Constructors
Deserializer
Deserializer();
Creates the Deserializer.
Destructor
~Deserializer
~Deserializer();
Destroys the Deserializer.
Member Functions
addHeaderInterceptor
void addHeaderInterceptor(
HeaderInterceptor::Ptr pInterceptor
);
Adds a header interceptor which can be used to handle the SOAP Header element content, e.g. for adding a WS-Security header.
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::Int8 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::UInt8 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::Int16 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::UInt16 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::Int32 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::UInt32 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
long & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
unsigned long & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::Int64 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::UInt64 & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
float & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
double & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
bool & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
char & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
std::string & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
std::vector < char > & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::DateTime & value
);
deserialize
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::LocalDateTime & value
);
deserializeMessageBegin
void deserializeMessageBegin(
const std::string & name,
Poco::RemotingNG::SerializerBase::MessageType type
);
deserializeMessageEnd
void deserializeMessageEnd(
const std::string & name,
Poco::RemotingNG::SerializerBase::MessageType type
);
deserializeNullableBegin
bool deserializeNullableBegin(
const std::string & name,
bool isMandatory,
bool & isNull
);
deserializeNullableEnd
void deserializeNullableEnd(
const std::string & name
);
deserializeOptionalBegin
bool deserializeOptionalBegin(
const std::string & name,
bool isMandatory,
bool & isSpecified
);
deserializeOptionalEnd
void deserializeOptionalEnd(
const std::string & name
);
deserializeSequenceBegin
bool deserializeSequenceBegin(
const std::string & name,
bool isMandatory,
Poco::UInt32 & sizeHint
);
deserializeSequenceEnd
void deserializeSequenceEnd(
const std::string & name
);
deserializeStructBegin
bool deserializeStructBegin(
const std::string & name,
bool isMandatory
);
deserializeStructEnd
void deserializeStructEnd(
const std::string & name
);
enableMTOM
void enableMTOM(
bool enable
);
Enable MTOM for the next messages.
findMessage
Poco::RemotingNG::SerializerBase::MessageType findMessage(
std::string & name
);
isMTOMEnabled
bool isMTOMEnabled() const;
Returns true if and only if MTOM is enabled.
parseContentType
void parseContentType(
const std::string & contentType
);
If MTOM is enabled, parses the Content-Type for MIME boundary and content IDs.
pushAttribute
void pushAttribute(
const std::string & ns,
const std::string & attrName,
bool isMandatory
);
removeHeaderInterceptor
void removeHeaderInterceptor(
HeaderInterceptor::Ptr pInterceptor
);
Removes the given header interceptor.
soapVersion
Serializer::SOAPVersion soapVersion() const;
Returns the SOAP version (1.1 or 1.2) of the most recently processed message.
resetImpl
void resetImpl();
setupImpl
void setupImpl(
std::istream & istr
);