Package com.arjuna.webservices

Examples of com.arjuna.webservices.SoapFault10


        throws SoapFault, IOException
    {
        final SoapMessage response = invokeRequest(request, url) ;
        if (response == null)
        {
            throw new SoapFault10(SoapFaultType.FAULT_SENDER, WSCLogger.log_mesg.getString("com.arjuna.webservices.transport.http.HttpClient_1")) ;
        }
        return response ;
    }
View Full Code Here


        {
            serviceURL = new URL(url) ;
        }
        catch (final MalformedURLException murle)
        {
            throw new SoapFault10(SoapFaultType.FAULT_SENDER, WSCLogger.log_mesg.getString("com.arjuna.webservices.transport.http.HttpClient_2")) ;
        }
       
        final boolean threadLogEnabled = SoapMessageLogging.isThreadLogEnabled() ;
        final String requestContents ;
        if (threadLogEnabled)
        {
            requestContents = serialiseRequest(request) ;
            SoapMessageLogging.appendThreadLog(requestContents) ;
        }
        else
        {
            requestContents = null ;
        }
       
        final HttpURLConnection httpURLConnection ;
        try
        {
            httpURLConnection = (HttpURLConnection)serviceURL.openConnection() ;
        }
        catch (final ClassCastException cce)
        {
            throw new SoapFault10(SoapFaultType.FAULT_SENDER, WSCLogger.log_mesg.getString("com.arjuna.webservices.transport.http.HttpClient_3")) ;
        }
       
        httpURLConnection.setDoOutput(true) ;
        httpURLConnection.setUseCaches(false) ;
       
        final int numHeaders = HTTP_HEADERS.length ;
        for(int count = 0 ; count < numHeaders ; count++)
        {
            final String[] header = HTTP_HEADERS[count] ;
            httpURLConnection.setRequestProperty(header[0], header[1]) ;
        }
       
        final SoapDetails soapDetails = request.getSoapDetails() ;
        final String contentType = HttpUtils.getContentType(soapDetails) ;
        httpURLConnection.setRequestProperty(HttpUtils.HTTP_CONTENT_TYPE_HEADER, contentType + HttpUtils.HTTP_DEFAULT_CHARSET_PARAMETER) ;
        httpURLConnection.setRequestProperty(HttpUtils.HTTP_ACCEPT_HEADER, contentType) ;
       
        final String requestAction = request.getAction() ;
        final String actionValue = (requestAction == null ? "" : requestAction) ;
       
        // KEV - fix action handling for different SOAP versions
        httpURLConnection.setRequestProperty(HttpUtils.SOAP_ACTION_HEADER, '"' + actionValue + '"') ;
       
        if (requestContents != null)
        {
            httpURLConnection.setRequestProperty(HttpUtils.HTTP_CONTENT_LENGTH_HEADER,
                Integer.toString(requestContents.length())) ;
        }
       
        final int port = serviceURL.getPort() ;
        final String host = (port > 0 ? serviceURL.getHost() + ":" + port : serviceURL.getHost()) ;
        httpURLConnection.setRequestProperty(HttpUtils.HTTP_HOST_HEADER, host) ;
        httpURLConnection.setRequestMethod("POST") ;
       
        httpURLConnection.connect() ;
        final OutputStream os = httpURLConnection.getOutputStream() ;
        try
        {
            final PrintWriter writer = new PrintWriter(os) ;
            if (requestContents != null)
            {
                writer.print(requestContents) ;
            }
            else
            {
                request.output(writer) ;
            }
            writer.flush() ;
        }
        finally
        {
            os.close() ;
        }
       
        final int responseCode = httpURLConnection.getResponseCode() ;
       
        if ((responseCode != HttpURLConnection.HTTP_OK) &&
            (responseCode != HttpURLConnection.HTTP_ACCEPTED) &&
            (responseCode != HttpURLConnection.HTTP_INTERNAL_ERROR))
        {
            final String pattern = WSCLogger.log_mesg.getString("com.arjuna.webservices.transport.http.HttpClient_4") ;
            final String message = MessageFormat.format(pattern, new Object[] {new Integer(responseCode)}) ;
            throw new SoapFault10(SoapFaultType.FAULT_SENDER, message) ;
        }
       
        final String fullResponseContentType = httpURLConnection.getContentType() ;
//        final String responseContentType = HttpUtils.getContentType(fullResponseContentType) ;
        // Ignore responses that aren't the same version of SOAP
View Full Code Here

                    responseAddressingContext = AddressingContext.createResponseContext(addressingContext, MessageId.getMessageId()) ;
                }
                catch (final AlreadyRegisteredException alreadyRegisteredException)
                {
                    final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                    final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, CoordinationConstants.WSCOOR_ERROR_CODE_ALREADY_REGISTERED_QNAME,
                        WSCLogger.log_mesg.getString("com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl_1")) ;
                    RegistrationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
                    return ;
                }
                catch (final InvalidProtocolException invalidProtocolException)
                {
                    final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                    final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, CoordinationConstants.WSCOOR_ERROR_CODE_INVALID_PROTOCOL_QNAME,
                        WSCLogger.log_mesg.getString("com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl_2")) ;
                    RegistrationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
                    return ;
                }
                catch (final InvalidStateException InvalidStateException)
                {
                    final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                    final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, CoordinationConstants.WSCOOR_ERROR_CODE_INVALID_STATE_QNAME,
                        WSCLogger.log_mesg.getString("com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl_3")) ;
                    RegistrationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
                    return ;
                }
                catch (final NoActivityException noActivityException)
                {
                    final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                    final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, CoordinationConstants.WSCOOR_ERROR_CODE_NO_ACTIVITY_QNAME,
                        WSCLogger.log_mesg.getString("com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl_4")) ;
                    RegistrationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
                    return ;
                }
                catch (final Throwable th)
                {
                    if (WSCLogger.arjLoggerI18N.isDebugEnabled())
                    {
                        WSCLogger.arjLoggerI18N.debug("com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl_5", th) ;
                    }
                    final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                    final SoapFault soapFault = new SoapFault10(th) ;
                    RegistrationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
                    return ;
                }
                RegistrationRequesterClient.getClient().sendRegisterResponse(responseAddressingContext, coordinationProtocolService) ;
            }
            else
            {
                if (WSCLogger.arjLoggerI18N.isDebugEnabled())
                {
                    WSCLogger.arjLoggerI18N.debug("com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl_6", new Object[] {protocolIdentifier}) ;
                }
                final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
                final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, CoordinationConstants.WSCOOR_ERROR_CODE_INVALID_PROTOCOL_QNAME,
                    WSCLogger.log_mesg.getString("com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl_2")) ;
                RegistrationRequesterClient.getClient().sendSoapFault(faultAddressingContext, soapFault) ;
            }
        }
        catch (Throwable throwable)
View Full Code Here

        InstanceIdentifier.setEndpointInstanceIdentifier(completionInitiatorService, instanceIdentifier) ;
        final AddressingContext addressingContext = AddressingContext.createRequestContext(completionInitiatorService, messageId) ;
       
        final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
        final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
        final SoapFault soapFault = new SoapFault10(soapFaultType, subcode, reason) ;
       
        final TestCompletionInitiatorCallback callback = new TestCompletionInitiatorCallback() {
            public void soapFault(final SoapFault soapFault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
            {
                assertEquals(addressingContext.getTo().getValue(), completionInitiatorServiceURI);
                assertEquals(addressingContext.getFrom().getAddress().getValue(), completionCoordinatorServiceURI);
                assertNull(addressingContext.getReplyTo());
                assertEquals(addressingContext.getMessageID().getValue(), messageId);
               
                assertNotNull(soapFault) ;
                assertEquals(soapFaultType, soapFault.getSoapFaultType()) ;
                assertEquals(subcode, soapFault.getSubcode()) ;
                assertEquals(reason, soapFault.getReason()) ;
               
                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
            }
        };
View Full Code Here

        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("4") ;
       
        final String reason = "testSendErrorReason" ;
        final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
        final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
        final SoapFault soapFault = new SoapFault10(soapFaultType, subcode, reason) ;
       
        ParticipantClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender")) ;
       
        final ParticipantDetails details = testParticipantProcessor.getParticipantDetails(messageId, 10000) ;
        final SoapFault receivedSoapFault = details.getSoapFault() ;
View Full Code Here

        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorServiceURI, messageId);
        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("5");
        final String reason = "testSendErrorReason" ;
        final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
        final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
        final SoapFault soapFault = new SoapFault10(soapFaultType, subcode, reason) ;

        // for this test we use the soap fault client to send a message where we have no valid instance identifier
        // we could also test the case where we have an instance identifier but it never gets exercised anyway!
        CoordinatorClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender"));

        CoordinatorDetails details = testCoordinatorProcessor.getCoordinatorDetails(messageId, 10000);
        assertNotNull(details.hasSoapFault());
        assertEquals(details.hasSoapFault().getSoapFaultType(), soapFault.getSoapFaultType());
        assertEquals(details.hasSoapFault().getReason(), soapFault.getReason());
        assertEquals(details.hasSoapFault().getSubcode(), soapFault.getSubcode());
        // don't expect reply to address nor an identifier
        checkDetails(details, false, messageId, null);
    }
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.