xmlsecurityengine/xmlsec/inc/xmlsec_soap.h
changeset 0 e35f40988205
child 24 74f0b3eb154c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xmlsecurityengine/xmlsec/inc/xmlsec_soap.h	Thu Dec 17 09:29:21 2009 +0200
@@ -0,0 +1,131 @@
+/** 
+ * XML Security Library (http://www.aleksey.com/xmlsec).
+ *
+ * Simple SOAP messages parsing/creation.
+ *
+ * This is free software; see Copyright file in the source
+ * distribution for preciese wording.
+ * 
+ * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com>
+ * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+ */
+#ifndef __XMLSEC_SOAP_H__
+#define __XMLSEC_SOAP_H__    
+#include "xmlsec_config.h"
+#ifndef XMLSEC_NO_SOAP
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */ 
+
+#include <libxml2_tree.h>
+#include "xmlsec_xmlsec.h"
+
+
+/***********************************************************************
+ *
+ * SOAP 1.1 
+ *
+ **********************************************************************/
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11CreateEnvelope	(xmlDocPtr doc);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11EnsureHeader	(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11AddBodyEntry	(xmlNodePtr envNode,
+								 xmlNodePtr entryNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11AddFaultEntry	(xmlNodePtr envNode,
+								 const xmlChar* faultCodeHref,
+								 const xmlChar* faultCodeLocalPart,
+								 const xmlChar* faultString,
+								 const xmlChar* faultActor);
+XMLSEC_EXPORT int		xmlSecSoap11CheckEnvelope	(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11GetHeader		(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11GetBody		(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlSecSize	xmlSecSoap11GetBodyEntriesNumber(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11GetBodyEntry	(xmlNodePtr envNode,
+								 xmlSecSize pos);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap11GetFaultEntry	(xmlNodePtr envNode);
+
+
+/***********************************************************************
+ *
+ * SOAP 1.2 
+ *
+ **********************************************************************/
+/**
+ * xmlSecSoap12FaultCode:
+ * @xmlSecSoap12FaultCodeUnknown:		The fault code is not available.
+ * @xmlSecSoap12FaultCodeVersionMismatch:	The faulting node found an 
+ *						invalid element information 
+ *						item instead of the expected 
+ *						Envelope element information item. 
+ * @xmlSecSoap12FaultCodeMustUnderstand:	An immediate child element 
+ *						information item of the SOAP 
+ *						Header element information item 
+ *						targeted at the faulting node 
+ *						that was not understood by the 
+ *						faulting node contained a SOAP 
+ *						mustUnderstand attribute 
+ *						information item with a value of "true"
+ * @xmlSecSoap12FaultCodeDataEncodingUnknown:	A SOAP header block or SOAP 
+ *						body child element information 
+ *						item targeted at the faulting 
+ *						SOAP node is scoped with a data 
+ *						encoding that the faulting node 
+ *						does not support.
+ * @xmlSecSoap12FaultCodeSender:		The message was incorrectly 
+ *						formed or did not contain the 
+ *						appropriate information in order 
+ *						to succeed. 
+ * @xmlSecSoap12FaultCodeReceiver:		The message could not be processed 
+ *						for reasons attributable to the 
+ *						processing of the message rather 
+ *						than to the contents of the 
+ *						message itself. 
+ * 
+ * The values of the <Value> child element information item of the 
+ * <Code> element information item (http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#faultcodes).
+ */
+typedef enum {
+    xmlSecSoap12FaultCodeUnknown = 0,
+    xmlSecSoap12FaultCodeVersionMismatch,
+    xmlSecSoap12FaultCodeMustUnderstand,
+    xmlSecSoap12FaultCodeDataEncodingUnknown,
+    xmlSecSoap12FaultCodeSender,
+    xmlSecSoap12FaultCodeReceiver
+} xmlSecSoap12FaultCode; 
+
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12CreateEnvelope	(xmlDocPtr doc);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12EnsureHeader	(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12AddBodyEntry	(xmlNodePtr envNode,
+								 xmlNodePtr entryNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12AddFaultEntry	(xmlNodePtr envNode,
+								 xmlSecSoap12FaultCode faultCode,
+								 const xmlChar* faultReasonText,
+								 const xmlChar* faultReasonLang,
+								 const xmlChar* faultNodeURI,
+								 const xmlChar* faultRole);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12AddFaultSubcode	(xmlNodePtr faultNode,
+								 const xmlChar* subCodeHref,
+								 const xmlChar* subCodeName);								 
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12AddFaultReasonText	(xmlNodePtr faultNode,
+								 const xmlChar* faultReasonText,
+								 const xmlChar* faultReasonLang);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12AddFaultDetailEntry	(xmlNodePtr faultNode,
+								 xmlNodePtr detailEntryNode);
+XMLSEC_EXPORT int		xmlSecSoap12CheckEnvelope	(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12GetHeader		(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12GetBody		(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlSecSize	xmlSecSoap12GetBodyEntriesNumber(xmlNodePtr envNode);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12GetBodyEntry	(xmlNodePtr envNode,
+								 xmlSecSize pos);
+XMLSEC_EXPORT xmlNodePtr	xmlSecSoap12GetFaultEntry	(xmlNodePtr envNode);
+
+								 
+#endif /* XMLSEC_NO_SOAP */
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __XMLSEC_SOAP_H__ */
+