blob: 78705da9d558f74db8d3c8f17a60b6233d898941 [file] [log] [blame]
/*
* Copyright 2003-2004 The Apache Software Foundation.
// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */
/* ---------------------------------------------------------------- */
/* CHANGES TO hpp HEADER FILE MAY NEED TO BE PROPAGATED TO THE */
/* C-EQUIVALENT HEADER FILE IN SUPPORT OF THE C-BINDING INTERFACES. */
/* ---------------------------------------------------------------- */
/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
#ifndef __SOAPFAULTEXCEPTION_H_OF_AXIS_INCLUDED_
#define __SOAPFAULTEXCEPTION_H_OF_AXIS_INCLUDED_
#include <axis/GDefine.hpp>
#include <axis/AxisException.hpp>
/**
* @file SoapFaultException.hpp
*/
AXIS_CPP_NAMESPACE_START
/**
* @class SoapFaultException
* @brief Superclass of all user-defined soap faults defined in the WSDL
*
* SoapFaultException is the superclass of all user faults that are defined
* in the WSDL. This enables a client application to catch all soap faults
* in a single catch block. To catch a specific soap fault, a client
* application should catch the class that represents the fault's complex
* type. SoapFaultException is a simple class that encapsulates the fault
* information and does not reference the SoapFault itself. This means it
* can clean it's own storage in its destructor so the client application
* doesn't have to.
*
*/
class STORAGE_CLASS_INFO SoapFaultException :public AxisException
{
public:
/**
* Default constructor
*/
SoapFaultException();
/**
* SoapFaultException constructor
*
* @param code is the SOAP faultcode
* @param string is the SOAP faultstring
* @param actor is the SOAP faultactor
* @param exceptionCode is the axis exception code
*/
SoapFaultException(const AxisChar *code,
const AxisChar *string,
const AxisChar *actor,
int exceptionCode);
/**
* Copy constructor
*
* @param ae is the AxisException to be copied
*/
SoapFaultException(AxisException& ae);
/**
* Copy constructor
*
* @param copy is the SoapFaultException to be copied
*/
SoapFaultException(const SoapFaultException& copy);
/**
* Assignment operator
*
* @param other is the SOAPFaultException to be copied
* @return reference to this
*/
SoapFaultException& operator=(const SoapFaultException& other);
/**
* Destructor
*/
virtual ~SoapFaultException() throw();
/**
* Returns the SOAP faultcode
*
* @return faultCode
*/
virtual const AxisChar *getFaultCode() const;
/**
* Returns the SOAP faultstring
*
* @return faultString
*/
virtual const AxisChar *getFaultString() const;
/**
* Returns the SOAP faultactor
*
* @return faultActor
*/
virtual const AxisChar *getFaultActor() const;
/**
* Set the SOAP faultcode
*
* @param code is the SOAP faultcode
*/
virtual void setFaultCode(const AxisChar *code);
/**
* Set the SOAP faultstring
*
* @param string is the SOAP faultstring
*/
virtual void setFaultString(const AxisChar *string);
/**
* Set the SOAP faultactor
*
* @param actor is the SOAP faultactor
*/
virtual void setFaultActor(const AxisChar *actor);
private:
/**
* SOAP faultcode
*/
AxisChar *m_code;
/**
* SOAP faultactor
*/
AxisChar *m_actor;
};
AXIS_CPP_NAMESPACE_END
#endif