PrevNextUpHome SophiaFramework UNIVERSE 5.3
SFXSOAPParser
Class that parses a SOAP message using the DOM method.
#include <SFXSOAPParser.hpp>
class SFXSOAPParser : public SFXXMLDOMParser;
SFMTYPEDEFCLASS(SFXSOAPParser)

Inheritance diagram

 Inheritance diagram of SFXSOAPParserClass

Collaboration diagram

 Collaboration diagram of SFXSOAPParserClass

Description

The SFXSOAPParser parses a SOAP message using the DOM method by inheriting from the SFXXMLDOMParser class.

[Note] About Simple Object Access Protocol (SOAP)

W3C SOAP updated information: Latest SOAP versions (SOAP 1.1 and SOAP 1.2 are supported. However, SOAP Attachment is not implemented and only SOAP Fault of SOAP 1.1 is supported.)

Example 836. SOAP message to be parsed("soapmessage.xml")

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
 <env:Header>
    <SubscriptionInfo xmlns="http://schemas.xmlsoap.org">
      <LicenseStatusCode>0</LicenseStatusCode>
      <LicenseStatus>Valid license key</LicenseStatus>
      <LicenseActionCode>0</LicenseActionCode>
      <LicenseAction>Decremented hit count</LicenseAction>
      <RemainingHits>18</RemainingHits>
      <Amount>0</Amount>
    </SubscriptionInfo>
 </env:Header>
 <env:Body>
  <m:GetLastTradePriceResponse 
        env:encodingStyle="http://www.w3.org/2003/05/soap-envelope"
        xmlns:m="http://example.org/2001/06/quotes">
   <Price>34.5</Price>
  </m:GetLastTradePriceResponse>
  <m:GetLastTradePriceResponse
        env:encodingStyle="http://www.w3.org/2003/05/soap-envelope"
        xmlns:m="http://example.org/2006/06/quotes">
   <Price>56.5</Price>
  </m:GetLastTradePriceResponse>
 </env:Body>
</env:Envelope>

Example 837. The method to parse the SOAP message using the SFXSOAPParser class

SFXSOAPParser soapparser; // SOAP parser

// read and parse the SOAP message from the "soapmessage.xml" file
if  (soapparser.Parse("soapmessage.xml") != SFERR_NO_ERROR) {

    // display error value
    TRACE("error id = 0x%x", soapparser.static_catch());

    // display error message
    TRACE(soapparser.GetErrorInfo());

} else {
// processing after parsing the SOAP message

    // display version of SOAP message
    TRACE("soap version : %d", soapparser.GetSoapVersion());  
    // "soap version : 1" will be displayed (because it is SFXSOAPParser::SOAP_VERSION_1_2)

    // get Envelope element
    SFXXMLElementPtr envelope = soapparser.GetEnvelope();

    // display namespace of Envelope element
    TRACE("envelope version : %s", envelope->GetNamespaceURI());  
    // "envelope version: http://www.w3.org/2003/05/soap-envelope" will be displayed

    // get Header element
    SFXXMLElementPtr header = soapparser.GetHeader();
    // display namespace of Header element
    TRACE("header version : %s", header->GetNamespaceURI());  
    // "header version: http://www.w3.org/2003/05/soap-envelope" will be displayed

    // get all child elements of Header element
    SFXXMLNode::DOMNodeListPtr list = soapparser.GetHeaderEntries();

    // display number of the elements
    TRACE("entry number : %d", list->GetSize());  
    // "entry number : 1" will be displayed
    
    // get "SubscriptionInfo" element included in Header element
    SFXXMLElementPtr entry = soapparser.GetHeaderEntry("SubscriptionInfo", "http://schemas.xmlsoap.org");

    // get all child element of "SubscriptionInfo" element
    list = entry->GetChildNodes();

    // get enumerator
    SFXXMLNode::DOMNodeList::Enumerator childEtor = list->GetFirstEnumerator();

    while (childEtor.HasNext()) {

 SFXXMLElementPtr current = static_cast<SFXXMLElementPtr>(childEtor.GetNext());

        // display name of each element
        TRACE("current element name : %s", current->GetName()); 
        // e.g. "current element name : LicenseStatusCode" will be displayed

        // display text of each element
        TRACE("current element content : %s", current->GetText().GetCString());  
        // e.g. "current element content : 0" will be displayed
     }

    // get Body element
    SFXXMLElementPtr body = soapparser.GetBody();

    // display namespace of Body element
    TRACE("body version : %s", body->GetNamespaceURI());   
    // "body version : http://www.w3.org/2003/05/soap-envelope" will be displayed

    // get all child element of Body element
    list = soapparser.GetBodyEntries();

    // display number of the elements
    TRACE("entry number: %d", list->GetSize());  
    // "2" will be displayed
    
    // get enumerator
    childEtor = list->GetFirstEnumerator();

    while (childEtor.HasNext()) {

 SFXXMLElementPtr current = static_cast<SFXXMLElementPtr>(childEtor.GetNext());

        // display content of each element
        TRACE("current element name : %s", current->GetLocalName());   
        // e.g. "current element name : GetLastTradePriceResponse" will be displayed

        // display namespace of each element
        TRACE("current element namespace : %s", current->GetNamespaceURI()); 
        // e.g. "current element namespace : http://example.org/2001/06/quotes" will be displayed

        // display text(price) of each element
        TRACE("price : %s", current->GetText().GetCString());   
        // e.g. "price : 34.5" will be displayed
    }
}

Reference

SFXXMLDOMParser

Member

Constructor/Destructor
SFXSOAPParser( Void )
Constructor of the SFXSOAPParser class.
~SFXSOAPParser( Void )
Destructor of the SFXSOAPParser class.
Public Functions
SFXXMLElementPtr GetBody( Void )
Get the Body element of the SOAP document.
SFXXMLNode::DOMNodeListPtr GetBodyEntries( Void )
Get all child elements of the Body element of the SOAP message.
SFXXMLElementPtr GetBodyEntry( SFXAnsiStringConstRef local , SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance() )
Get the specified element in the Body element of the SOAP message.
SFXXMLElementPtr GetEnvelope( Void )
Get the Envelope element of the SOAP message.
SFXXMLElementPtr GetFault( Void )
Get the SOAP Fault element.
SFXXMLElementPtr GetFaultActor( Void )
Get the faultactor element of the SOAP Fault element.
SFXXMLElementPtr GetFaultCode( Void )
Get the faultcode element of the SOAP Fault element.
SFXXMLElementPtr GetFaultDetail( Void )
Get the detail element of the SOAP Fault element.
SFXXMLElementPtr GetFaultString( Void )
Get the faultstring element of the SOAP fault element.
SFXXMLElementPtr GetHeader( Void )
Get the Header element of the SOAP message.
SFXXMLNode::DOMNodeListPtr GetHeaderEntries( Void )
Get all the child elements of the Header element of the SOAP message.
SFXXMLElementPtr GetHeaderEntry( SFXAnsiStringConstRef local , SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance() )
Get the specified element among the Header elements of the SOAP message.
SFXXMLElementPtr GetRPCParameter( SFXAnsiStringConstRef local , SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance() )
Get the element among the Body elements of the SOAP message that matches the specified parameter.
SFXXMLElementPtr GetRPCResult( Void )
Get the first child of the first child of the Body element of the SOAP message.
SFXXMLElementPtr GetRPCStruct( Void )
Get the first child element of the Body element of the SOAP message.
SOAP_VERSION GetSoapVersion( Void )
Get the version of the SOAP message.
SFCError Parse( SFBFileSmpConstRef source )
Parse the SOAP message using the DOM parser.
SFCError Parse( SFXAnsiStringConstRef source )
Parse the SOAP message using the DOM parser.
SFCError Parse( SFXPathConstRef source )
Parse the SOAP message using the DOM parser.
SFCError Parse( SFXStreamReaderConstRef source )
Parse the SOAP message using the DOM parser.
Void Reset( Void )
Reset all the internal variables
Bool GetCreateCommentNodes( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to create Comment nodes.
Bool GetDoIndent( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to indent.
Bool GetDoNamespaces( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to process namespace.
Bool GetDoSchema( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to process the XML Schema.
SFXXMLDocumentPtr GetDocument( Void ) (inherits from SFXXMLDOMParser)
Get the Document node.
ACharConstPtr GetErrorInfo( Void ) (inherits from SFXXMLDOMParser)
Get the internal error message.
static
SFXXMLElementPtr
GetFirstChildElement( SFXXMLNodeConstPtr parent ) (inherits from SFXXMLDOMParser)
Get the first child Element node of the specified node.
static
SFXXMLElementPtr
GetFirstChildElementNS( SFXXMLNodeConstPtr parent , SFXAnsiStringHandleConst elemNames , SFXAnsiStringConstRef uri , SInt32 length ) (inherits from SFXXMLDOMParser)
Get the first child Element node of the specified node, which matches the namespace URI and one of the local names specified.
Bool GetIgnoreAnnotations( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to ignore annotations.
Bool GetLoadExternalDTD( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to load the external DTD.
static
SFXXMLElementPtr
GetNextSiblingElement( SFXXMLNodeConstPtr node ) (inherits from SFXXMLDOMParser)
Get the next sibling Element node of the specified node.
static
SFXXMLElementPtr
GetNextSiblingElementNS( SFXXMLNodeConstPtr node , SFXAnsiStringHandleConst elemNames , SFXAnsiStringConstRef uri , SInt32 length ) (inherits from SFXXMLDOMParser)
Get the next sibling Element node of the specified node, which matches the namespace URI and one of the local names specified.
Bool GetStandalone( Void ) (inherits from SFXXMLDOMParser)
Get the Standalone declaration of the XML document.
Bool GetValidationDTD( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to validate the XML document with DTD.
Bool GetValidationSchema( Void ) (inherits from SFXXMLDOMParser)
Check whether or not to validate the XML document with XML Schema.
Void SetCreateCommentNodes( BoolConst create ) (inherits from SFXXMLDOMParser)
Set whether or not to create comment nodes.
Void SetDoIndent( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to indent.
Void SetDoNamespaces( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to process namespaces.
Void SetDoSchema( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to process the XML Schema.
Void SetGrammar( SFXXMLGrammar::GrammarType grammar ) (inherits from SFXXMLDOMParser)
Set the grammar used by this parser.
Void SetGrammar( SFXXMLGrammar::GrammarType grammar ) (inherits from SFXXMLDOMParser)
Set the grammar used by this parser.
Void SetIgnoreAnnotations( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to ignore annotations.
Void SetIgnoreAnnotations( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to ignore annotations.
Void SetLoadExternalDTD( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to load the external DTD.
Void SetSchemaLocation( SFXAnsiStringConstRef name ) (inherits from SFXXMLDOMParser)
Set the XSD file of the XML document with XML Schema.
Void SetValidationDTD( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to validate the XML document with DTD.
Void SetValidationSchema( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to validate the XML document with XML Schema.
Protected Functions
Void SetGrammar( SFXXMLGrammar::GrammarType grammar ) (inherits from SFXXMLDOMParser)
Set the grammar used by this parser.
Void SetGrammar( SFXXMLGrammar::GrammarType grammar ) (inherits from SFXXMLDOMParser)
Set the grammar used by this parser.
Void SetIgnoreAnnotations( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to ignore annotations.
Void SetIgnoreAnnotations( BoolConst state ) (inherits from SFXXMLDOMParser)
Set whether or not to ignore annotations.
Types
SOAP_VERSION
Version of the SOAP Protocol.

SFXSOAPParser::SFXSOAPParser
Constructor of the SFXSOAPParser class.
[ public, explicit ]
SFXSOAPParser(Void);

SFXSOAPParser::~SFXSOAPParser
Destructor of the SFXSOAPParser class.
[ public ]
~SFXSOAPParser(Void);

SFXSOAPParser::GetBody
Get the Body element of the SOAP document.
[ public, const ]
SFXXMLElementPtr GetBody(Void);

SFXSOAPParser::GetBodyEntries
Get all child elements of the Body element of the SOAP message.
[ public, const ]
SFXXMLNode::DOMNodeListPtr GetBodyEntries(Void);

SFXSOAPParser::GetBodyEntry
Get the specified element in the Body element of the SOAP message.
[ public, const ]
SFXXMLElementPtr GetBodyEntry(
    SFXAnsiStringConstRef local                                  // name of elemen
    SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance()   // namespace URI of the element
);

SFXSOAPParser::GetEnvelope
Get the Envelope element of the SOAP message.
[ public, const ]
SFXXMLElementPtr GetEnvelope(Void);

SFXSOAPParser::GetFault
Get the SOAP Fault element.
[ public, const ]
SFXXMLElementPtr GetFault(Void);

Description

[Note] About SOAP Fault

Simple Object Access Protocol (SOAP) 1.1 ( W3C ) : SOAP Fault

SOAP Tutorial : SOAP Fault Element

* Only SOAP Fault of SOAP 1.1 is supported.

Reference

SFXSOAPRPC::FAULT | SFXSOAPParser::GetFaultActor | SFXSOAPParser::GetFaultCode | SFXSOAPParser::GetFaultDetail | SFXSOAPParser::GetFaultString


SFXSOAPParser::GetFaultActor
Get the faultactor element of the SOAP Fault element.
[ public, const ]
SFXXMLElementPtr GetFaultActor(Void);

Description

[Note] About SOAP Fault

Simple Object Access Protocol (SOAP) 1.1 ( W3C ) : SOAP Fault

SOAP Tutorial : SOAP Fault Element

* Only SOAP Fault of SOAP 1.1 is supported.

Reference

SFXSOAPRPC::FAULT | SFXSOAPParser::GetFault | SFXSOAPParser::GetFaultCode | SFXSOAPParser::GetFaultDetail | SFXSOAPParser::GetFaultString


SFXSOAPParser::GetFaultCode
Get the faultcode element of the SOAP Fault element.
[ public, const ]
SFXXMLElementPtr GetFaultCode(Void);

Description

[Note] About SOAP Fault

Simple Object Access Protocol (SOAP) 1.1 ( W3C ) : SOAP Fault

SOAP Tutorial : SOAP Fault Element

* Only SOAP Fault of SOAP 1.1 is supported.

Reference

SFXSOAPRPC::FAULT | SFXSOAPParser::GetFault | SFXSOAPParser::GetFaultActor | SFXSOAPParser::GetFaultDetail | SFXSOAPParser::GetFaultString


SFXSOAPParser::GetFaultDetail
Get the detail element of the SOAP Fault element.
[ public, const ]
SFXXMLElementPtr GetFaultDetail(Void);

Description

[Note] About SOAP Fault

Simple Object Access Protocol (SOAP) 1.1 ( W3C ) : SOAP Fault

SOAP Tutorial : SOAP Fault Element

* Only SOAP Fault of SOAP 1.1 is supported.

Reference

SFXSOAPRPC::FAULT | SFXSOAPParser::GetFault | SFXSOAPParser::GetFaultActor | SFXSOAPParser::GetFaultCode | SFXSOAPParser::GetFaultString


SFXSOAPParser::GetFaultString
Get the faultstring element of the SOAP fault element.
[ public, const ]
SFXXMLElementPtr GetFaultString(Void);

Description

[Note] About SOAP Fault

Simple Object Access Protocol (SOAP) 1.1 ( W3C ) : SOAP Fault

SOAP Tutorial : SOAP Fault Element

* Only SOAP Fault of SOAP 1.1 is supported.

Reference

SFXSOAPRPC::FAULT | SFXSOAPParser::GetFault | SFXSOAPParser::GetFaultActor | SFXSOAPParser::GetFaultCode | SFXSOAPParser::GetFaultDetail


SFXSOAPParser::GetHeader
Get the Header element of the SOAP message.
[ public, const ]
SFXXMLElementPtr GetHeader(Void);

SFXSOAPParser::GetHeaderEntries
Get all the child elements of the Header element of the SOAP message.
[ public, const ]
SFXXMLNode::DOMNodeListPtr GetHeaderEntries(Void);

SFXSOAPParser::GetHeaderEntry
Get the specified element among the Header elements of the SOAP message.
[ public, const ]
SFXXMLElementPtr GetHeaderEntry(
    SFXAnsiStringConstRef local                                  // name of the element
    SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance()   // namespace URI of the element
);

SFXSOAPParser::GetRPCParameter
Get the element among the Body elements of the SOAP message that matches the specified parameter.
[ public, const ]
SFXXMLElementPtr GetRPCParameter(
    SFXAnsiStringConstRef local                                  // name of the element
    SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance()   // namespace URI of the element
);

SFXSOAPParser::GetRPCResult
Get the first child of the first child of the Body element of the SOAP message.
[ public, const ]
SFXXMLElementPtr GetRPCResult(Void);

SFXSOAPParser::GetRPCStruct
Get the first child element of the Body element of the SOAP message.
[ public, const ]
SFXXMLElementPtr GetRPCStruct(Void);

SFXSOAPParser::GetSoapVersion
Get the version of the SOAP message.
[ public, const ]
SOAP_VERSION GetSoapVersion(Void);

Description

Return the version of a SOAP document.

Integer value A defined constant
0 SOAP_VERSION_1_1
1 SOAP_VERSION_1_2
-1 SOAP_VERSION_UNKNOWN

SFXSOAPParser::Parse
Parse the SOAP message using the DOM parser.
[ public ]
SFCError Parse(
    SFBFileSmpConstRef source   // file for the SOAP message
);
[ public ]
SFCError Parse(
    SFXAnsiStringConstRef source   // SOAP message
);
[ public ]
SFCError Parse(
    SFXPathConstRef source   // name of file for the SOAP message 
);
[ public ]
SFCError Parse(
    SFXStreamReaderConstRef source   // input stream for the SOAP message
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If null is passed as an argument: SFERR_INVALID_PARAM
  • If the specified file has already been opened: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If failed: SFERR_FAILED

The error codes that may occur when parsing the SOAP document are as follows:

  • There is no Body element: SFERR_SOAP_EXPECT_BODY( 0x69A0 )
  • There is invalid element: SFERR_SOAP_REDUNDANT_ELEMENT( 0x69A3 )
  • Error found in the version: SFERR_XML_BAD_VERSION( 0x6901 )
  • Error found in the encoding: SFERR_XML_BAD_ENCODING( 0x6902 )
  • Error found in the standalone attribute: SFERR_XML_BAD_STANDALONE( 0x6903 )
  • Error found in the string such as "<!--", "-->", "<[[", "]]>": SFERR_XML_BAD_SEQUENCE( 0x6904 )
  • Error found in the attribute's default type: SFERR_XML_BAD_ATTRDEFTYPE( 0x6905 )
  • Error found in the attribute type: SFERR_XML_BAD_ATTRTYPE( 0x6907 )
  • There is no "=" mark: SFERR_XML_EXPECT_EQUALSIGN( 0x6908 )
  • There is no attribute name: SFERR_XML_EXPECT_ATTRNAME( 0x690A )
  • XML declaration is not completed: SFERR_XML_EXPECT_DECLSTRING( 0x690C )
  • There is no element name: SFERR_XML_EXPECT_ELEMENTNAME( 0x690D )
  • There is no name in Processing Instruction (PI): SFERR_XML_EXPECT_PINAME( 0x690E )
  • There is no white space: SFERR_XML_EXPECT_WHITESPACE( 0x690F )
  • There is no end tag: SFERR_XML_EXPECT_ENDTAG( 0x6912 )
  • There is no quoted string in the XML declaration: SFERR_XML_EXPECT_QUOTEDSTRING( 0x691D )
  • The version is not specified by the XML declaration: SFERR_XML_EXPECT_XMLVERSION( 0x691E )
  • The encoding is not specified by the XML declaration: SFERR_XML_EXPECT_ENCODING( 0x691F )
  • The tag of the same layer not terminated: SFERR_XML_UNTERMINATED_STARTTAG( 0x692D )
  • The processing instruction (PI) not terminated: SFERR_XML_UNTERMINATED_PI( 0x692E )
  • The comment not terminated: SFERR_XML_UNTERMINATED_COMMENT( 0x692F )
  • The XML declaration not terminated: SFERR_XML_UNTERMINATED_XMLDECL( 0x6933 )
  • The Entity reference not terminated: SFERR_XML_UNTERMINATED_ENTITYREF( 0x6934 )
  • The CDATA section document not terminated: SFERR_XML_UNTERMINATED_CDATA( 0x6935 )
  • The version other than XML 1.0/ 1.1: SFERR_XML_UNSUPPORT_XMLVERSION( 0x6936 )
  • There is no character in the valid range: SFERR_XML_INVALID_CHARREF( 0x6938 )
  • Error found in the attribute value: SFERR_XML_INVALID_ATTRVALUE( 0x6939 )
  • Error found in the element name: SFERR_XML_INVALID_ELEMENTNAME( 0x693A )
  • Error found in the Entity reference name: SFERR_XML_INVALID_ENTITYREFNAME( 0x693B )
  • Error found in the element: SFERR_XML_INVALID_ELEMENT( 0x693C )
  • Error found in the xml:space attribute: SFERR_XML_INVALID_XMLSPACE( 0x693F )
  • The prefix definition is not found: SFERR_XML_UNKNOWN_PREFIX( 0x696B )
  • Error found in the standalone attribute: SFERR_XML_INVALID_INSTANDALONE( 0x6941 )
  • The prefix definition is not found: SFERR_XML_UNKNOWN_PREFIX( 0x696B )
  • Extra ">" tag found: SFERR_XML_MORE_ENDTAG( 0x6971 )
  • The tag is not symmetry: SFERR_XML_TAGSTACK_NOTEMPTY( 0x698C )
  • The processing instruction (PI) is not before "xml": SFERR_XML_PI_START_NO_WITHXML( 0x698D )
  • Error found in the root defined by DOCTYPE: SFERR_XML_ROOTELEM_NOTLIKE_DOCTYPE( 0x698E )
  • The required attribute has not been set yet: SFERR_XML_ATTR_NOTPROVIDED( 0x698F )
  • The Standalone attribute is not default setting: SFERR_XML_NODEFAULT_ATTR_FORSTANDALONE( 0x6990 )
  • Error found found in the EOF: SFERR_XML_UNEXPECTED_EOF( 0x6995 )
  • In the XML document with namespace, if extra xmlns found in the element's prefix: SFERR_XML_REDUNDANT_XMLNS_PREFIX( 0x6997 )

The error codes that may occur when parsing the SOAP document with DTD are as follows:

  • The Notation name is not found: SFERR_XML_EXPECT_NOTATIONNAME( 0x6909 )
  • The default attribute is not found: SFERR_XML_EXPECT_DEFAULTATTR( 0x690B )
  • Attribute type is not found in the attribute list (ATTLIST): SFERR_XML_EXPECT_ATTRTYPE( 0x6910 )
  • Attribute value is not found in the attribute list (ATTLIST): SFERR_XML_EXPECT_ATTRVALUE( 0x6911 )
  • Entity name is not found: SFERR_XML_EXPECT_PENAME( 0x6913 )
  • Entity reference name is not found: SFERR_XML_EXPECT_ENTITYNAME( 0x6914 )
  • Delimitation mark ("|") for attribute or element declaration is not found: SFERR_XML_EXPECT_ENUMPIPE( 0x6915 )
  • Enumeration value of the attribute is not found: SFERR_XML_EXPECT_ENUMVALUE( 0x6916 )
  • Delimitation mark ( "," and "|") for child elements is not found: SFERR_XML_EXPECT_SEQCHOICE( 0x6917 )
  • The mark ( "*") that expresses multiple elements is not found: SFERR_XML_EXPECT_ASTERISK( 0x6918 )
  • The open marks ("(", "<", "[") are not enough: SFERR_XML_EXPECT_OPENSIGN( 0x6919 )
  • The end marks ( ")", ">", "]" ) are not enough: SFERR_XML_EXPECT_ENDSIGN( 0x691A )
  • The NDATA keyword is not found in the external Entity parsing declaration: SFERR_XML_EXPECT_NDATA( 0x691B )
  • The Entity value is not found: SFERR_XML_EXPECT_ENTITYVALUE( 0x691C )
  • The mark ":" is not found in the Entity with namespace or Notation name: SFERR_XML_EXPECT_COLON( 0x6920 )
  • The "," marks are not enough in the attribute or element's declaration: SFERR_XML_EXPECT_SEQUENCECOMMA( 0x692B )
  • The element definition is not terminated: SFERR_XML_UNTERMINATED_ELEMENTDECL( 0x6930 )
  • The Entity definition is not terminated: SFERR_XML_UNTERMINATED_ENTITYDECL( 0x6931 )
  • The notation declaration is not terminated: SFERR_XML_UNTERMINATED_NOTATIONDECL( 0x6932 )
  • Error found in the NDATA of the Entity definition: SFERR_XML_INVALID_NDATA( 0x693D )
  • Error found in child elements: SFERR_XML_INVALID_CHILDRENELEM( 0x6940 )
  • The Entity is not defined: SFERR_XML_UNKNOWN_ENTITY( 0x6969 )
  • The entity Model Type is not defined: SFERR_XML_UNKNOWN_MODELTYPE( 0x696A )
  • The number of the elements is not enough: SFERR_XML_NOT_ENOUGH_ELEMENT( 0x698A )
  • #PCDATA and "*" are not included in the element definition: SFERR_XML_NOREPINMIXED( 0x698B )
  • Multiple ID attributes are defined: SFERR_XML_MULTIPLEID_ATTRS( 0x6991 )
  • Attribute type (such as ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS) is not defined: SFERR_XML_NO_MULTIPLEID_ATTRS( 0x6992 )
  • ID attribute is reused: SFERR_XML_REUSEDID( 0x6993 )
  • EMPTY element has content: SFERR_XML_EMPTYELEM_HAS_CONTENT( 0x6994 )
  • Parsing Enumeration attribute value failed: SFERR_XML_FAILED_ENUMLIST( 0x6996 )

The error codes that may occur when parsing the SOAP document with Schema are as follows:

  • Error found in xsi:type attribute: SFERR_XML_BAD_XSITYPE( 0x6906 )
  • schemaLocation attribute is not found when refering to different namespace according to includ or redefine: SFERR_XML_EXPECT_SCHEMALOCATION( 0x6921 )
  • Name or name reference is not found: SFERR_XML_EXPECT_NAMEREF( 0x6922 )
  • simpleContent is not found: SFERR_XML_EXPECT_SIMPLETYPE_CONTENT( 0x6923 )
  • Not the simpleType list: SFERR_XML_EXPECT_SIMPLETYPE_INLIST( 0x6924 )
  • Not the simpleType restriction: SFERR_XML_EXPECT_SIMPLETYPE_INRESTRICTION( 0x6925 )
  • Not the simpleType union: SFERR_XML_EXPECT_SIMPLETYPE_INUNION( 0x6926 )
  • Not the Atomic simpleType: SFERR_XML_EXPECT_ATOMIC_ITEMTYPE( 0x6927 )
  • Not the base type: SFERR_XML_EXPECT_BASETYPE( 0x6928 )
  • Not the derived type: SFERR_XML_EXPECT_DERIVED_TYPE( 0x6929 )
  • Datatype is not verified: SFERR_XML_EXPECT_DATATYPEVALIDATOR( 0x692A )
  • Other than attribute value of whiteSpace element "collapse": SFERR_XML_EXPECT_WS_COLLAPSE( 0x692C )
  • Datatype is not supported: SFERR_XML_UNSUPPORT_FEATURE( 0x6937 )
  • Error found in the targetNamespace attribute: SFERR_XML_INVALID_TARGETNAMESPACE 0x693E )
  • Error found in the namespace that does import: SFERR_XML_INVALID_IMPORTNAMESPACE 0x6942 )
  • Error found in the element: SFERR_XML_INVALID_SCHEMA_ELEMENT( 0x6943 )
  • Error found in the root element: SFERR_XML_INVALID_SCHEMA_ROOT( 0x6944 )
  • Error found in the annotation: SFERR_XML_INVALID_ANNOTATION( 0x6945 )
  • Error found in the simpleContent: SFERR_XML_INVALID_SIMPLECONTENT( 0x6946 )
  • Error found in the complexContent: SFERR_XML_INVALID_COMPLEXCONTENT( 0x6947 )
  • Error found in the attributeGroup content: SFERR_XML_INVALID_ATTGROUPCONTENT( 0x6948 )
  • Error found in the attribute content: SFERR_XML_INVALID_ATTRIBUTECONTENT( 0x6949 )
  • fixed attribute and default attribute are set at the same time: SFERR_XML_INVALID_DEFAULT_FIXED_ATTI( 0x694A )
  • Error found in the attribute namespace: SFERR_XML_INVALID_ATTRIBUTE_NS( 0x694B )
  • Error found in the group content: SFERR_XML_INVALID_GROUPCONTENT( 0x694C )
  • Error found in the annotation content: SFERR_XML_INVALID_ANNOTATIONCONTENT( 0x694D )
  • Error found in the simpleType content: SFERR_XML_INVALID_SIMPLETYPECONTENT( 0x694E )
  • Error found in the list content: SFERR_XML_INVALID_LISTCONTENT( 0x694F )
  • Error found in the restriction content: SFERR_XML_INVALID_RESTRICTIONCONTENT( 0x6950 )
  • Error found in the union content: SFERR_XML_INVALID_UNIONCONTENT( 0x6951 )
  • Multiple redefine: SFERR_XML_INVALID_REDEFINE( 0x6952 )
  • Error found in simpleType that does redefine: SFERR_XML_INVALID_REDEFINE_SIMPLETYPE( 0x6953 )
  • Error found in simpleType's base type that does redefine: SFERR_XML_INVALID_REDEFINE_SIMPLETYPEBASE( 0x6954 )
  • Error found in complexType that does redefine: SFERR_XML_INVALID_REDEFINE_COMPLEXTYPE( 0x6955 )
  • Error found in complexType's base type that does redefine: SFERR_XML_INVALID_REDEFINE_COMPLEXTYPEBASE( 0x6956 )
  • Error found in group range that does redefine: SFERR_XML_INVALID_REDEFINE_GROUP_MINMAX( 0x6957 )
  • Cannot redefine: SFERR_XML_INVALID_REDEFINE_CHILD( 0x6958 )
  • Error found in the complexType: SFERR_XML_INVALID_COMPLEXTYPEINFO( 0x6959 )
  • Error found in the simpleContent's base type: SFERR_XML_INVALID_SIMPLECONTENT_BASE( 0x695A )
  • Error found in the complexType's base type: SFERR_XML_INVALID_COMPLEXTYPE_BASE( 0x695B )
  • Error found in the complexContent's child elements: SFERR_XML_INVALID_CHILD_COMPLEXCONTENT( 0x695C )
  • fixed attribute and default attribute are defined at the same time in the element: SFERR_XML_INVALID_DEFAULT_FIXED_ELEMENT( 0x695D )
  • Error found in the Substitution Group: SFERR_XML_INVALID_SUBSGROUP( 0x695E )
  • Error found in the namespace reference: SFERR_XML_INVALID_NSREFERENCE( 0x695F )
  • Error found in the all content: SFERR_XML_INVALID_ALLCONTENT( 0x6960 )
  • Error found in the data range: SFERR_XML_INVALID_MIN_MAX_OCCURS( 0x6961 )
  • Error found in the type of complexType's child element: SFERR_XML_INVALID_CHILD_COMPLEXTYPE( 0x6962 )
  • Error found in the anyAttribute content: SFERR_XML_INVALID_ANYATTRIBUTECONTENT( 0x6963 )
  • Child element found in the simpleContent: SFERR_XML_INVALID_CHILD_SIMPLECONTENT( 0x6964 )
  • Child element found in the simpleType: SFERR_XML_INVALID_SIMPLETYPE_HAS_CHILD( 0x6965 )
  • Error found in the fixed attribute: SFERR_XML_INVALID_FIXED_VALUE( 0x6966 )
  • Error found in the block attribute: SFERR_XML_INVALID_BLOCK_VALUE( 0x6967 )
  • Error found in the final attribute: SFERR_XML_INVALID_FINAL_VALUE( 0x6968 )
  • The complexType is not defined: SFERR_XML_UNKNOWN_COMPLEXTYPE( 0x696C )
  • The simpleType is not defined: SFERR_XML_UNKNOWN_SIMPLETYPE( 0x696D )
  • Error found in the namespace that does include or be included: SFERR_XML_DIFFERENCE_INCLUDE_NS( 0x696E )
  • Error found in the namespace that does import or be imported: SFERR_XML_DIFFERENCE_IMPORT_NS( 0x696F )
  • Error found in the namespace that does redefine or be redefined: SFERR_XML_DIFFERENCE_REDEFINE_NS( 0x6970 )
  • More elements or XML documents with DTD than defined: SFERR_XML_MORE_ELEMENT( 0x6972 )
  • Multiple complexType names are defined: SFERR_XML_MORE_COMPLEXTYPE_NAME( 0x6973 )
  • Multiple simpleType names are defined: SFERR_XML_MORE_SIMPLEYPE_NAME( 0x6974 )
  • Multiple attribute reference contents are defined: SFERR_XML_MORE_ATTRIBUTEREF_CONTENT( 0x6975 )
  • default attribute is not defined by the use attribute's optional: SFERR_XML_NOT_OPTIONAL_DEFAULT_ATTI( 0x6976 )
  • The simpleType is not found: SFERR_XML_NOT_FIND_SIMPLETYPE( 0x6977 )
  • The declaration that does redefine is not found: SFERR_XML_NOT_FIND_REDEFINE_DECLARATION( 0x6978 )
  • The type attribute is not found: SFERR_XML_NOT_FIND_TYPE( 0x6979 )
  • The element reference is not found: SFERR_XML_NOT_FIND_REF_ELEMENT( 0x697A )
  • The schema declaration is not found: SFERR_XML_NOT_FIND_DECLARATION( 0x697B )
  • The attribute definition is not found: SFERR_XML_NOT_FIND_ATTRIBUTE( 0x697C )
  • The base type definition is not found: SFERR_XML_NOT_FIND_BASETYPE( 0x697D )
  • Type attribute is defined more than once: SFERR_XML_DUPLICATE_TYPE( 0x697E )
  • Element is declared more than once: SFERR_XML_DUPLICATE_ELEMENT_DECLARATION( 0x697F )
  • Duplicate attribute references: SFERR_XML_DUPLICATE_REFATTRIBUTE( 0x6980 )
  • facet is defined more than once: SFERR_XML_DUPLICATE_FACET( 0x6981 )
  • attribute is defined more than once: SFERR_XML_REPEATED_ATTRIBUTE( 0x6982 )
  • substitution is defined more than once: SFERR_XML_REPEATED_SUBSTITUTION( 0x6983 )
  • extention is defined more than once: SFERR_XML_REPEATED_EXTENSION( 0x6984 )
  • restriction is defined more than once: SFERR_XML_REPEATED_RESTRICTION( 0x6985 )
  • union is defined more than once: SFERR_XML_REPEATED_UNION( 0x6986 )
  • list is defined more than once: SFERR_XML_REPEATED_LIST( 0x6987 )
  • Making element from a nill one: SFERR_XML_NILL_NOT_ALLOWED( 0x6988 )
  • Content for reference does not exist: SFERR_XML_NO_CONTENT_FOR_REF( 0x6989 )
  • Multiple group redefine: SFERR_XML_REDEFINEREF_COUNT( 0x6998 )
  • Multiple attributeGroup redefine: SFERR_XML_ATTFROUPREF_COUNT( 0x6999 )
  • The AnonymousType element is not defined: SFERR_XML_ELEMENT_WITH_ANONYMOUSTYPE( 0x699A )
  • Data type is circularly defined: SFERR_XML_CIRCULAR_DEFINITION( 0x699B )
  • Elements other than the child element of the all element are included: SFERR_XML_ALLCONTENT_LIMITED( 0x699C )
  • The abstractType is defined: SFERR_XML_ABSTRACT_TYPE( 0x699D )
  • Refer to other elements through the top element: SFERR_XML_TOPELEMENT_INCLUDE_REF( 0x699E )

Reference: SFCErrorEnum

Description

The SFXXMLSOAPParser::Parse function is to read and parse the specified SOAP document using the DOM parser. The argument can be an input stream, file name (of file path type), or string. The default directory of the file path is the home directory of application.

Reference

SFCErrorEnum


SFXSOAPParser::Reset
Reset all the internal variables
[ public ]
Void Reset(Void);

SFXSOAPParser::SOAP_VERSION
Version of the SOAP Protocol.
SOAP_VERSION_1_1  // version 1.1
SOAP_VERSION_1_2  // version 1.2

Description

Version of the SOAP Protocol. SFXSOAP class supports version 1.1 and 1.2. However, SOAP Attachment is not implemented.

Constant Namespace
SOAP_VERSION_1_1 "http://schemas.xmlsoap.org/soap/envelope/"
SOAP_VERSION_1_2 "http://www.w3.org/2003/05/soap-envelope"