< prev index next >

jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java

Print this page




  51         super(ownerDoc, NameImpl.createEnvelope1_2Name(prefix));
  52     }
  53 
  54     public Envelope1_2Impl(SOAPDocumentImpl ownerDoc, Element domElement) {
  55         super(ownerDoc, domElement);
  56     }
  57 
  58     public Envelope1_2Impl(
  59         SOAPDocumentImpl ownerDoc,
  60         String prefix,
  61         boolean createHeader,
  62         boolean createBody)
  63         throws SOAPException {
  64         super(
  65             ownerDoc,
  66             NameImpl.createEnvelope1_2Name(prefix),
  67             createHeader,
  68             createBody);
  69     }
  70 

  71     protected NameImpl getBodyName(String prefix) {
  72         return NameImpl.createBody1_2Name(prefix);
  73     }
  74 

  75     protected NameImpl getHeaderName(String prefix) {
  76         return NameImpl.createHeader1_2Name(prefix);
  77     }
  78 
  79     /*
  80      * Override setEncodingStyle of ElementImpl to restrict adding encodingStyle
  81      * attribute to SOAP Envelope (SOAP 1.2 spec, part 1, section 5.1.1)
  82      */

  83     public void setEncodingStyle(String encodingStyle) throws SOAPException {
  84         log.severe("SAAJ0404.ver1_2.no.encodingStyle.in.envelope");
  85         throw new SOAPExceptionImpl("encodingStyle attribute cannot appear on Envelope");
  86     }
  87 
  88     /*
  89      * Override addAttribute of ElementImpl to restrict adding encodingStyle
  90      * attribute to SOAP Envelope (SOAP 1.2 spec, part 1, section 5.1.1)
  91      */

  92     public SOAPElement addAttribute(Name name, String value)
  93         throws SOAPException {
  94         if (name.getLocalName().equals("encodingStyle")
  95             && name.getURI().equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) {
  96             setEncodingStyle(value);
  97         }
  98         return super.addAttribute(name, value);
  99     }
 100 

 101     public SOAPElement addAttribute(QName name, String value)
 102         throws SOAPException {
 103         if (name.getLocalPart().equals("encodingStyle")
 104             && name.getNamespaceURI().equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) {
 105             setEncodingStyle(value);
 106         }
 107         return super.addAttribute(name, value);
 108     }
 109 
 110 
 111     /*
 112      * Override addChildElement method to ensure that no element
 113      * is added after body in SOAP 1.2.
 114      */

 115     public SOAPElement addChildElement(Name name) throws SOAPException {
 116         // check if body already exists
 117         if (getBody() != null) {
 118             log.severe("SAAJ0405.ver1_2.body.must.last.in.envelope");
 119             throw new SOAPExceptionImpl(
 120                 "Body must be the last element in" + " SOAP Envelope");
 121         }
 122         return super.addChildElement(name);
 123     }
 124 

 125     public SOAPElement addChildElement(QName name) throws SOAPException {
 126         // check if body already exists
 127         if (getBody() != null) {
 128             log.severe("SAAJ0405.ver1_2.body.must.last.in.envelope");
 129             throw new SOAPExceptionImpl(
 130                 "Body must be the last element in" + " SOAP Envelope");
 131         }
 132         return super.addChildElement(name);
 133     }
 134 
 135 
 136     /*
 137      * Ideally we should be overriding other addChildElement() methods as well
 138      * but we are not adding them here since internally all those call the
 139      * method addChildElement(Name name).
 140      * In future, if this behaviour changes, then we would need to override
 141      * all the rest of them as well.
 142      *
 143      */
 144 

 145     public SOAPElement addTextNode(String text) throws SOAPException {
 146         log.log(
 147             Level.SEVERE,
 148             "SAAJ0416.ver1_2.adding.text.not.legal",
 149             getElementQName());
 150         throw new SOAPExceptionImpl("Adding text to SOAP 1.2 Envelope is not legal");
 151     }
 152 }


  51         super(ownerDoc, NameImpl.createEnvelope1_2Name(prefix));
  52     }
  53 
  54     public Envelope1_2Impl(SOAPDocumentImpl ownerDoc, Element domElement) {
  55         super(ownerDoc, domElement);
  56     }
  57 
  58     public Envelope1_2Impl(
  59         SOAPDocumentImpl ownerDoc,
  60         String prefix,
  61         boolean createHeader,
  62         boolean createBody)
  63         throws SOAPException {
  64         super(
  65             ownerDoc,
  66             NameImpl.createEnvelope1_2Name(prefix),
  67             createHeader,
  68             createBody);
  69     }
  70 
  71     @Override
  72     protected NameImpl getBodyName(String prefix) {
  73         return NameImpl.createBody1_2Name(prefix);
  74     }
  75 
  76     @Override
  77     protected NameImpl getHeaderName(String prefix) {
  78         return NameImpl.createHeader1_2Name(prefix);
  79     }
  80 
  81     /*
  82      * Override setEncodingStyle of ElementImpl to restrict adding encodingStyle
  83      * attribute to SOAP Envelope (SOAP 1.2 spec, part 1, section 5.1.1)
  84      */
  85     @Override
  86     public void setEncodingStyle(String encodingStyle) throws SOAPException {
  87         log.severe("SAAJ0404.ver1_2.no.encodingStyle.in.envelope");
  88         throw new SOAPExceptionImpl("encodingStyle attribute cannot appear on Envelope");
  89     }
  90 
  91     /*
  92      * Override addAttribute of ElementImpl to restrict adding encodingStyle
  93      * attribute to SOAP Envelope (SOAP 1.2 spec, part 1, section 5.1.1)
  94      */
  95     @Override
  96     public SOAPElement addAttribute(Name name, String value)
  97         throws SOAPException {
  98         if (name.getLocalName().equals("encodingStyle")
  99             && name.getURI().equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) {
 100             setEncodingStyle(value);
 101         }
 102         return super.addAttribute(name, value);
 103     }
 104 
 105     @Override
 106     public SOAPElement addAttribute(QName name, String value)
 107         throws SOAPException {
 108         if (name.getLocalPart().equals("encodingStyle")
 109             && name.getNamespaceURI().equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) {
 110             setEncodingStyle(value);
 111         }
 112         return super.addAttribute(name, value);
 113     }
 114 
 115 
 116     /*
 117      * Override addChildElement method to ensure that no element
 118      * is added after body in SOAP 1.2.
 119      */
 120     @Override
 121     public SOAPElement addChildElement(Name name) throws SOAPException {
 122         // check if body already exists
 123         if (getBody() != null) {
 124             log.severe("SAAJ0405.ver1_2.body.must.last.in.envelope");
 125             throw new SOAPExceptionImpl(
 126                 "Body must be the last element in" + " SOAP Envelope");
 127         }
 128         return super.addChildElement(name);
 129     }
 130 
 131     @Override
 132     public SOAPElement addChildElement(QName name) throws SOAPException {
 133         // check if body already exists
 134         if (getBody() != null) {
 135             log.severe("SAAJ0405.ver1_2.body.must.last.in.envelope");
 136             throw new SOAPExceptionImpl(
 137                 "Body must be the last element in" + " SOAP Envelope");
 138         }
 139         return super.addChildElement(name);
 140     }
 141 
 142 
 143     /*
 144      * Ideally we should be overriding other addChildElement() methods as well
 145      * but we are not adding them here since internally all those call the
 146      * method addChildElement(Name name).
 147      * In future, if this behaviour changes, then we would need to override
 148      * all the rest of them as well.
 149      *
 150      */
 151 
 152     @Override
 153     public SOAPElement addTextNode(String text) throws SOAPException {
 154         log.log(
 155             Level.SEVERE,
 156             "SAAJ0416.ver1_2.adding.text.not.legal",
 157             getElementQName());
 158         throw new SOAPExceptionImpl("Adding text to SOAP 1.2 Envelope is not legal");
 159     }
 160 }
< prev index next >