Examples of XFireFault


Examples of org.codehaus.xfire.fault.XFireFault

    {
        if( msg == null || msg.getValue() == null || msg.getValue().length() == 0 ){
           // throw new RuntimeException("echo:EmptyEchoString");
            QName n = new QName("dd");
           
            XFireFault fault  = new XFireFault("msg",new QName("echo:EmptyEchoString"));
           //fault.addNamespace("echo","http://example.org/echo");
            throw fault;
        }
       
        return msg;
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

        if (versionEl == null) return;
       
        String version = versionEl.getValue();
        if (version == null || version.length() == 0)
        {
            throw new XFireFault("An empty version element is not allowed.", XFireFault.SENDER);
        }
       
        setVersion(version, context);
    }
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

    {
        Service service = context.getXFire().getServiceRegistry().getService("Echo" + version);
       
        if (service == null)
        {
            throw new XFireFault("Invalid version: " + version, XFireFault.SENDER);
        }
       
        context.setService(service);
   }
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

    implements Echo
{
    public Element echo(Element e)
        throws XFireFault
    {
        throw new XFireFault("Fault!", XFireFault.SENDER);
    }
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

public class ProviderService
{
    public Source invoke(Source source) throws XFireFault
    {
        if (source == null)
            throw new XFireFault("Invalid source.", XFireFault.SENDER);
       
        return source;
    }
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

                if (fault == null) {
                    fault = exchange.createFault();
                    exchange.setFault(fault);
                }
                fault.setContent(new StringSource(out.toString(charSet)));
                XFireFault xFault = (XFireFault) ctx.getExchange().getFaultMessage().getBody();
                fault.setProperty(SOAP_FAULT_CODE, xFault.getFaultCode());
                fault.setProperty(SOAP_FAULT_REASON, xFault.getReason());
                fault.setProperty(SOAP_FAULT_ROLE, xFault.getRole());
                fault.setProperty(SOAP_FAULT_SUBCODE, xFault.getSubCode());
            } else {
                String charSet = ctx.getOutMessage().getEncoding();
                NormalizedMessage outMsg = exchange.getMessage("out");
                if (outMsg == null) {
                    outMsg = exchange.createMessage();
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

        protected Exception translateException(Method method, Exception t) {
            if (!(t instanceof XFireFault)) {
                LOG.debug("Exception is not an XFireFault");
                return t;
            }
            XFireFault xfireFault = (XFireFault) t;
            if (!xfireFault.hasDetails()) {
                LOG.debug("XFireFault has no details");
                return t;
            }
            // Get first child element of <detail/>
            List details = xfireFault.getDetail().getContent();
            Element detail = null;
            for (Object o : details) {
                if (o instanceof Element) {
                    detail = (Element) o;
                    break;
                }
            }
            if (detail == null) {
                LOG.debug("XFireFault has no element in <detail/>");
                return t;
            }
            QName qname = new QName(detail.getNamespaceURI(),
                                    detail.getName());
            Class<?>[] exceptions = method.getExceptionTypes();
            for (int i = 0; i < exceptions.length; i++) {
                LOG.debug("Checking exception: " + exceptions[i]);
                WebFault wf = exceptions[i].getAnnotation(WebFault.class);
                if (wf == null) {
                    LOG.debug("No WebFault annotation");
                    continue;
                }
                QName exceptionName = new QName(wf.targetNamespace(), wf.name());
                if (exceptionName.equals(qname)) {
                    try {
                        Method mth = exceptions[i].getMethod("getFaultInfo");
                        Class<?> infoClass = mth.getReturnType();
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
                        XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(baos);
                        new StaxSerializer().writeElement(detail, writer);
                        writer.close();
                        ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
                        JAXBElement<?> obj = JAXBContext.newInstance(infoClass).createUnmarshaller()
                                .unmarshal(new StreamSource(bais), infoClass);
                        Constructor<?> cst = exceptions[i].getConstructor(String.class, infoClass);
                        return (Exception) cst.newInstance(xfireFault.toString(), obj.getValue());
                    } catch (Throwable e) {
                        LOG.debug("Error: " + e);
                    }
                } else {
                    LOG.debug("QName mismatch: element: " + qname + ", exception: " + exceptionName);
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

        throw new UnsupportedOperationException();
    }

    public void writeMessage(OutMessage message, XMLStreamWriter writer, MessageContext context) throws XFireFault {
        try {
            XFireFault fault = (XFireFault) message.getBody();
            if (fault.hasDetails()) {
                Element detail = fault.getDetail();
                StaxSerializer serializer = new StaxSerializer();
                List details = detail.getContent();
                for (int i = 0; i < details.size(); i++) {
                    serializer.writeElement((Element) details.get(i), writer);
                }
            } else {
                writer.writeStartElement("stack");
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                fault.printStackTrace(pw);
                pw.close();
                writer.writeCData(sw.toString());
                writer.writeEndElement(); // stack
            }
        } catch (XMLStreamException e) {
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

                if (!channel.sendSync(me)) {
                    throw new XFireException("Unable to send jbi exchange: sendSync returned false");
                }
                if (me.getStatus() == ExchangeStatus.ERROR) {
                    if (me.getError() != null) {
                        throw new XFireFault(me.getError(), XFireFault.RECEIVER);
                    } else {
                        throw new XFireFault("Unkown Error", XFireFault.RECEIVER);
                    }
                } else if (me.getStatus() == ExchangeStatus.ACTIVE) {
                    if (me.getFault() != null) {
                        JDOMResult result = new JDOMResult();
                        String str = getTransformer().contentToString(me.getFault());
                        getTransformer().toResult(new StringSource(str), result);
                        Element e = result.getDocument().getRootElement();
                        e = (Element) e.clone();
                        me.setStatus(ExchangeStatus.DONE);
                        channel.send(me);
                        XFireFault xfireFault = new XFireFault(str, XFireFault.RECEIVER);
                        xfireFault.getDetail().addContent(e);
                        throw xfireFault;
                    } else if (me.getMessage("out") != null) {
                        Source outSrc = me.getMessage("out").getContent();
                        InMessage inMessage = new InMessage(getTransformer().toXMLStreamReader(outSrc), getUri());
                        getEndpoint().onReceive(context, inMessage);
View Full Code Here

Examples of org.codehaus.xfire.fault.XFireFault

        throw new UnsupportedOperationException();
    }

    public void writeMessage(OutMessage message, XMLStreamWriter writer, MessageContext context) throws XFireFault {
        try {
            XFireFault fault = (XFireFault) message.getBody();
            writer.writeStartElement("fault");
            writer.writeStartElement("message");
            writer.writeCharacters(fault.getMessage());
            writer.writeEndElement(); // message
            if (fault.hasDetails()) {
                Element detail = fault.getDetail();
                writer.writeStartElement("detail");
                StaxSerializer serializer = new StaxSerializer();
                List details = detail.getContent();
                for (int i = 0; i < details.size(); i++) {
                    serializer.writeElement((Element) details.get(i), writer);
                }
                writer.writeEndElement(); // detail
            }
            if (configuration.isPrintStackTraceInFaults()) {
                writer.writeStartElement("stack");
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                fault.printStackTrace(pw);
                pw.close();
                writer.writeCData(sw.toString());
                writer.writeEndElement(); // stack
            }
            writer.writeEndElement(); // fault
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.