Index: class.soap_fault.php
===================================================================
--- class.soap_fault.php	(revision 153)
+++ class.soap_fault.php	(revision 154)
@@ -0,0 +1,86 @@
+<?php
+
+
+
+
+/**
+* Contains information for a SOAP fault.
+* Mainly used for returning faults from deployed functions
+* in a server instance.
+* @author   Dietrich Ayala <dietrich@ganx4.com>
+* @version  $Id: class.soap_fault.php,v 1.12 2005/07/27 19:24:42 snichol Exp $
+* @access public
+*/
+class soap_fault extends nusoap_base {
+	/**
+	 * The fault code (client|server)
+	 * @var string
+	 * @access private
+	 */
+	var $faultcode;
+	/**
+	 * The fault actor
+	 * @var string
+	 * @access private
+	 */
+	var $faultactor;
+	/**
+	 * The fault string, a description of the fault
+	 * @var string
+	 * @access private
+	 */
+	var $faultstring;
+	/**
+	 * The fault detail, typically a string or array of string
+	 * @var mixed
+	 * @access private
+	 */
+	var $faultdetail;
+
+	/**
+	* constructor
+    *
+    * @param string $faultcode (client | server)
+    * @param string $faultactor only used when msg routed between multiple actors
+    * @param string $faultstring human readable error message
+    * @param mixed $faultdetail detail, typically a string or array of string
+	*/
+	function soap_fault($faultcode,$faultactor='',$faultstring='',$faultdetail=''){
+		parent::nusoap_base();
+		$this->faultcode = $faultcode;
+		$this->faultactor = $faultactor;
+		$this->faultstring = $faultstring;
+		$this->faultdetail = $faultdetail;
+	}
+
+	/**
+	* serialize a fault
+	*
+	* @return	string	The serialization of the fault instance.
+	* @access   public
+	*/
+	function serialize(){
+		$ns_string = '';
+		foreach($this->namespaces as $k => $v){
+			$ns_string .= "\n  xmlns:$k=\"$v\"";
+		}
+		$return_msg =
+			'<?xml version="1.0" encoding="'.$this->soap_defencoding.'"?>'.
+			'<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"'.$ns_string.">\n".
+				'<SOAP-ENV:Body>'.
+				'<SOAP-ENV:Fault>'.
+					$this->serialize_val($this->faultcode, 'faultcode').
+					$this->serialize_val($this->faultactor, 'faultactor').
+					$this->serialize_val($this->faultstring, 'faultstring').
+					$this->serialize_val($this->faultdetail, 'detail').
+				'</SOAP-ENV:Fault>'.
+				'</SOAP-ENV:Body>'.
+			'</SOAP-ENV:Envelope>';
+		return $return_msg;
+	}
+}
+
+
+
+
+?>
\ No newline at end of file