42 import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl; 43 import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants; 44 import org.w3c.dom.Element; 45 46 47 public class Header1_2Impl extends HeaderImpl { 48 49 protected static final Logger log = 50 Logger.getLogger( 51 LogDomainConstants.SOAP_VER1_2_DOMAIN, 52 "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings"); 53 54 public Header1_2Impl(SOAPDocumentImpl ownerDocument, String prefix) { 55 super(ownerDocument, NameImpl.createHeader1_2Name(prefix)); 56 } 57 58 public Header1_2Impl(SOAPDocumentImpl ownerDoc, Element domElement) { 59 super(ownerDoc, domElement); 60 } 61 62 protected NameImpl getNotUnderstoodName() { 63 return NameImpl.createNotUnderstood1_2Name(null); 64 } 65 66 protected NameImpl getUpgradeName() { 67 return NameImpl.createUpgrade1_2Name(null); 68 } 69 70 protected NameImpl getSupportedEnvelopeName() { 71 return NameImpl.createSupportedEnvelope1_2Name(null); 72 } 73 74 public SOAPHeaderElement addNotUnderstoodHeaderElement(final QName sourceName) 75 throws SOAPException { 76 77 if (sourceName == null) { 78 log.severe("SAAJ0410.ver1_2.no.null.to.addNotUnderstoodHeader"); 79 throw new SOAPException("Cannot pass NULL to addNotUnderstoodHeaderElement"); 80 } 81 if ("".equals(sourceName.getNamespaceURI())) { 82 log.severe("SAAJ0417.ver1_2.qname.not.ns.qualified"); 83 throw new SOAPException("The qname passed to addNotUnderstoodHeaderElement must be namespace-qualified"); 84 } 85 String prefix = sourceName.getPrefix(); 86 if ("".equals(prefix)) { 87 prefix = "ns1"; 88 } 89 Name notunderstoodName = getNotUnderstoodName(); 90 SOAPHeaderElement notunderstoodHeaderElement = 91 (SOAPHeaderElement) addChildElement(notunderstoodName); 92 notunderstoodHeaderElement.addAttribute( 93 NameImpl.createFromUnqualifiedName("qname"), 94 getQualifiedName( 95 new QName( 96 sourceName.getNamespaceURI(), 97 sourceName.getLocalPart(), 98 prefix))); 99 notunderstoodHeaderElement.addNamespaceDeclaration( 100 prefix, 101 sourceName.getNamespaceURI()); 102 return notunderstoodHeaderElement; 103 } 104 105 public SOAPElement addTextNode(String text) throws SOAPException { 106 log.log( 107 Level.SEVERE, 108 "SAAJ0416.ver1_2.adding.text.not.legal", 109 getElementQName()); 110 throw new SOAPExceptionImpl("Adding text to SOAP 1.2 Header is not legal"); 111 } 112 113 protected SOAPHeaderElement createHeaderElement(Name name) 114 throws SOAPException { 115 String uri = name.getURI(); 116 if (uri == null || uri.equals("")) { 117 log.severe("SAAJ0413.ver1_2.header.elems.must.be.ns.qualified"); 118 throw new SOAPExceptionImpl("SOAP 1.2 header elements must be namespace qualified"); 119 } 120 return new HeaderElement1_2Impl( 121 ((SOAPDocument) getOwnerDocument()).getDocument(), 122 name); 123 } 124 125 protected SOAPHeaderElement createHeaderElement(QName name) 126 throws SOAPException { 127 String uri = name.getNamespaceURI(); 128 if (uri == null || uri.equals("")) { 129 log.severe("SAAJ0413.ver1_2.header.elems.must.be.ns.qualified"); 130 throw new SOAPExceptionImpl("SOAP 1.2 header elements must be namespace qualified"); 131 } 132 return new HeaderElement1_2Impl( 133 ((SOAPDocument) getOwnerDocument()).getDocument(), 134 name); 135 } 136 137 public void setEncodingStyle(String encodingStyle) throws SOAPException { 138 log.severe("SAAJ0409.ver1_2.no.encodingstyle.in.header"); 139 throw new SOAPExceptionImpl("encodingStyle attribute cannot appear on Header"); 140 } 141 142 public SOAPElement addAttribute(Name name, String value) 143 throws SOAPException { 144 if (name.getLocalName().equals("encodingStyle") 145 && name.getURI().equals(NameImpl.SOAP12_NAMESPACE)) { 146 147 setEncodingStyle(value); 148 } 149 return super.addAttribute(name, value); 150 } 151 152 public SOAPElement addAttribute(QName name, String value) 153 throws SOAPException { 154 if (name.getLocalPart().equals("encodingStyle") 155 && name.getNamespaceURI().equals(NameImpl.SOAP12_NAMESPACE)) { 156 157 setEncodingStyle(value); 158 } 159 return super.addAttribute(name, value); 160 } 161 } | 42 import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl; 43 import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants; 44 import org.w3c.dom.Element; 45 46 47 public class Header1_2Impl extends HeaderImpl { 48 49 protected static final Logger log = 50 Logger.getLogger( 51 LogDomainConstants.SOAP_VER1_2_DOMAIN, 52 "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings"); 53 54 public Header1_2Impl(SOAPDocumentImpl ownerDocument, String prefix) { 55 super(ownerDocument, NameImpl.createHeader1_2Name(prefix)); 56 } 57 58 public Header1_2Impl(SOAPDocumentImpl ownerDoc, Element domElement) { 59 super(ownerDoc, domElement); 60 } 61 62 @Override 63 protected NameImpl getNotUnderstoodName() { 64 return NameImpl.createNotUnderstood1_2Name(null); 65 } 66 67 @Override 68 protected NameImpl getUpgradeName() { 69 return NameImpl.createUpgrade1_2Name(null); 70 } 71 72 @Override 73 protected NameImpl getSupportedEnvelopeName() { 74 return NameImpl.createSupportedEnvelope1_2Name(null); 75 } 76 77 @Override 78 public SOAPHeaderElement addNotUnderstoodHeaderElement(final QName sourceName) 79 throws SOAPException { 80 81 if (sourceName == null) { 82 log.severe("SAAJ0410.ver1_2.no.null.to.addNotUnderstoodHeader"); 83 throw new SOAPException("Cannot pass NULL to addNotUnderstoodHeaderElement"); 84 } 85 if ("".equals(sourceName.getNamespaceURI())) { 86 log.severe("SAAJ0417.ver1_2.qname.not.ns.qualified"); 87 throw new SOAPException("The qname passed to addNotUnderstoodHeaderElement must be namespace-qualified"); 88 } 89 String prefix = sourceName.getPrefix(); 90 if ("".equals(prefix)) { 91 prefix = "ns1"; 92 } 93 Name notunderstoodName = getNotUnderstoodName(); 94 SOAPHeaderElement notunderstoodHeaderElement = 95 (SOAPHeaderElement) addChildElement(notunderstoodName); 96 notunderstoodHeaderElement.addAttribute( 97 NameImpl.createFromUnqualifiedName("qname"), 98 getQualifiedName( 99 new QName( 100 sourceName.getNamespaceURI(), 101 sourceName.getLocalPart(), 102 prefix))); 103 notunderstoodHeaderElement.addNamespaceDeclaration( 104 prefix, 105 sourceName.getNamespaceURI()); 106 return notunderstoodHeaderElement; 107 } 108 109 @Override 110 public SOAPElement addTextNode(String text) throws SOAPException { 111 log.log( 112 Level.SEVERE, 113 "SAAJ0416.ver1_2.adding.text.not.legal", 114 getElementQName()); 115 throw new SOAPExceptionImpl("Adding text to SOAP 1.2 Header is not legal"); 116 } 117 118 @Override 119 protected SOAPHeaderElement createHeaderElement(Name name) 120 throws SOAPException { 121 String uri = name.getURI(); 122 if (uri == null || uri.equals("")) { 123 log.severe("SAAJ0413.ver1_2.header.elems.must.be.ns.qualified"); 124 throw new SOAPExceptionImpl("SOAP 1.2 header elements must be namespace qualified"); 125 } 126 return new HeaderElement1_2Impl( 127 ((SOAPDocument) getOwnerDocument()).getDocument(), 128 name); 129 } 130 131 @Override 132 protected SOAPHeaderElement createHeaderElement(QName name) 133 throws SOAPException { 134 String uri = name.getNamespaceURI(); 135 if (uri == null || uri.equals("")) { 136 log.severe("SAAJ0413.ver1_2.header.elems.must.be.ns.qualified"); 137 throw new SOAPExceptionImpl("SOAP 1.2 header elements must be namespace qualified"); 138 } 139 return new HeaderElement1_2Impl( 140 ((SOAPDocument) getOwnerDocument()).getDocument(), 141 name); 142 } 143 144 @Override 145 public void setEncodingStyle(String encodingStyle) throws SOAPException { 146 log.severe("SAAJ0409.ver1_2.no.encodingstyle.in.header"); 147 throw new SOAPExceptionImpl("encodingStyle attribute cannot appear on Header"); 148 } 149 150 @Override 151 public SOAPElement addAttribute(Name name, String value) 152 throws SOAPException { 153 if (name.getLocalName().equals("encodingStyle") 154 && name.getURI().equals(NameImpl.SOAP12_NAMESPACE)) { 155 156 setEncodingStyle(value); 157 } 158 return super.addAttribute(name, value); 159 } 160 161 @Override 162 public SOAPElement addAttribute(QName name, String value) 163 throws SOAPException { 164 if (name.getLocalPart().equals("encodingStyle") 165 && name.getNamespaceURI().equals(NameImpl.SOAP12_NAMESPACE)) { 166 167 setEncodingStyle(value); 168 } 169 return super.addAttribute(name, value); 170 } 171 } |