[jbossws-commits] JBossWS SVN: r3677 - in branches/jbossws-2.0: jbossws-core/src/main/java/org/jboss/ws/core and 5 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Thu Jun 21 10:40:45 EDT 2007
Author: thomas.diesler at jboss.com
Date: 2007-06-21 10:40:45 -0400 (Thu, 21 Jun 2007)
New Revision: 3677
Added:
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPFaultException.java
Modified:
branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/SOAPFaultHelperJAXRPC.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/SOAPFaultHelperJAXWS.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPEnvelopeImpl.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
Log:
[JBWS-805] Fault code is always 'Client'
Modified: branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
===================================================================
--- branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2007-06-21 13:10:11 UTC (rev 3676)
+++ branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -58,6 +58,7 @@
import org.jboss.ws.core.CommonBinding;
import org.jboss.ws.core.CommonBindingProvider;
import org.jboss.ws.core.CommonMessageContext;
+import org.jboss.ws.core.CommonSOAPFaultException;
import org.jboss.ws.core.HTTPMessageImpl;
import org.jboss.ws.core.MessageAbstraction;
import org.jboss.ws.core.MessageTrace;
@@ -339,7 +340,7 @@
{
QName faultCode = Constants.SOAP11_FAULT_CODE_SERVER;
String faultString = "Endpoint cannot handle requests in state: " + state;
- throw new SOAPFaultException(faultCode, faultString, null, null);
+ throw new CommonSOAPFaultException(faultCode, faultString);
}
log.debug("BEGIN handleRequest: " + ep.getName());
Added: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPFaultException.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPFaultException.java (rev 0)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPFaultException.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core;
+
+// $Id: SOAPFaultException.java 3509 2007-06-08 15:50:12Z thomas.diesler at jboss.com $
+
+import javax.xml.namespace.QName;
+
+/**
+ * The SOAPFaultException exception represents a SOAP fault.
+ *
+ * @author Thomas.Diesler at jboss.org
+ */
+public class CommonSOAPFaultException extends RuntimeException
+{
+ private QName faultCode;
+ private String faultString;
+
+ public CommonSOAPFaultException(QName faultCode, String faultString)
+ {
+ super(faultString);
+
+ this.faultCode = faultCode;
+ this.faultString = faultString;
+ }
+
+ public QName getFaultCode()
+ {
+ return faultCode;
+ }
+
+ public String getFaultString()
+ {
+ return faultString;
+ }
+}
Property changes on: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPFaultException.java
___________________________________________________________________
Name: svn:executable
+ *
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/SOAPFaultHelperJAXRPC.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/SOAPFaultHelperJAXRPC.java 2007-06-21 13:10:11 UTC (rev 3676)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/SOAPFaultHelperJAXRPC.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -39,7 +39,6 @@
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPFault;
-import javax.xml.soap.SOAPMessage;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
@@ -48,7 +47,7 @@
import org.jboss.ws.Constants;
import org.jboss.ws.WSException;
import org.jboss.ws.core.CommonMessageContext;
-import org.jboss.ws.core.MessageAbstraction;
+import org.jboss.ws.core.CommonSOAPFaultException;
import org.jboss.ws.core.jaxrpc.binding.BindingException;
import org.jboss.ws.core.jaxrpc.binding.DeserializerFactoryBase;
import org.jboss.ws.core.jaxrpc.binding.DeserializerSupport;
@@ -181,9 +180,18 @@
{
faultEx = (SOAPFaultException)reqEx;
}
+ else if (reqEx instanceof CommonSOAPFaultException)
+ {
+ CommonSOAPFaultException soapEx = (CommonSOAPFaultException)reqEx;
+ QName faultCode = soapEx.getFaultCode();
+ String faultString = soapEx.getFaultString();
+ Throwable cause = soapEx.getCause();
+ faultEx = new SOAPFaultException(faultCode, faultString, null, null);
+ faultEx.initCause(cause);
+ }
else
{
- QName faultCode = Constants.SOAP11_FAULT_CODE_CLIENT;
+ QName faultCode = Constants.SOAP11_FAULT_CODE_SERVER;
String faultString = (reqEx.getMessage() != null ? reqEx.getMessage() : reqEx.toString());
faultEx = new SOAPFaultException(faultCode, faultString, null, null);
faultEx.initCause(reqEx);
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/SOAPFaultHelperJAXWS.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/SOAPFaultHelperJAXWS.java 2007-06-21 13:10:11 UTC (rev 3676)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/SOAPFaultHelperJAXWS.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -26,7 +26,6 @@
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPFault;
-import javax.xml.soap.SOAPMessage;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
@@ -36,7 +35,7 @@
import org.jboss.logging.Logger;
import org.jboss.ws.Constants;
import org.jboss.ws.core.CommonMessageContext;
-import org.jboss.ws.core.MessageAbstraction;
+import org.jboss.ws.core.CommonSOAPFaultException;
import org.jboss.ws.core.jaxrpc.SOAPFaultHelperJAXRPC;
import org.jboss.ws.core.jaxrpc.binding.BindingException;
import org.jboss.ws.core.jaxrpc.binding.DeserializerFactoryBase;
@@ -153,10 +152,8 @@
{
faultMessage = toSOAPMessage((SOAPFaultException)reqEx);
}
- else if (reqEx instanceof javax.xml.rpc.soap.SOAPFaultException)
+ else if (reqEx instanceof CommonSOAPFaultException)
{
- /* this exception should not occur in JAX-WS endpoints, but JBossWS
- * throws it to signal internal error conditions */
faultMessage = SOAPFaultHelperJAXRPC.exceptionToFaultMessage(reqEx);
}
else
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java 2007-06-21 13:10:11 UTC (rev 3676)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -44,6 +44,7 @@
import org.jboss.ws.core.CommonBindingProvider;
import org.jboss.ws.core.CommonMessageContext;
import org.jboss.ws.core.CommonSOAPBinding;
+import org.jboss.ws.core.CommonSOAPFaultException;
import org.jboss.ws.core.DirectionHolder;
import org.jboss.ws.core.EndpointInvocation;
import org.jboss.ws.core.MessageAbstraction;
@@ -413,12 +414,12 @@
if (soapHeader != null && soapHeader.examineMustUnderstandHeaderElements(Constants.URI_SOAP11_NEXT_ACTOR).hasNext())
{
QName faultCode = Constants.SOAP11_FAULT_CODE_MUST_UNDERSTAND;
- throw new SOAPFaultException(faultCode, faultString, null, null);
+ throw new CommonSOAPFaultException(faultCode, faultString);
}
else
{
QName faultCode = Constants.SOAP11_FAULT_CODE_CLIENT;
- throw new SOAPFaultException(faultCode, faultString, null, null);
+ throw new CommonSOAPFaultException(faultCode, faultString);
}
}
}
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-06-21 13:10:11 UTC (rev 3676)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -41,6 +41,7 @@
import org.jboss.logging.Logger;
import org.jboss.ws.Constants;
import org.jboss.ws.WSException;
+import org.jboss.ws.core.CommonSOAPFaultException;
import org.jboss.wsf.spi.utils.DOMUtils;
import org.w3c.dom.Comment;
import org.w3c.dom.Document;
@@ -88,7 +89,8 @@
{
return null;
}
- throw ex;
+ QName faultCode = Constants.SOAP11_FAULT_CODE_CLIENT;
+ throw new CommonSOAPFaultException(faultCode, ex.getMessage());
}
return build(soapMessage, domEnv);
@@ -108,7 +110,8 @@
{
return null;
}
- throw ex;
+ QName faultCode = Constants.SOAP11_FAULT_CODE_CLIENT;
+ throw new CommonSOAPFaultException(faultCode, ex.getMessage());
}
return build(soapMessage, domEnv);
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPEnvelopeImpl.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPEnvelopeImpl.java 2007-06-21 13:10:11 UTC (rev 3676)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPEnvelopeImpl.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -37,6 +37,7 @@
import javax.xml.soap.SOAPMessage;
import org.jboss.ws.Constants;
+import org.jboss.ws.core.CommonSOAPFaultException;
import org.w3c.dom.Document;
/**
@@ -199,7 +200,7 @@
{
QName faultCode = Constants.SOAP11_FAULT_CODE_VERSION_MISMATCH;
String faultString = "Invalid SOAP envelope namespace: " + namespaceURI;
- throw new SOAPFaultException(faultCode, faultString, null, null);
+ throw new CommonSOAPFaultException(faultCode, faultString);
}
}
}
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2007-06-21 13:10:11 UTC (rev 3676)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2007-06-21 14:40:45 UTC (rev 3677)
@@ -35,6 +35,7 @@
import org.jboss.logging.Logger;
import org.jboss.ws.WSException;
import org.jboss.ws.core.CommonMessageContext;
+import org.jboss.ws.core.CommonSOAPFaultException;
import org.jboss.ws.core.StubExt;
import org.jboss.ws.core.soap.SOAPMessageImpl;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
@@ -98,9 +99,9 @@
return operation.getConfig();
}
- private static SOAPFaultException convertToFault(WSSecurityException e)
+ private static CommonSOAPFaultException convertToFault(WSSecurityException e)
{
- return new SOAPFaultException(e.getFaultCode(), e.getFaultString(), null, null);
+ return new CommonSOAPFaultException(e.getFaultCode(), e.getFaultString());
}
public static void handleInbound(CommonMessageContext ctx) throws SOAPException, SOAPFaultException
More information about the jbossws-commits
mailing list