diff --git a/web/api/src/main/java/org/onosproject/rest/exceptions/WebApplicationExceptionMapper.java b/web/api/src/main/java/org/onosproject/rest/exceptions/WebApplicationExceptionMapper.java
new file mode 100644
index 0000000..f47e604
--- /dev/null
+++ b/web/api/src/main/java/org/onosproject/rest/exceptions/WebApplicationExceptionMapper.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.rest.exceptions;
+
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Response;
+
+/**
+ * Exception mapper for WebApplicationExceptions.
+ */
+public class WebApplicationExceptionMapper extends AbstractMapper<WebApplicationException> {
+
+    /**
+     * Extracts and returns the response from a WebApplicationException.
+     *
+     * @param e WebApplicationException that was thrown
+     * @return precomputed Response from the exception
+     */
+    @Override
+    public Response toResponse(WebApplicationException e) {
+        return e.getResponse();
+    }
+
+    @Override
+    public Response.Status responseStatus() {
+        // This should never be called because this class overrides toResponse()
+        throw new UnsupportedOperationException(
+                "responseStatus() for a WebApplicationException should never be called");
+    }
+}
