< prev index next >

src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java

Print this page




  47 import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants;
  48 import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl;
  49 import org.w3c.dom.Element;
  50 
  51 
  52 public class Fault1_1Impl extends FaultImpl {
  53 
  54     protected static final Logger log =
  55         Logger.getLogger(
  56             LogDomainConstants.SOAP_VER1_1_DOMAIN,
  57             "com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
  58 
  59     public Fault1_1Impl(SOAPDocumentImpl ownerDocument, String prefix) {
  60        super(ownerDocument, NameImpl.createFault1_1Name(prefix));
  61     }
  62 
  63     public Fault1_1Impl(Element domElement, SOAPDocumentImpl ownerDoc) {
  64         super(ownerDoc, domElement);
  65     }
  66 

  67     protected NameImpl getDetailName() {
  68         return NameImpl.createDetail1_1Name();
  69     }
  70 

  71     protected NameImpl getFaultCodeName() {
  72         return NameImpl.createFromUnqualifiedName("faultcode");
  73     }
  74 

  75     protected NameImpl getFaultStringName() {
  76         return NameImpl.createFromUnqualifiedName("faultstring");
  77     }
  78 

  79     protected NameImpl getFaultActorName() {
  80         return NameImpl.createFromUnqualifiedName("faultactor");
  81     }
  82 

  83     protected DetailImpl createDetail() {
  84         return new Detail1_1Impl(
  85                        ((SOAPDocument) getOwnerDocument()).getDocument());
  86     }
  87 

  88     protected FaultElementImpl createSOAPFaultElement(String localName) {
  89         return new FaultElement1_1Impl(
  90                        ((SOAPDocument) getOwnerDocument()).getDocument(),
  91                        localName);
  92     }
  93 

  94     protected void checkIfStandardFaultCode(String faultCode, String uri)
  95         throws SOAPException {
  96         // SOAP 1.1 doesn't seem to mandate using faultcode from a particular
  97         // set of values.
  98         // Also need to be backward compatible.
  99     }
 100 

 101     protected void finallySetFaultCode(String faultcode) throws SOAPException {
 102         this.faultCodeElement.addTextNode(faultcode);
 103     }
 104 

 105     public String getFaultCode() {
 106         if (this.faultCodeElement == null)
 107             findFaultCodeElement();
 108         return this.faultCodeElement.getValue();
 109     }
 110 

 111     public Name getFaultCodeAsName() {
 112 
 113         String faultcodeString = getFaultCode();
 114         if (faultcodeString == null) {
 115             return null;
 116         }
 117         int prefixIndex = faultcodeString.indexOf(':');
 118         if (prefixIndex == -1) {
 119             // Not a valid SOAP message, but we return the unqualified name
 120             // anyway since some apps do not strictly conform to SOAP
 121             // specs.  A message that does not contain a <faultcode>
 122             // element itself is also not valid in which case we return
 123             // null instead of throwing an exception so this is consistent.
 124             return NameImpl.createFromUnqualifiedName(faultcodeString);
 125         }
 126 
 127         // Get the prefix and map it to a namespace name (AKA namespace URI)
 128         String prefix = faultcodeString.substring(0, prefixIndex);
 129         if (this.faultCodeElement == null)
 130             findFaultCodeElement();
 131         String nsName = this.faultCodeElement.getNamespaceURI(prefix);
 132         return NameImpl.createFromQualifiedName(faultcodeString, nsName);
 133     }
 134 

 135     public QName getFaultCodeAsQName() {
 136         String faultcodeString = getFaultCode();
 137         if (faultcodeString == null) {
 138             return null;
 139         }
 140         if (this.faultCodeElement == null)
 141             findFaultCodeElement();
 142         return convertCodeToQName(faultcodeString, this.faultCodeElement);
 143     }
 144 

 145     public void setFaultString(String faultString) throws SOAPException {
 146 
 147         if (this.faultStringElement == null)
 148             findFaultStringElement();
 149 
 150         if (this.faultStringElement == null)
 151             this.faultStringElement = addSOAPFaultElement("faultstring");
 152         else {
 153             this.faultStringElement.removeContents();
 154             //this.faultStringElement.removeAttributeNS("http://www.w3.org/XML/1998/namespace", "lang");
 155             this.faultStringElement.removeAttribute("xml:lang");
 156         }
 157 
 158         this.faultStringElement.addTextNode(faultString);
 159     }
 160 

 161     public String getFaultString() {
 162         if (this.faultStringElement == null)
 163             findFaultStringElement();
 164         return this.faultStringElement.getValue();
 165 
 166     }
 167 

 168     public Locale getFaultStringLocale() {
 169         if (this.faultStringElement == null)
 170             findFaultStringElement();
 171         if (this.faultStringElement != null) {
 172             String xmlLangAttr =
 173                 this.faultStringElement.getAttributeValue(
 174                     NameImpl.createFromUnqualifiedName("xml:lang"));
 175             if (xmlLangAttr != null)
 176                 return xmlLangToLocale(xmlLangAttr);
 177         }
 178         return null;
 179     }
 180 

 181     public void setFaultString(String faultString, Locale locale)
 182         throws SOAPException {
 183         setFaultString(faultString);
 184         this.faultStringElement.addAttribute(
 185             NameImpl.createFromTagName("xml:lang"),
 186             localeToXmlLang(locale));
 187     }
 188 

 189     protected boolean isStandardFaultElement(String localName) {
 190         if (localName.equalsIgnoreCase("detail") ||
 191             localName.equalsIgnoreCase("faultcode") ||
 192             localName.equalsIgnoreCase("faultstring") ||
 193             localName.equalsIgnoreCase("faultactor")) {
 194             return true;
 195         }
 196         return false;
 197     }
 198 

 199     public void appendFaultSubcode(QName subcode) {
 200         log.log(
 201             Level.SEVERE,
 202             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 203             "appendFaultSubcode");
 204         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 205     }
 206 

 207     public void removeAllFaultSubcodes() {
 208         log.log(
 209             Level.SEVERE,
 210             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 211             "removeAllFaultSubcodes");
 212         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 213     }
 214 
 215     public Iterator getFaultSubcodes() {

 216         log.log(
 217             Level.SEVERE,
 218             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 219             "getFaultSubcodes");
 220         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 221     }
 222 

 223     public String getFaultReasonText(Locale locale) {
 224         log.log(
 225             Level.SEVERE,
 226             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 227             "getFaultReasonText");
 228         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 229     }
 230 
 231     public Iterator getFaultReasonTexts() {

 232         log.log(
 233             Level.SEVERE,
 234             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 235             "getFaultReasonTexts");
 236         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 237     }
 238 
 239     public Iterator getFaultReasonLocales() {

 240         log.log(
 241             Level.SEVERE,
 242             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 243             "getFaultReasonLocales");
 244         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 245     }
 246 

 247     public void addFaultReasonText(String text, java.util.Locale locale)
 248         throws SOAPException {
 249         log.log(
 250             Level.SEVERE,
 251             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 252             "addFaultReasonText");
 253         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 254     }
 255 

 256     public String getFaultRole() {
 257         log.log(
 258             Level.SEVERE,
 259             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 260             "getFaultRole");
 261         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 262     }
 263 

 264     public void setFaultRole(String uri) {
 265         log.log(
 266             Level.SEVERE,
 267             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 268             "setFaultRole");
 269         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 270     }
 271 

 272     public String getFaultNode() {
 273         log.log(
 274             Level.SEVERE,
 275             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 276             "getFaultNode");
 277         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 278     }
 279 

 280     public void setFaultNode(String uri) {
 281         log.log(
 282             Level.SEVERE,
 283             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 284             "setFaultNode");
 285         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 286     }
 287 

 288     protected QName getDefaultFaultCode() {
 289         return new QName(SOAPConstants.URI_NS_SOAP_1_1_ENVELOPE, "Server");
 290     }
 291 

 292     public SOAPElement addChildElement(SOAPElement element)
 293         throws SOAPException {
 294         String localName = element.getLocalName();
 295         if ("Detail".equalsIgnoreCase(localName)) {
 296             if (hasDetail()) {
 297                 log.severe("SAAJ0305.ver1_2.detail.exists.error");
 298                 throw new SOAPExceptionImpl("Cannot add Detail, Detail already exists");
 299             }
 300         }
 301         return super.addChildElement(element);
 302     }
 303 

 304     protected FaultElementImpl createSOAPFaultElement(QName qname) {
 305          return new FaultElement1_1Impl(
 306                        ((SOAPDocument) getOwnerDocument()).getDocument(),
 307                        qname);
 308     }
 309 

 310     protected FaultElementImpl createSOAPFaultElement(Name qname) {
 311          return new FaultElement1_1Impl(
 312                        ((SOAPDocument) getOwnerDocument()).getDocument(),
 313                        (NameImpl)qname);
 314     }
 315 

 316     public void setFaultCode(String faultCode, String prefix, String uri)
 317         throws SOAPException {
 318         if (prefix == null || "".equals(prefix)) {
 319             if (uri != null && !"".equals(uri)) {
 320                 prefix = getNamespacePrefix(uri);
 321                 if (prefix == null || "".equals(prefix)) {
 322                     prefix = "ns0";
 323                 }
 324             }
 325         }
 326 
 327         if (this.faultCodeElement == null)
 328             findFaultCodeElement();
 329 
 330         if (this.faultCodeElement == null)
 331             this.faultCodeElement = addFaultCodeElement();
 332         else
 333             this.faultCodeElement.removeContents();
 334 
 335         if (uri == null || "".equals(uri)) {


 353 
 354         if (prefix == null || "".equals(prefix)) {
 355             finallySetFaultCode(faultCode);
 356         } else {
 357             finallySetFaultCode(prefix + ":" + faultCode);
 358         }
 359     }
 360 
 361     private boolean standardFaultCode(String faultCode) {
 362         if (faultCode.equals("VersionMismatch") || faultCode.equals("MustUnderstand")
 363             || faultCode.equals("Client") || faultCode.equals("Server")) {
 364             return true;
 365         }
 366         if (faultCode.startsWith("VersionMismatch.") || faultCode.startsWith("MustUnderstand.")
 367             || faultCode.startsWith("Client.") || faultCode.startsWith("Server.")) {
 368             return true;
 369         }
 370         return false;
 371     }
 372 

 373      public void setFaultActor(String faultActor) throws SOAPException {
 374         if (this.faultActorElement == null)
 375             findFaultActorElement();
 376         if (this.faultActorElement != null)
 377             this.faultActorElement.detachNode();
 378         if (faultActor == null)
 379             return;
 380         this.faultActorElement =
 381             createSOAPFaultElement(getFaultActorName());
 382         this.faultActorElement.addTextNode(faultActor);
 383         if (hasDetail()) {
 384             insertBefore(this.faultActorElement, this.detail);
 385             return;
 386         }
 387         addNode(this.faultActorElement);
 388 
 389     }
 390 }


  47 import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants;
  48 import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl;
  49 import org.w3c.dom.Element;
  50 
  51 
  52 public class Fault1_1Impl extends FaultImpl {
  53 
  54     protected static final Logger log =
  55         Logger.getLogger(
  56             LogDomainConstants.SOAP_VER1_1_DOMAIN,
  57             "com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
  58 
  59     public Fault1_1Impl(SOAPDocumentImpl ownerDocument, String prefix) {
  60        super(ownerDocument, NameImpl.createFault1_1Name(prefix));
  61     }
  62 
  63     public Fault1_1Impl(Element domElement, SOAPDocumentImpl ownerDoc) {
  64         super(ownerDoc, domElement);
  65     }
  66 
  67     @Override
  68     protected NameImpl getDetailName() {
  69         return NameImpl.createDetail1_1Name();
  70     }
  71 
  72     @Override
  73     protected NameImpl getFaultCodeName() {
  74         return NameImpl.createFromUnqualifiedName("faultcode");
  75     }
  76 
  77     @Override
  78     protected NameImpl getFaultStringName() {
  79         return NameImpl.createFromUnqualifiedName("faultstring");
  80     }
  81 
  82     @Override
  83     protected NameImpl getFaultActorName() {
  84         return NameImpl.createFromUnqualifiedName("faultactor");
  85     }
  86 
  87     @Override
  88     protected DetailImpl createDetail() {
  89         return new Detail1_1Impl(
  90                        ((SOAPDocument) getOwnerDocument()).getDocument());
  91     }
  92 
  93     @Override
  94     protected FaultElementImpl createSOAPFaultElement(String localName) {
  95         return new FaultElement1_1Impl(
  96                        ((SOAPDocument) getOwnerDocument()).getDocument(),
  97                        localName);
  98     }
  99 
 100     @Override
 101     protected void checkIfStandardFaultCode(String faultCode, String uri)
 102         throws SOAPException {
 103         // SOAP 1.1 doesn't seem to mandate using faultcode from a particular
 104         // set of values.
 105         // Also need to be backward compatible.
 106     }
 107 
 108     @Override
 109     protected void finallySetFaultCode(String faultcode) throws SOAPException {
 110         this.faultCodeElement.addTextNode(faultcode);
 111     }
 112 
 113     @Override
 114     public String getFaultCode() {
 115         if (this.faultCodeElement == null)
 116             findFaultCodeElement();
 117         return this.faultCodeElement.getValue();
 118     }
 119 
 120     @Override
 121     public Name getFaultCodeAsName() {
 122 
 123         String faultcodeString = getFaultCode();
 124         if (faultcodeString == null) {
 125             return null;
 126         }
 127         int prefixIndex = faultcodeString.indexOf(':');
 128         if (prefixIndex == -1) {
 129             // Not a valid SOAP message, but we return the unqualified name
 130             // anyway since some apps do not strictly conform to SOAP
 131             // specs.  A message that does not contain a <faultcode>
 132             // element itself is also not valid in which case we return
 133             // null instead of throwing an exception so this is consistent.
 134             return NameImpl.createFromUnqualifiedName(faultcodeString);
 135         }
 136 
 137         // Get the prefix and map it to a namespace name (AKA namespace URI)
 138         String prefix = faultcodeString.substring(0, prefixIndex);
 139         if (this.faultCodeElement == null)
 140             findFaultCodeElement();
 141         String nsName = this.faultCodeElement.getNamespaceURI(prefix);
 142         return NameImpl.createFromQualifiedName(faultcodeString, nsName);
 143     }
 144 
 145     @Override
 146     public QName getFaultCodeAsQName() {
 147         String faultcodeString = getFaultCode();
 148         if (faultcodeString == null) {
 149             return null;
 150         }
 151         if (this.faultCodeElement == null)
 152             findFaultCodeElement();
 153         return convertCodeToQName(faultcodeString, this.faultCodeElement);
 154     }
 155 
 156     @Override
 157     public void setFaultString(String faultString) throws SOAPException {
 158 
 159         if (this.faultStringElement == null)
 160             findFaultStringElement();
 161 
 162         if (this.faultStringElement == null)
 163             this.faultStringElement = addSOAPFaultElement("faultstring");
 164         else {
 165             this.faultStringElement.removeContents();
 166             //this.faultStringElement.removeAttributeNS("http://www.w3.org/XML/1998/namespace", "lang");
 167             this.faultStringElement.removeAttribute("xml:lang");
 168         }
 169 
 170         this.faultStringElement.addTextNode(faultString);
 171     }
 172 
 173     @Override
 174     public String getFaultString() {
 175         if (this.faultStringElement == null)
 176             findFaultStringElement();
 177         return this.faultStringElement.getValue();
 178 
 179     }
 180 
 181     @Override
 182     public Locale getFaultStringLocale() {
 183         if (this.faultStringElement == null)
 184             findFaultStringElement();
 185         if (this.faultStringElement != null) {
 186             String xmlLangAttr =
 187                 this.faultStringElement.getAttributeValue(
 188                     NameImpl.createFromUnqualifiedName("xml:lang"));
 189             if (xmlLangAttr != null)
 190                 return xmlLangToLocale(xmlLangAttr);
 191         }
 192         return null;
 193     }
 194 
 195     @Override
 196     public void setFaultString(String faultString, Locale locale)
 197         throws SOAPException {
 198         setFaultString(faultString);
 199         this.faultStringElement.addAttribute(
 200             NameImpl.createFromTagName("xml:lang"),
 201             localeToXmlLang(locale));
 202     }
 203 
 204     @Override
 205     protected boolean isStandardFaultElement(String localName) {
 206         if (localName.equalsIgnoreCase("detail") ||
 207             localName.equalsIgnoreCase("faultcode") ||
 208             localName.equalsIgnoreCase("faultstring") ||
 209             localName.equalsIgnoreCase("faultactor")) {
 210             return true;
 211         }
 212         return false;
 213     }
 214 
 215     @Override
 216     public void appendFaultSubcode(QName subcode) {
 217         log.log(
 218             Level.SEVERE,
 219             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 220             "appendFaultSubcode");
 221         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 222     }
 223 
 224     @Override
 225     public void removeAllFaultSubcodes() {
 226         log.log(
 227             Level.SEVERE,
 228             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 229             "removeAllFaultSubcodes");
 230         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 231     }
 232 
 233     @Override
 234     public Iterator<QName> getFaultSubcodes() {
 235         log.log(
 236             Level.SEVERE,
 237             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 238             "getFaultSubcodes");
 239         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 240     }
 241 
 242     @Override
 243     public String getFaultReasonText(Locale locale) {
 244         log.log(
 245             Level.SEVERE,
 246             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 247             "getFaultReasonText");
 248         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 249     }
 250 
 251     @Override
 252     public Iterator<String> getFaultReasonTexts() {
 253         log.log(
 254             Level.SEVERE,
 255             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 256             "getFaultReasonTexts");
 257         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 258     }
 259 
 260     @Override
 261     public Iterator<Locale> getFaultReasonLocales() {
 262         log.log(
 263             Level.SEVERE,
 264             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 265             "getFaultReasonLocales");
 266         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 267     }
 268 
 269     @Override
 270     public void addFaultReasonText(String text, java.util.Locale locale)
 271         throws SOAPException {
 272         log.log(
 273             Level.SEVERE,
 274             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 275             "addFaultReasonText");
 276         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 277     }
 278 
 279     @Override
 280     public String getFaultRole() {
 281         log.log(
 282             Level.SEVERE,
 283             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 284             "getFaultRole");
 285         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 286     }
 287 
 288     @Override
 289     public void setFaultRole(String uri) {
 290         log.log(
 291             Level.SEVERE,
 292             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 293             "setFaultRole");
 294         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 295     }
 296 
 297     @Override
 298     public String getFaultNode() {
 299         log.log(
 300             Level.SEVERE,
 301             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 302             "getFaultNode");
 303         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 304     }
 305 
 306     @Override
 307     public void setFaultNode(String uri) {
 308         log.log(
 309             Level.SEVERE,
 310             "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1",
 311             "setFaultNode");
 312         throw new UnsupportedOperationException("Not supported in SOAP 1.1");
 313     }
 314 
 315     @Override
 316     protected QName getDefaultFaultCode() {
 317         return new QName(SOAPConstants.URI_NS_SOAP_1_1_ENVELOPE, "Server");
 318     }
 319 
 320     @Override
 321     public SOAPElement addChildElement(SOAPElement element)
 322         throws SOAPException {
 323         String localName = element.getLocalName();
 324         if ("Detail".equalsIgnoreCase(localName)) {
 325             if (hasDetail()) {
 326                 log.severe("SAAJ0305.ver1_2.detail.exists.error");
 327                 throw new SOAPExceptionImpl("Cannot add Detail, Detail already exists");
 328             }
 329         }
 330         return super.addChildElement(element);
 331     }
 332 
 333     @Override
 334     protected FaultElementImpl createSOAPFaultElement(QName qname) {
 335          return new FaultElement1_1Impl(
 336                        ((SOAPDocument) getOwnerDocument()).getDocument(),
 337                        qname);
 338     }
 339 
 340     @Override
 341     protected FaultElementImpl createSOAPFaultElement(Name qname) {
 342          return new FaultElement1_1Impl(
 343                        ((SOAPDocument) getOwnerDocument()).getDocument(),
 344                        (NameImpl)qname);
 345     }
 346 
 347     @Override
 348     public void setFaultCode(String faultCode, String prefix, String uri)
 349         throws SOAPException {
 350         if (prefix == null || "".equals(prefix)) {
 351             if (uri != null && !"".equals(uri)) {
 352                 prefix = getNamespacePrefix(uri);
 353                 if (prefix == null || "".equals(prefix)) {
 354                     prefix = "ns0";
 355                 }
 356             }
 357         }
 358 
 359         if (this.faultCodeElement == null)
 360             findFaultCodeElement();
 361 
 362         if (this.faultCodeElement == null)
 363             this.faultCodeElement = addFaultCodeElement();
 364         else
 365             this.faultCodeElement.removeContents();
 366 
 367         if (uri == null || "".equals(uri)) {


 385 
 386         if (prefix == null || "".equals(prefix)) {
 387             finallySetFaultCode(faultCode);
 388         } else {
 389             finallySetFaultCode(prefix + ":" + faultCode);
 390         }
 391     }
 392 
 393     private boolean standardFaultCode(String faultCode) {
 394         if (faultCode.equals("VersionMismatch") || faultCode.equals("MustUnderstand")
 395             || faultCode.equals("Client") || faultCode.equals("Server")) {
 396             return true;
 397         }
 398         if (faultCode.startsWith("VersionMismatch.") || faultCode.startsWith("MustUnderstand.")
 399             || faultCode.startsWith("Client.") || faultCode.startsWith("Server.")) {
 400             return true;
 401         }
 402         return false;
 403     }
 404 
 405     @Override
 406      public void setFaultActor(String faultActor) throws SOAPException {
 407         if (this.faultActorElement == null)
 408             findFaultActorElement();
 409         if (this.faultActorElement != null)
 410             this.faultActorElement.detachNode();
 411         if (faultActor == null)
 412             return;
 413         this.faultActorElement =
 414             createSOAPFaultElement(getFaultActorName());
 415         this.faultActorElement.addTextNode(faultActor);
 416         if (hasDetail()) {
 417             insertBefore(this.faultActorElement, this.detail);
 418             return;
 419         }
 420         addNode(this.faultActorElement);
 421 
 422     }
 423 }
< prev index next >