1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.ws.soap.soap11.impl;
18
19 import javax.xml.namespace.QName;
20
21 import org.opensaml.ws.soap.soap11.Body;
22 import org.opensaml.ws.soap.soap11.Envelope;
23 import org.opensaml.ws.soap.soap11.Header;
24 import org.opensaml.xml.XMLObject;
25 import org.opensaml.xml.io.AbstractXMLObjectUnmarshaller;
26 import org.opensaml.xml.io.UnmarshallingException;
27 import org.opensaml.xml.util.XMLHelper;
28 import org.w3c.dom.Attr;
29
30
31
32
33 public class EnvelopeUnmarshaller extends AbstractXMLObjectUnmarshaller {
34
35
36 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
37 throws UnmarshallingException {
38 Envelope envelope = (Envelope) parentXMLObject;
39
40 if (childXMLObject instanceof Header) {
41 envelope.setHeader((Header) childXMLObject);
42 } else if (childXMLObject instanceof Body) {
43 envelope.setBody((Body) childXMLObject);
44 } else {
45 envelope.getUnknownXMLObjects().add(childXMLObject);
46 }
47 }
48
49
50 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
51 Envelope envelope = (Envelope) xmlObject;
52 QName attribQName = XMLHelper.constructQName(attribute.getNamespaceURI(), attribute.getLocalName(), attribute
53 .getPrefix());
54 if (attribute.isId()) {
55 envelope.getUnknownAttributes().registerID(attribQName);
56 }
57 envelope.getUnknownAttributes().put(attribQName, attribute.getValue());
58 }
59
60
61 protected void processElementContent(XMLObject xmlObject, String elementContent) {
62
63 }
64 }