Java SOAP Message getFaultCodeAndString(SOAPMessage message)

Here you can find the source of getFaultCodeAndString(SOAPMessage message)

Description

Retrieves the fault code, string and detail from a SOAP fault message.

License

Open Source License

Parameter

Parameter Description
message the SOAP message

Exception

Parameter Description
SOAPException if the SOAP Body does not exist or cannot be retrieved

Return

a String array containing the fault code, string and detail or null if the message is not a SOAP fault

Declaration

public static String[] getFaultCodeAndString(SOAPMessage message) throws SOAPException 

Method Source Code

//package com.java2s;
/**//from w w w .j  av  a2s. c o m
 * The MIT License
 * Copyright (c) 2015 Estonian Information System Authority (RIA), Population Register Centre (VRK)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

import javax.xml.soap.Detail;

import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPFault;
import javax.xml.soap.SOAPMessage;

public class Main {
    /**
     * Retrieves the fault code, string and detail from a SOAP fault message.
     * @param message the SOAP message
     * @return a String array containing the fault code, string and detail or
     * null if the message is not a SOAP fault
     * @throws SOAPException if the SOAP Body does not exist or cannot be retrieved
     */
    public static String[] getFaultCodeAndString(SOAPMessage message) throws SOAPException {
        SOAPFault fault = message.getSOAPBody().getFault();
        if (fault == null) {
            return null;
        }

        return new String[] { fault.getFaultCode(), fault.getFaultString(), detail(fault.getDetail()) };
    }

    static String detail(Detail detail) {
        if (detail != null && detail.getFirstChild() != null) {
            return detail.getFirstChild().getTextContent();
        }

        return "";
    }
}

Related

  1. getBody(SOAPMessage m)
  2. getBodyContent(SOAPBody body)
  3. getBytes(SOAPMessage soap)
  4. getDeclaredNamespaces(SOAPElement aElement, Map aPrefixMap)
  5. getExcludedTypes()
  6. getHeaderValue(SOAPMessage message, String tagName)
  7. getJarredPluginPath(String bundleId)
  8. getNamespaceDeclarations(SOAPEnvelope env, SOAPBodyElement body)
  9. getNamespacePrefix(SOAPElement element, String nsURI)