You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by da...@apache.org on 2007/01/15 17:32:45 UTC

svn commit: r496392 - in /webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core: SimpleResource.java routing/SimpleResourceRouter.java

Author: danj
Date: Mon Jan 15 08:32:44 2007
New Revision: 496392

URL: http://svn.apache.org/viewvc?view=rev&rev=496392
Log:
I have made the WS-A 1.0 faults that are thrown in muse-core more standards compliant - they now have all of 
the proper codes and sub-codes filled in, as well as the optional 'detail' section when appropriate. it was 
easier to just fill in the values using the SoapFault API than to create WSA fault classes - it would not 
have saved us any lines of code.

Modified:
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/SimpleResource.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/SimpleResourceRouter.java

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/SimpleResource.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/SimpleResource.java?view=diff&rev=496392&r1=496391&r2=496392
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/SimpleResource.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/SimpleResource.java Mon Jan 15 08:32:44 2007
@@ -33,8 +33,11 @@
 import org.apache.muse.util.LoggingUtils;
 import org.apache.muse.util.messages.Messages;
 import org.apache.muse.util.messages.MessagesFactory;
+import org.apache.muse.util.xml.XmlUtils;
 import org.apache.muse.ws.addressing.EndpointReference;
 import org.apache.muse.ws.addressing.MessageHeaders;
+import org.apache.muse.ws.addressing.WsaConstants;
+import org.apache.muse.ws.addressing.soap.SoapConstants;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 import org.apache.muse.ws.addressing.soap.SoapUtils;
 
@@ -331,9 +334,19 @@
         
         if (capability == null)
         {
+            //
+            // create and return WS-A ActionNotSupported fault
+            //
             Object[] filler = { getContextPath(), action };
-            SoapFault fault = new SoapFault(_MESSAGES.get("ActionNotSupported", filler));
-            return fault.toXML();
+            SoapFault wsaFault = new SoapFault(_MESSAGES.get("ActionNotSupported", filler));
+            wsaFault.setCode(SoapConstants.SENDER_QNAME);
+            wsaFault.setSubCode(WsaConstants.ACTION_NOT_SUPPORTED_FAULT_QNAME);
+            
+            Element detail = XmlUtils.createElement(WsaConstants.PROBLEM_ACTION_QNAME);
+            XmlUtils.setElement(detail, WsaConstants.ACTION_QNAME, action);
+            wsaFault.setDetail(detail);
+            
+            return wsaFault.toXML();
         }
         
         MessageHandler handler = capability.getMessageHandler(action);

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/SimpleResourceRouter.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/SimpleResourceRouter.java?view=diff&rev=496392&r1=496391&r2=496392
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/SimpleResourceRouter.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/SimpleResourceRouter.java Mon Jan 15 08:32:44 2007
@@ -32,6 +32,8 @@
 import org.apache.muse.util.messages.MessagesFactory;
 import org.apache.muse.ws.addressing.EndpointReference;
 import org.apache.muse.ws.addressing.MessageHeaders;
+import org.apache.muse.ws.addressing.WsaConstants;
+import org.apache.muse.ws.addressing.soap.SoapConstants;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -172,8 +174,14 @@
                 eprListing.append(i.next());
             }
             
+            //
+            // create and throw WS-A DestinationUnreachable fault
+            //            
             Object[] filler = { eprNotFound, eprListing };
-            throw new SoapFault(_MESSAGES.get("DestinationUnreachable", filler));
+            SoapFault wsaFault = new SoapFault(_MESSAGES.get("DestinationUnreachable", filler));
+            wsaFault.setCode(SoapConstants.SENDER_QNAME);
+            wsaFault.setSubCode(WsaConstants.DESTINATION_UNREACHABLE_FAULT_QNAME);            
+            throw wsaFault;
         }
         
         return resource;



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org