View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2007 eviware.com 
3    *
4    *  soapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of version 2.1 of the GNU Lesser General Public License as published by 
6    *  the Free Software Foundation.
7    *
8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
10   *  See the GNU Lesser General Public License for more details at gnu.org.
11   */
12  
13  package com.eviware.soapui.impl.wsdl.support.soap;
14  
15  import java.io.IOException;
16  import java.util.List;
17  
18  import javax.xml.namespace.QName;
19  
20  import org.apache.xmlbeans.SchemaType;
21  import org.apache.xmlbeans.XmlError;
22  import org.apache.xmlbeans.XmlException;
23  import org.apache.xmlbeans.XmlObject;
24  import org.apache.xmlbeans.XmlValidationError;
25  
26  public interface SoapVersion
27  {
28  	public static final SoapVersion11 Soap11 = SoapVersion11.instance;
29  	public static final SoapVersion12 Soap12 = SoapVersion12.instance; 
30  	
31     public QName getEnvelopeQName();
32     
33     public QName getBodyQName();
34     
35     public QName getHeaderQName();
36     
37     public void validateSoapEnvelope(String soapMessage, List<XmlError> errors);
38  
39  	public String getContentTypeHttpHeader( String encoding );
40  
41  	public String getEnvelopeNamespace();
42  
43  	public String getEncodingNamespace();
44  
45  	public XmlObject getSoapEncodingSchema() throws XmlException, IOException;
46  
47  	public XmlObject getSoapEnvelopeSchema() throws XmlException, IOException; 
48  	
49  	/***
50  	 * Checks if the specified validation error should be ignored for a message with
51  	 * this SOAP version. (The SOAP-spec may allow some constructions not allowed by 
52  	 * the corresponding XML-Schema) 
53  	 */
54  	
55  	public boolean shouldIgnore( XmlValidationError xmlError );
56  
57  	public String getContentType();
58  
59  	public SchemaType getEnvelopeType();
60  
61  	public SchemaType getFaultType();
62  }