summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc')
-rw-r--r--sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc10Request.java2
-rw-r--r--sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java2
-rw-r--r--sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcServlet.java16
3 files changed, 14 insertions, 6 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc10Request.java b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc10Request.java
index e4ae943685..82eb6ea2f4 100644
--- a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc10Request.java
+++ b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc10Request.java
@@ -80,7 +80,7 @@ public class JsonRpc10Request {
}
public boolean isNotification() {
- return id == null;
+ return id == null || id == JSONObject.NULL;
}
public String getMethod() {
diff --git a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java
index 2ee18bcf5a..e73f049545 100644
--- a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java
+++ b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java
@@ -101,7 +101,7 @@ public class JsonRpc20Request {
}
public boolean isNotification() {
- return id == null;
+ return id == null || id == JSONObject.NULL;
}
public String getMethod() {
diff --git a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcServlet.java b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcServlet.java
index 9e4ef8168b..a183d2211c 100644
--- a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcServlet.java
+++ b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcServlet.java
@@ -165,11 +165,15 @@ public class JsonRpcServlet extends HttpServlet {
if (input.has("jsonrpc")) {
JsonRpc20Request jsonReq = new JsonRpc20Request(input);
JsonRpc20Result jsonResult = invoke(jsonReq);
- jsonResult.write(response.getWriter());
+ if (jsonResult != null) {
+ jsonResult.write(response.getWriter());
+ }
} else {
JsonRpc10Request jsonReq = new JsonRpc10Request(input);
JsonRpc10Response jsonResult = invoke(jsonReq);
- jsonResult.write(response.getWriter());
+ if (jsonResult != null) {
+ jsonResult.write(response.getWriter());
+ }
}
}
} catch (Throwable e) {
@@ -178,7 +182,9 @@ public class JsonRpcServlet extends HttpServlet {
}
private JsonRpc20Result invoke(JsonRpc20Request request) throws Exception {
-
+ if (request.isNotification()) {
+ return null;
+ }
// invoke the request
String method = request.getMethod();
Object[] params = request.getParams();
@@ -251,7 +257,9 @@ public class JsonRpcServlet extends HttpServlet {
}
private JsonRpc10Response invoke(JsonRpc10Request request) throws Exception {
-
+ if (request.isNotification()) {
+ return null;
+ }
// invoke the request
String method = request.getMethod();
Object[] params = request.getParams();