/*
- * Copyright 2001-2006 Internet2
+ * Copyright 2001-2010 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
/**
- * @file SOAP.h
+ * @file xmltooling/soap/SOAP.h
*
* XMLObjects representing SOAP content
*/
#ifndef __xmltooling_soap_h__
#define __xmltooling_soap_h__
-#include <xmltooling/AttributeExtensibleXMLObject.h>
+#include <xmltooling/ConcreteXMLObjectBuilder.h>
#include <xmltooling/ElementProxy.h>
-#include <xmltooling/SimpleElement.h>
-#include <xmltooling/XMLObjectBuilder.h>
#include <xmltooling/util/XMLConstants.h>
-#include <xmltooling/validation/ValidatorSuite.h>
-#include <xercesc/util/XMLUniDefs.hpp>
+/**
+ * Macro for declaring SOAP builders.
+ *
+ * @param cname name of class being built
+ */
#define DECL_SOAP11OBJECTBUILDER(cname) \
- DECL_XMLOBJECTBUILDER(XMLTOOL_API,cname,xmltooling::XMLConstants::SOAP11ENV_NS,xmltooling::XMLConstants::SOAP11ENV_PREFIX)
+ DECL_XMLOBJECTBUILDER(XMLTOOL_API,cname,xmlconstants::SOAP11ENV_NS,xmlconstants::SOAP11ENV_PREFIX)
/**
* @namespace soap11
BEGIN_XMLOBJECT(XMLTOOL_API,Faultcode,xmltooling::XMLObject,SOAP 1.1 faultcode element);
/** Gets the QName content of the element. */
- virtual xmltooling::QName* getCode() const=0;
+ virtual const xmltooling::QName* getCode() const=0;
/** Sets the QName content of the element. */
virtual void setCode(const xmltooling::QName* qname)=0;
+ /** Client Fault code. **/
+ static xmltooling::QName CLIENT;
+ /** Server Fault code. **/
+ static xmltooling::QName SERVER;
+ /** MustUnderstand Fault code. **/
+ static xmltooling::QName MUSTUNDERSTAND;
+ /** Version Mismatch Fault code. **/
+ static xmltooling::QName VERSIONMISMATCH;
END_XMLOBJECT;
- BEGIN_XMLOBJECT2(XMLTOOL_API,Detail,xmltooling::ElementProxy,xmltooling::AttributeExtensibleXMLObject,SOAP 1.1 detail element);
+ BEGIN_XMLOBJECT(XMLTOOL_API,Detail,xmltooling::ElementProxy,SOAP 1.1 detail element);
/** detail (type) local name */
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
- BEGIN_XMLOBJECT2(XMLTOOL_API,Body,xmltooling::ElementProxy,xmltooling::AttributeExtensibleXMLObject,SOAP 1.1 Body element);
- DECL_STRING_ATTRIB(EncodingStyle,ENCODINGSTYLE);
+ BEGIN_XMLOBJECT(XMLTOOL_API,Body,xmltooling::ElementProxy,SOAP 1.1 Body element);
+ /** encodingStyle attribute name */
+ static const XMLCh ENCODINGSTYLE_ATTRIB_NAME[];
/** Body (type) local name */
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
- BEGIN_XMLOBJECT2(XMLTOOL_API,Header,xmltooling::ElementProxy,xmltooling::AttributeExtensibleXMLObject,SOAP 1.1 Header element);
- DECL_BOOLEAN_ATTRIB(MustUnderstand,MUSTUNDERSTAND,false);
- DECL_STRING_ATTRIB(Actor,ACTOR);
+ BEGIN_XMLOBJECT(XMLTOOL_API,Header,xmltooling::ElementProxy,SOAP 1.1 Header element);
+ /** Actor header block attribute name */
+ static const XMLCh ACTOR_ATTRIB_NAME[];
+ /** mustUnderstand header block attribute name */
+ static const XMLCh MUSTUNDERSTAND_ATTRIB_NAME[];
/** Header (type) local name */
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
END_XMLOBJECT;
DECL_SOAP11OBJECTBUILDER(Body);
- DECL_SOAP11OBJECTBUILDER(Detail);
DECL_SOAP11OBJECTBUILDER(Envelope);
DECL_SOAP11OBJECTBUILDER(Fault);
- DECL_SOAP11OBJECTBUILDER(Faultactor);
- DECL_SOAP11OBJECTBUILDER(Faultcode);
- DECL_SOAP11OBJECTBUILDER(Faultstring);
DECL_SOAP11OBJECTBUILDER(Header);
+ DECL_XMLOBJECTBUILDER(XMLTOOL_API,Detail,nullptr,nullptr);
+ DECL_XMLOBJECTBUILDER(XMLTOOL_API,Faultactor,nullptr,nullptr);
+ DECL_XMLOBJECTBUILDER(XMLTOOL_API,Faultcode,nullptr,nullptr);
+ DECL_XMLOBJECTBUILDER(XMLTOOL_API,Faultstring,nullptr,nullptr);
/**
* Registers builders and validators for SOAP 1.1 classes into the runtime.
*/
void XMLTOOL_API registerSOAPClasses();
-
- /**
- * Validator suite for SOAP 1.1 schema validation.
- */
- extern XMLTOOL_API xmltooling::ValidatorSuite SOAPSchemaValidators;
};
#endif /* __xmltooling_soap_h__ */