PTLib  Version 2.10.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PSOAPMessage Class Reference

SOAP Message classes. More...

#include <psoap.h>

Inheritance diagram for PSOAPMessage:
PXML PXMLBase PObject

Public Types

enum  {
  NoFault, VersionMismatch, MustUnderstand, Client,
  Server
}
 State of the PSOAPMessage when used as a response. More...
- Public Types inherited from PXML
enum  ValidationOp {
  EndOfValidationList, DocType, ElementName, RequiredAttribute,
  RequiredNonEmptyAttribute, RequiredAttributeWithValue, RequiredElement, Subtree,
  RequiredAttributeWithValueMatching, RequiredElementWithBodyMatching, OptionalElement, OptionalAttribute,
  OptionalNonEmptyAttribute, OptionalAttributeWithValue, OptionalAttributeWithValueMatching, OptionalElementWithBodyMatching,
  SetDefaultNamespace, SetNamespace, RequiredAttributeWithValueMatchingEx = RequiredAttributeWithValueMatching + 0x8000, OptionalAttributeWithValueMatchingEx = OptionalAttributeWithValueMatching + 0x8000,
  RequiredElementWithBodyMatchingEx = RequiredElementWithBodyMatching + 0x8000, OptionalElementWithBodyMatchingEx = OptionalElementWithBodyMatching + 0x8000
}
- Public Types inherited from PXMLBase
enum  { DEFAULT_MAX_ENTITY_LENGTH = 4096 }
enum  Options {
  NoOptions = 0x0000, Indent = 0x0001, NewLineAfterElement = 0x0002, NoIgnoreWhiteSpace = 0x0004,
  CloseExtended = 0x0008, WithNS = 0x0010, FragmentOnly = 0x0020, AllOptions = 0xffff
}
enum  StandAloneType { UninitialisedStandAlone = -2, UnknownStandAlone = -1, NotStandAlone, IsStandAlone }
- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...

Public Member Functions

 PSOAPMessage (int options=PXMLParser::Indent+PXMLParser::NewLineAfterElement)
 Construct a SOAP message.
 PSOAPMessage (const PString &method, const PString &nameSpace)
 Construct a SOAP message with method name and namespace already provided.
void SetMethod (const PString &name, const PString &nameSpace, const PString &methodPrefix="m:")
 Set the method name and namespace.
void GetMethod (PString &name, PString &nameSpace)
 Get the method name and namespace.
void AddParameter (PString name, PString type, PString value)
 Add a simple parameter called name, with type type and value value.
void AddParameter (PXMLElement *parameter, PBoolean dirty=true)
 Add a parameter using a PXMLElement.
PBoolean GetParameter (const PString &name, PString &value)
 Get parameter "name" with type "string".
PBoolean GetParameter (const PString &name, int &value)
 Get parameter "name" with type "int".
PXMLElementGetParameter (const PString &name)
 Get parameter "name".
PBoolean Load (const PString &str)
 Parse a string for a valid SOAP message.
PINDEX GetFaultCode () const
PString GetFaultText () const
void SetFault (PINDEX code, const PString &text)
- Public Member Functions inherited from PXML
 PXML (int options=NoOptions, const char *noIndentElements=NULL)
 PXML (const PString &data, int options=NoOptions, const char *noIndentElements=NULL)
 PXML (const PXML &xml)
 ~PXML ()
bool IsLoaded () const
bool IsDirty () const
bool Load (const PString &data, Options options=NoOptions)
bool LoadFile (const PFilePath &fn, Options options=NoOptions)
virtual void OnLoaded ()
bool Save (Options options=NoOptions)
bool Save (PString &data, Options options=NoOptions)
bool SaveFile (const PFilePath &fn, Options options=NoOptions)
void RemoveAll ()
PBoolean IsNoIndentElement (const PString &elementName) const
PString AsString () const
void PrintOn (ostream &strm) const
 Output the contents of the object to the stream.
void ReadFrom (istream &strm)
 Input the contents of the object from the stream.
PXMLElementGetElement (const PCaselessString &name, const PCaselessString &attr, const PString &attrval) const
PXMLElementGetElement (const PCaselessString &name, PINDEX idx=0) const
PXMLElementGetElement (PINDEX idx) const
PINDEX GetNumElements () const
PXMLElementGetRootElement () const
PXMLElementSetRootElement (PXMLElement *p)
PXMLElementSetRootElement (const PString &documentType)
bool RemoveElement (PINDEX idx)
PCaselessString GetDocumentType () const
bool Validate (const ValidationInfo *validator)
bool ValidateElements (ValidationContext &context, PXMLElement *baseElement, const ValidationInfo *elements)
bool ValidateElement (ValidationContext &context, PXMLElement *element, const ValidationInfo *elements)
bool LoadAndValidate (const PString &body, const PXML::ValidationInfo *validator, PString &error, int options=NoOptions)
PString GetErrorString () const
unsigned GetErrorColumn () const
unsigned GetErrorLine () const
PString GetDocType () const
void SetDocType (const PString &v)
PMutexGetMutex ()
- Public Member Functions inherited from PXMLBase
 PXMLBase (int opts=NoOptions)
void SetOptions (int opts)
int GetOptions () const
void SetMaxEntityLength (unsigned len)
unsigned GetMaxEntityLength () const
- Public Member Functions inherited from PObject
virtual ~PObject ()
virtual PObjectClone () const
 Create a copy of the class on the heap.
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class.
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance.
PBoolean IsClass (const char *cls) const
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class.
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank.
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects.
bool operator== (const PObject &obj) const
 Compare the two objects.
bool operator!= (const PObject &obj) const
 Compare the two objects.
bool operator< (const PObject &obj) const
 Compare the two objects.
bool operator> (const PObject &obj) const
 Compare the two objects.
bool operator<= (const PObject &obj) const
 Compare the two objects.
bool operator>= (const PObject &obj) const
 Compare the two objects.

Additional Inherited Members

- Static Public Member Functions inherited from PXML
static PString CreateStartTag (const PString &text)
static PString CreateEndTag (const PString &text)
static PString CreateTagNoData (const PString &text)
static PString CreateTag (const PString &text, const PString &data)
static PString EscapeSpecialChars (const PString &string)
- Protected Member Functions inherited from PXML
void Construct (int options, const char *noIndentElements)
- Protected Attributes inherited from PXML
PXMLElementrootElement
PMutex rootMutex
bool loadFromFile
PFilePath loadFilename
PString version
PString encoding
StandAloneType m_standAlone
PStringStream m_errorString
unsigned m_errorLine
unsigned m_errorColumn
PSortedStringList noIndentElements
PString docType
PString m_defaultNameSpace
- Friends inherited from PObject

Detailed Description

SOAP Message classes.

SOAP message according to http://www.w3.org/TR/SOAP/

Member Enumeration Documentation

anonymous enum

State of the PSOAPMessage when used as a response.

Enumerator:
NoFault 

Everything is alright.

VersionMismatch 

Invalid namespace for SOAP Envelope.

MustUnderstand 

Error processing SOAP Header field "mustUnderstand".

Client 

The request was incorrectly formed or did not contain the appropriate information in order to succeed.

Server 

The request could not be processed for reasons not directly attributable to the contents of the message itself but rather to the processing of the message.

Constructor & Destructor Documentation

PSOAPMessage::PSOAPMessage ( int  options = PXMLParser::Indent+PXMLParser::NewLineAfterElement)

Construct a SOAP message.

PSOAPMessage::PSOAPMessage ( const PString method,
const PString nameSpace 
)

Construct a SOAP message with method name and namespace already provided.

Member Function Documentation

void PSOAPMessage::AddParameter ( PString  name,
PString  type,
PString  value 
)

Add a simple parameter called name, with type type and value value.

void PSOAPMessage::AddParameter ( PXMLElement parameter,
PBoolean  dirty = true 
)

Add a parameter using a PXMLElement.

PINDEX PSOAPMessage::GetFaultCode ( ) const
inline
PString PSOAPMessage::GetFaultText ( ) const
inline
void PSOAPMessage::GetMethod ( PString name,
PString nameSpace 
)

Get the method name and namespace.

PBoolean PSOAPMessage::GetParameter ( const PString name,
PString value 
)

Get parameter "name" with type "string".

PBoolean PSOAPMessage::GetParameter ( const PString name,
int &  value 
)

Get parameter "name" with type "int".

PXMLElement* PSOAPMessage::GetParameter ( const PString name)

Get parameter "name".

PBoolean PSOAPMessage::Load ( const PString str)

Parse a string for a valid SOAP message.

void PSOAPMessage::SetFault ( PINDEX  code,
const PString text 
)
void PSOAPMessage::SetMethod ( const PString name,
const PString nameSpace,
const PString methodPrefix = "m:" 
)

Set the method name and namespace.


The documentation for this class was generated from the following file: