Package com.arjuna.webservices

Examples of com.arjuna.webservices.SoapFault10


     * @throws XMLStreamException For errors during reading.
     */
    public SoapFault parseSoapFault(final XMLStreamReader streamReader)
        throws XMLStreamException
    {
            final SoapFault10 soapFault = new SoapFault10() ;
           
            // Code processing
            StreamHelper.checkNextStartTag(streamReader, QNAME_CODE) ;
            StreamHelper.checkNextStartTag(streamReader, QNAME_VALUE) ;
            final TextElement codeElement = new TextElement(streamReader) ;
            final QName code = QNameHelper.toQName(streamReader.getNamespaceContext(), codeElement.getText()) ;
            soapFault.setSoapFaultType(getSoapFaultType(code)) ;
            if (!StreamHelper.checkParentFinished(streamReader))
            {
                StreamHelper.checkTag(streamReader, QNAME_SUBCODE) ;
                StreamHelper.checkNextStartTag(streamReader, QNAME_VALUE) ;
                final TextElement subcodeElement = new TextElement(streamReader) ;
                soapFault.setSubcode(QNameHelper.toQName(streamReader.getNamespaceContext(), subcodeElement.getText())) ;
                if (!StreamHelper.checkParentFinished(streamReader))
                {
                    StreamHelper.checkTag(streamReader, QNAME_SUBCODE) ;
                    StreamHelper.checkNextStartTag(streamReader, QNAME_VALUE) ;
                    final TextElement subSubcodeElement = new TextElement(streamReader) ;
                    soapFault.setSubSubcode(QNameHelper.toQName(streamReader.getNamespaceContext(), subSubcodeElement.getText())) ;
                    if (!StreamHelper.checkParentFinished(streamReader))
                    {
                        // Throw away any subcodes as we only support two level.
                        new AnyElement(streamReader) ;
                        if (!StreamHelper.checkParentFinished(streamReader))
                        {
                            final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.soap.Soap12Details_1") ;
                            final String message = MessageFormat.format(pattern, new Object[] {streamReader.getName()}) ;
                            throw new XMLStreamException(message) ;
                        }
                    }
                    if (!StreamHelper.checkParentFinished(streamReader))
                    {
                        final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.soap.Soap12Details_1") ;
                        final String message = MessageFormat.format(pattern, new Object[] {streamReader.getName()}) ;
                        throw new XMLStreamException(message) ;
                    }
                }
                if (!StreamHelper.checkParentFinished(streamReader))
                {
                    final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.soap.Soap12Details_1") ;
                    final String message = MessageFormat.format(pattern, new Object[] {streamReader.getName()}) ;
                    throw new XMLStreamException(message) ;
                }
            }
           
            // Reason processing
            StreamHelper.checkNextStartTag(streamReader, QNAME_REASON) ;
            StreamHelper.checkNextStartTag(streamReader, QNAME_TEXT) ;
            final TextElement reasonElement = new TextElement(streamReader) ;
            soapFault.setReason(reasonElement.getText()) ;
            if (!StreamHelper.checkParentFinished(streamReader))
            {
                final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.soap.Soap12Details_1") ;
                final String message = MessageFormat.format(pattern, new Object[] {streamReader.getName()}) ;
                throw new XMLStreamException(message) ;
            }
            if (StreamHelper.checkParentFinished(streamReader))
            {
                return soapFault ;
            }
           
            // Node if present
            if (QNAME_NODE.equals(streamReader.getName()))
            {
                final TextElement nodeElement = new TextElement(streamReader) ;
                soapFault.setNode(nodeElement.getText()) ;
                if (StreamHelper.checkParentFinished(streamReader))
                {
                    return soapFault ;
                }
            }
            // Role if present
            if (QNAME_ROLE.equals(streamReader.getName()))
            {
                final TextElement roleElement = new TextElement(streamReader) ;
                soapFault.setRole(roleElement.getText()) ;
                if (StreamHelper.checkParentFinished(streamReader))
                {
                    return soapFault ;
                }
            }
           
            // Detail if present
            if (QNAME_DETAIL.equals(streamReader.getName()))
            {
                soapFault.setDetailElement(new NamedElement(null, new AnyElement(streamReader))) ;
                if (StreamHelper.checkParentFinished(streamReader))
                {
                    return soapFault ;
                }
            }
View Full Code Here


                                    addressingContext.setReplyTo(null) ;
                                   
                                    final AnyElement detail = new AnyElement() ;
                                    detail.putAnyContent(new NamedElement(AddressingConstants.WSA_ELEMENT_QNAME_PROBLEM_IRI, responseAddressingContext.getTo())) ;
                                    final NamedElement detailElement = new NamedElement(AddressingConstants.WSA_ELEMENT_QNAME_FAULT_DETAIL, detail) ;
                                    final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, AddressingConstants.WSA_FAULT_CODE_QNAME_DESTINATION_UNREACHABLE,
                                        "Destination unreachable", detailElement) ;
                                    soapFault.setAction(AddressingConstants.WSA_ACTION_FAULT) ;
                                    throw soapFault ;
                                }
                            }
                            return null ;
                        }
                    }
                }
            }
           
            return response ;
        }
        catch (final SoapFault soapFault)
        {
            final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
           
            final String soapFaultAction = soapFault.getAction() ;
            final String faultAction = (soapFaultAction != null ? soapFaultAction : AddressingConstants.WSA_ACTION_SOAP_FAULT) ;
           
            faultAddressingContext.setAction(new AttributedURIType(faultAction)) ;
           
            final AttributedURIType to = faultAddressingContext.getTo() ;
            if (to != null)
            {
                if (!to.isValid())
                {
                    if (WSCLogger.arjLoggerI18N.isDebugEnabled())
                    {
                        WSCLogger.arjLoggerI18N.debug("com.arjuna.webservices.wsaddr2005.handlers.AddressingInterceptorHandler_5") ;
                    }
                }
                else
                {
                    final String toURI = to.getValue() ;
                    if (!AddressingConstants.WSA_ADDRESS_ANONYMOUS.equals(toURI))
                    {
                        if (!AddressingConstants.WSA_ADDRESS_NONE.equals(toURI))
                        {
                            try
                            {
                                WSAddr2005Client.sendSoapFault(soapFault, faultAddressingContext,
                                        soapDetails, soapService) ;
                            }
                            catch (final IOException ioe)
                            {
                                throw new SoapFault10(ioe) ;
                            }
                        }
                        return null ;
                    }
                }
            }
           
            if (soapFault.isHeaderFault())
            {
                faultAddressingContext.updateSoapFaultHeaders(soapFault) ;
            }
            else
            {
View Full Code Here

        {
            throw soapFault ;
        }
        catch (final Throwable th)
        {
            throw new SoapFault10(th) ;
        }
    }
View Full Code Here

    {
        final AnyElement detail = new AnyElement() ;
        detail.putAnyContent(new NamedElement(AddressingConstants.WSA_ELEMENT_QNAME_PROBLEM_HEADER_QNAME, new AttributedQNameType(AddressingConstants.WSA_ELEMENT_QNAME_ACTION))) ;
       
        final NamedElement detailElement = new NamedElement(AddressingConstants.WSA_ELEMENT_QNAME_FAULT_DETAIL, detail) ;
        final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, AddressingConstants.WSA_FAULT_CODE_QNAME_MESSAGING_ADDRESSING_HEADER_REQUIRED,
            "Missing Addressing Header", detailElement) ;
        soapFault.setAction(AddressingConstants.WSA_ACTION_FAULT) ;
        soapFault.setHeaderFault(true) ;
        return soapFault ;
    }
View Full Code Here

        final AnyElement detail = new AnyElement() ;
        detail.putAnyContent(new NamedElement(AddressingConstants.WSA_ELEMENT_QNAME_PROBLEM_HEADER_QNAME, new AttributedQNameType(headerName))) ;
        detail.putAnyContent(new NamedElement(AddressingConstants.WSA_ELEMENT_QNAME_PROBLEM_HEADER, problemHeader)) ;
        final NamedElement detailElement = new NamedElement(AddressingConstants.WSA_ELEMENT_QNAME_FAULT_DETAIL, detail) ;
        final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, AddressingConstants.WSA_FAULT_CODE_QNAME_INVALID_ADDRESSING_HEADER,
            "Duplicate Addressing Header", detailElement) ;
        soapFault.setSubSubcode(AddressingConstants.WSA_FAULT_CODE_QNAME_INVALID_CARDINALITY) ;
        soapFault.setAction(AddressingConstants.WSA_ACTION_FAULT) ;
        soapFault.setHeaderFault(true) ;
        return soapFault ;
    }
View Full Code Here

    {
        StreamHelper.skipToStartElement(streamReader) ;
        if (!(SoapConstants.SOAP_ENVELOPE_NAME.equals(streamReader.getLocalName()) &&
            soapDetails.getNamespaceURI().equals(streamReader.getNamespaceURI())))
        {
            throw new SoapFault10(SoapFaultType.FAULT_VERSION_MISMATCH,
                streamReader.getName().toString()) ;
        }
       
        StreamHelper.skipToNextStartElement(streamReader) ;
       
        if (SoapConstants.SOAP_HEADER_NAME.equals(streamReader.getLocalName()) &&
            soapDetails.getNamespaceURI().equals(streamReader.getNamespaceURI()))
        {
            handleHeaders(messageContext, streamReader, soapService, soapDetails) ;
            streamReader.require(XMLStreamConstants.END_ELEMENT,
                soapDetails.getNamespaceURI(), SoapConstants.SOAP_HEADER_NAME) ;
            StreamHelper.skipToNextStartElement(streamReader) ;
        }
       
        if (!(SoapConstants.SOAP_BODY_NAME.equals(streamReader.getLocalName()) &&
            soapDetails.getNamespaceURI().equals(streamReader.getNamespaceURI())))
        {
            final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.soap.SoapParser_1") ;
            final String message = MessageFormat.format(pattern, new Object[] {streamReader.getName()}) ;
            throw new SoapFault10(SoapFaultType.FAULT_SENDER, message) ;
        }
       
        StreamHelper.skipToNextStartElement(streamReader) ;
        final QName bodyName = streamReader.getName() ;
        final BodyHandler bodyHandler ;
        final BodyHandler namedBodyHandler = soapService.getBodyHandler(bodyName) ;
        if (namedBodyHandler == null)
        {
            if (!bodyName.equals(soapDetails.getFaultName()))
            {
                final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.soap.SoapParser_2") ;
                final String message = MessageFormat.format(pattern, new Object[] {streamReader.getName()}) ;
                throw new SoapFault10(SoapFaultType.FAULT_SENDER, message) ;
            }
            bodyHandler = soapService.getFaultHandler() ;
        }
        else
        {
            bodyHandler = namedBodyHandler ;
        }
       
        final Set interceptorHandlers = soapService.getInterceptorHandlers() ;
        try
        {
            if (interceptorHandlers.size() > 0)
            {
                final Iterator interceptorHandlerIter = interceptorHandlers.iterator() ;
                InterceptorChain interceptorChain = new InterceptorBodyHandler(bodyHandler) ;
                do
                {
                    final InterceptorHandler handler = (InterceptorHandler)interceptorHandlerIter.next();
                    interceptorChain = new InterceptorChainHandler(interceptorChain, handler) ;
                }
                while (interceptorHandlerIter.hasNext()) ;
               
                return interceptorChain.invokeNext(soapService, soapDetails, messageContext, messageResponseContext, action, streamReader) ;
            }
            else
            {
                return bodyHandler.invoke(soapDetails, messageContext, messageResponseContext, action, streamReader) ;
            }
        }
        catch (final SoapFault sf)
        {
            throw sf ;
        }
        catch (final Throwable th)
        {
            throw new SoapFault10(th) ;
        }
    }
View Full Code Here

        if ((mustUnderstand != null) && ("1".equals(mustUnderstand) || "true".equalsIgnoreCase(mustUnderstand)))
        {
            final QName headerName = streamReader.getName() ;
            final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.soap.SoapParser_3") ;
            final String message = MessageFormat.format(pattern, new Object[] {streamReader.getName()}) ;
            final SoapFault10 soapFault = new SoapFault10(SoapFaultType.FAULT_MUST_UNDERSTAND, message) ;
            soapFault.setHeaderElements(soapDetails.getMustUnderstandHeaders(headerName)) ;
            throw soapFault ;
        }
    }
View Full Code Here

                return new SoapFaultMessage(sf, soapDetails, soapService, messageResponseContext) ;
            }
        }
        catch (final Throwable th)
        {
            return new SoapFaultMessage(new SoapFault10(th), soapDetails) ;
        }
    }
View Full Code Here

     * @message com.arjuna.webservices.soap.Soap11Details_1 [com.arjuna.webservices.soap.Soap11Details_1] - Unexpected start element: {0}
     */
    public SoapFault parseSoapFault(final XMLStreamReader streamReader)
        throws XMLStreamException
    {
        final SoapFault10 soapFault = new SoapFault10() ;
       
        // faultcode processing
        StreamHelper.checkNextStartTag(streamReader, QNAME_FAULTCODE) ;
        final TextElement codeElement = new TextElement(streamReader) ;
        final QName code = QNameHelper.toQName(streamReader.getNamespaceContext(), codeElement.getText()) ;
        if (!NAMESPACE_URI.equals(code.getNamespaceURI()))
        {
            soapFault.setSoapFaultType(SoapFaultType.FAULT_SENDER) ;
            soapFault.setSubcode(code) ;
        }
        else
        {
            soapFault.setSoapFaultType(getSoapFaultType(code)) ;
        }
       
        // faultstring processing
        StreamHelper.checkNextStartTag(streamReader, QNAME_FAULTSTRING) ;
        final TextElement reasonElement = new TextElement(streamReader) ;
        soapFault.setReason(reasonElement.getText()) ;
        if (StreamHelper.checkParentFinished(streamReader))
        {
            return soapFault ;
        }
       
        // faultactor if present
        if (QNAME_FAULTACTOR.equals(streamReader.getName()))
        {
            final TextElement roleElement = new TextElement(streamReader) ;
            soapFault.setRole(roleElement.getText()) ;
            if (StreamHelper.checkParentFinished(streamReader))
            {
                return soapFault ;
            }
        }
       
        // detail if present
        if (QNAME_DETAIL.equals(streamReader.getName()))
        {
            soapFault.setDetailElement(new NamedElement(null, new AnyElement(streamReader))) ;
            if (StreamHelper.checkParentFinished(streamReader))
            {
                return soapFault ;
            }
        }
View Full Code Here

                    responseAddressingContext = AddressingContext.createResponseContext(addressingContext, MessageId.getMessageId()) ;
                }
                catch (final InvalidCreateParametersException invalidCreateParametersException)
                {
                    final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                    final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, CoordinationConstants.WSCOOR_ERROR_CODE_INVALID_PARAMETERS_QNAME,
                        WSCLogger.log_mesg.getString("com.arjuna.wsc.messaging.ActivationCoordinatorProcessorImpl_1")) ;
                    ActivationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
                    return ;
                }
                catch (final Throwable th)
                {
                    if (WSCLogger.arjLoggerI18N.isDebugEnabled())
                    {
                        WSCLogger.arjLoggerI18N.debug("com.arjuna.wsc.messaging.ActivationCoordinatorProcessorImpl_2", th) ;
                    }
                    final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                    final SoapFault soapFault = new SoapFault10(th) ;
                    ActivationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
                    return ;
                }
                ActivationRequesterClient.getClient().sendCreateCoordinationResponse(responseAddressingContext, coordinationContext) ;
            }
            else
            {
                if (WSCLogger.arjLoggerI18N.isDebugEnabled())
                {
                    WSCLogger.arjLoggerI18N.debug("com.arjuna.wsc.messaging.ActivationCoordinatorProcessorImpl_3", new Object[] {coordinationType}) ;
                }
                final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, CoordinationConstants.WSCOOR_ERROR_CODE_INVALID_PARAMETERS_QNAME,
                    WSCLogger.log_mesg.getString("com.arjuna.wsc.messaging.ActivationCoordinatorProcessorImpl_1")) ;
                ActivationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
            }
        }
        catch (Throwable throwable)
View Full Code Here

TOP

Related Classes of com.arjuna.webservices.SoapFault10

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.