[jbossws-commits] JBossWS SVN: r9590 - in framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test: java/org/jboss/test/ws/jaxws/samples/exception and 1 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Thu Mar 12 08:57:35 EDT 2009
Author: darran.lofthouse at jboss.com
Date: 2009-03-12 08:57:35 -0400 (Thu, 12 Mar 2009)
New Revision: 9590
Added:
framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/TestHandler.java
framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/jaxws-handlers-server.xml
Modified:
framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/ant-import/build-jars-jaxws.xml
framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/ExceptionTestCase.java
framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/ExceptionEndpointImpl.java
Log:
[JBPAPP-1772] Fault handler chain is not called when user application exceptions are thrown.
Modified: framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/ant-import/build-jars-jaxws.xml
===================================================================
--- framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/ant-import/build-jars-jaxws.xml 2009-03-12 12:57:23 UTC (rev 9589)
+++ framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/ant-import/build-jars-jaxws.xml 2009-03-12 12:57:35 UTC (rev 9590)
@@ -90,6 +90,8 @@
<include name="org/jboss/test/ws/jaxws/samples/exception/server/ExceptionEndpoint.class"/>
<include name="org/jboss/test/ws/jaxws/samples/exception/server/ExceptionEndpointImpl.class"/>
<include name="org/jboss/test/ws/jaxws/samples/exception/server/UserException.class"/>
+ <include name="org/jboss/test/ws/jaxws/samples/exception/server/TestHandler.class"/>
+ <include name="org/jboss/test/ws/jaxws/samples/exception/server/jaxws-handlers-server.xml"/>
</classes>
</war>
Modified: framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/ExceptionTestCase.java
===================================================================
--- framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/ExceptionTestCase.java 2009-03-12 12:57:23 UTC (rev 9589)
+++ framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/ExceptionTestCase.java 2009-03-12 12:57:35 UTC (rev 9590)
@@ -91,7 +91,7 @@
catch (SOAPFaultException e)
{
String faultString = e.getFault().getFaultString();
- assertTrue(faultString.indexOf("oh no, a runtime exception occured.") >= 0);
+ assertTrue(faultString.indexOf("OH NO, A RUNTIME EXCEPTION OCCURED.") >= 0);
}
}
@@ -104,7 +104,7 @@
}
catch (SOAPFaultException e)
{
- assertEquals("this is a fault string!", e.getFault().getFaultString());
+ assertEquals("THIS IS A FAULT STRING!", e.getFault().getFaultString());
assertEquals("mr.actor", e.getFault().getFaultActor());
assertEquals("FooCode", e.getFault().getFaultCodeAsName().getLocalName());
assertEquals("http://foo", e.getFault().getFaultCodeAsName().getURI());
@@ -128,7 +128,7 @@
catch (UserException_Exception e)
{
UserException ue = e.getFaultInfo();
- assertEquals("Some validation error", ue.getMessage());
+ assertEquals("SOME VALIDATION ERROR", ue.getMessage());
assertEquals("validation", ue.getErrorCategory());
assertEquals(123, ue.getErrorCode());
}
Modified: framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/ExceptionEndpointImpl.java
===================================================================
--- framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/ExceptionEndpointImpl.java 2009-03-12 12:57:23 UTC (rev 9589)
+++ framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/ExceptionEndpointImpl.java 2009-03-12 12:57:35 UTC (rev 9590)
@@ -21,6 +21,7 @@
*/
package org.jboss.test.ws.jaxws.samples.exception.server;
+import javax.jws.HandlerChain;
import javax.jws.WebService;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPException;
@@ -30,6 +31,7 @@
@WebService(endpointInterface = "org.jboss.test.ws.jaxws.samples.exception.server.ExceptionEndpoint")
+ at HandlerChain(file = "jaxws-handlers-server.xml")
public class ExceptionEndpointImpl implements ExceptionEndpoint
{
public void throwRuntimeException()
Copied: framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/TestHandler.java (from rev 9515, framework/branches/jbossws-framework-2.0.1.GA_CP/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/TestHandler.java)
===================================================================
--- framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/TestHandler.java (rev 0)
+++ framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/TestHandler.java 2009-03-12 12:57:35 UTC (rev 9590)
@@ -0,0 +1,72 @@
+/*
+ * 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.test.ws.jaxws.samples.exception.server;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+
+import org.jboss.wsf.test.GenericSOAPHandler;
+
+/**
+ * A simple server side handler applying uppercase function to the error message strings.
+ *
+ * @author alessio.soldano at jboss.org
+ * @since 12-Feb-2008
+ */
+public class TestHandler extends GenericSOAPHandler
+{
+ @SuppressWarnings("unchecked")
+ public boolean handleFault(MessageContext msgContext)
+ {
+ try
+ {
+ SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
+ SOAPBody soapBody = soapMessage.getSOAPBody();
+ SOAPBodyElement soapBodyElement = (SOAPBodyElement)soapBody.getChildElements().next();
+ SOAPElement faultStringElement = (SOAPElement)soapBodyElement.getChildElements(new QName("faultstring")).next();
+ faultStringElement.setValue(faultStringElement.getValue().toUpperCase());
+ Iterator<SOAPElement> itDetail = soapBodyElement.getChildElements(new QName("detail"));
+ if (itDetail.hasNext())
+ {
+ Iterator<SOAPElement> itException = itDetail.next().getChildElements(new QName("http://server.exception.samples.jaxws.ws.test.jboss.org/","UserException"));
+ if (itException.hasNext())
+ {
+ SOAPElement messageElement = (SOAPElement)itException.next().getChildElements(new QName("message")).next();
+ messageElement.setValue(messageElement.getValue().toUpperCase());
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ throw new WebServiceException(e);
+ }
+ return true;
+ }
+}
Copied: framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/jaxws-handlers-server.xml (from rev 9515, framework/branches/jbossws-framework-2.0.1.GA_CP/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/jaxws-handlers-server.xml)
===================================================================
--- framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/jaxws-handlers-server.xml (rev 0)
+++ framework/branches/jbossws-framework-2.0.1.GA_CP03_JBPAPP-1772/src/test/java/org/jboss/test/ws/jaxws/samples/exception/server/jaxws-handlers-server.xml 2009-03-12 12:57:35 UTC (rev 9590)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee javaee_web_services_1_2.xsd">
+
+ <handler-chain>
+ <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+ <handler>
+ <handler-name>TestHandler</handler-name>
+ <handler-class>org.jboss.test.ws.jaxws.samples.exception.server.TestHandler</handler-class>
+ </handler>
+ </handler-chain>
+</handler-chains>
\ No newline at end of file
More information about the jbossws-commits
mailing list