File: SOAPHeader.java

package info (click to toggle)
libjboss-web-services-java 0.0%2Bsvn5660-2
  • links: PTS, VCS
  • area: contrib
  • in suites: lenny
  • size: 7,268 kB
  • ctags: 12,475
  • sloc: java: 79,207; xml: 38; makefile: 19; sh: 15
file content (172 lines) | stat: -rwxr-xr-x 8,439 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
/*
 * JBoss, Home of Professional Open Source
 * Copyright 2005, JBoss Inc., and individual contributors as indicated
 * by the @authors tag. See the copyright.txt in the distribution for a
 * full listing of individual contributors.
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
package javax.xml.soap;

import java.util.Iterator;

import javax.xml.namespace.QName;

/**
 * A representation of the SOAP header element. A SOAP header element consists
 * of XML data that affects the way the application-specific content is
 * processed by the message provider. For example, transaction semantics,
 * authentication information, and so on, can be specified as the content of a
 * SOAPHeader object.
 * 
 * A SOAPEnvelope object contains an empty SOAPHeader object by default. If the
 * SOAPHeader object, which is optional, is not needed, it can be retrieved and
 * deleted with the following line of code. The variable se is a SOAPEnvelope
 * object.
 *
 *    se.getHeader().detachNode();
 *
 * A SOAPHeader object is created with the SOAPEnvelope method addHeader.
 * This method, which creates a new header and adds it to the envelope, may be
 * called only after the existing header has been removed.
 *
 *    se.getHeader().detachNode();
 *    SOAPHeader sh = se.addHeader();
 *
 * A SOAPHeader object can have only SOAPHeaderElement objects as its
 * immediate children. The method addHeaderElement creates a new HeaderElement
 * object and adds it to the SOAPHeader object. In the following line of code,
 * the argument to the method addHeaderElement is a Name object that is the
 * name for the new HeaderElement object.
 *
 *    SOAPHeaderElement shElement = sh.addHeaderElement(name);
 *
 * @author Scott.Stark@jboss.org
 * @version $Revision: 2897 $
 */
public interface SOAPHeader extends SOAPElement
{
   /**
    * Creates a new SOAPHeaderElement object initialized with the specified name and adds it to this SOAPHeader object.
    *
    * @param name a Name object with the name of the new SOAPHeaderElement object
    * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
    * @throws SOAPException if a SOAP error occurs
    */
   public SOAPHeaderElement addHeaderElement(Name name) throws SOAPException;

   /**
    * Creates a new SOAPHeaderElement object initialized with the specified qname and adds it to this SOAPHeader object.
    * @param qname a QName object with the qname of the new SOAPHeaderElement object
    * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
    * @throws SOAPException if a SOAP error occurs
    * @since SAAJ 1.3 
    */
   public SOAPHeaderElement addHeaderElement(QName qname) throws SOAPException;
   
   /**
    * Creates a new NotUnderstood SOAPHeaderElement object initialized with the specified name and adds it to this SOAPHeader object. 
    * This operation is supported only by SOAP 1.2.
    * 
    * @param qname a QName object with the name of the SOAPHeaderElement object that was not understood.
    * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
    * @throws SOAPException if a SOAP error occurs.
    * @throws UnsupportedOperationException if this is a SOAP 1.1 Header.
    * @since SAAJ 1.3 
    */
   public SOAPHeaderElement addNotUnderstoodHeaderElement(QName qname) throws SOAPException;

   /**
    * Creates a new Upgrade SOAPHeaderElement object initialized with the specified List of supported SOAP URIs 
    * and adds it to this SOAPHeader object. This operation is supported on both SOAP 1.1 and SOAP 1.2 header.
    * 
    * @param soapURIs an Iterator object with the URIs of SOAP versions supported.
    * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
    * @throws SOAPException if a SOAP error occurs.
    * @since SAAJ 1.3 
    */
   public SOAPHeaderElement addUpgradeHeaderElement(Iterator soapURIs) throws SOAPException;

   /**
    * Creates a new Upgrade SOAPHeaderElement object initialized with the specified array of supported SOAP URIs 
    * and adds it to this SOAPHeader object. This operation is supported on both SOAP 1.1 and SOAP 1.2 header.
    * 
    * @param soapURIs an array of the URIs of SOAP versions supported.
    * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
    * @throws SOAPException if a SOAP error occurs.
    * @since SAAJ 1.3 
    */
   public SOAPHeaderElement addUpgradeHeaderElement(String[] soapURIs) throws SOAPException;
   
   /**
    * Creates a new Upgrade SOAPHeaderElement object initialized with the specified supported SOAP URI and adds it to this SOAPHeader object. 
    * This operation is supported on both SOAP 1.1 and SOAP 1.2 header.
    * 
    * @param soapURI the URI of SOAP the version that is supported.
    * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
    * @throws SOAPException if a SOAP error occurs.
    * @since SAAJ 1.3 
    */
   public SOAPHeaderElement addUpgradeHeaderElement(String soapURI) throws SOAPException;
   
   /**
    * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object.
    *
    * @return an Iterator object over all the SOAPHeaderElement objects contained by this SOAPHeader
    */
   public Iterator examineAllHeaderElements();

   /**
    * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object that have the specified actor.
    * An actor is a global attribute that indicates the intermediate parties that should process a message before it
    * reaches its ultimate receiver. An actor receives the message and processes it before sending it on to the next actor.
    * The default actor is the ultimate intended recipient for the message, so if no actor attribute is included in a
    * SOAPHeader object, it is sent to the ultimate receiver along with the message body.
    *
    * @param actor a String giving the URI of the actor for which to search
    * @return an Iterator object over all the SOAPHeaderElement objects that contain the specified actor and are marked as MustUnderstand
    */
   public Iterator examineHeaderElements(String actor);

   /**
    * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object that have the specified
    * actor and that have a MustUnderstand attribute whose value is equivalent to true.
    *
    * @param actor a String giving the URI of the actor for which to search
    * @return an Iterator object over all the SOAPHeaderElement objects that contain the specified actor and are marked as MustUnderstand
    */
   public Iterator examineMustUnderstandHeaderElements(String actor);

   /**
    * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object and detaches
    * them from this SOAPHeader object.
    *
    * @return an Iterator object over all the SOAPHeaderElement objects contained by this SOAPHeader
    */
   public Iterator extractAllHeaderElements();

   /**
    * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object that have the specified actor
    * and detaches them from this SOAPHeader object.
    *
    * This method allows an actor to process the parts of the SOAPHeader object that apply to it and to remove them
    * before passing the message on to the next actor.
    *
    * @param actor a String giving the URI of the actor for which to search
    * @return an Iterator object over all the SOAPHeaderElement objects that contain the specified actor and are marked as MustUnderstand
    */
   public Iterator extractHeaderElements(String actor);
}