/*******************************************************************************
 * Copyright (c) 2000, 2009 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.wst.wsdl.binding.soap;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Header Fault</b></em>'.
 * <!-- end-user-doc -->
 *
 *
 * @see org.eclipse.wst.wsdl.binding.soap.SOAPPackage#getSOAPHeaderFault()
 * @model superTypes="org.eclipse.wst.wsdl.binding.soap.SOAPHeaderBase org.eclipse.wst.wsdl.binding.soap.ISOAPHeaderFault"
 * @generated
 */
public interface SOAPHeaderFault extends SOAPHeaderBase, javax.wsdl.extensions.soap.SOAPHeaderFault
{
} // SOAPHeaderFault
