summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/binding-jsonrpc-runtime/src
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-07 20:52:32 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-07 20:52:32 +0000
commitc9ff2401831abb38a120ce7512862ca737de94ca (patch)
treefb25cc6d5e76806b19c35142ee97bbc82399a6bf /java/sca/modules/binding-jsonrpc-runtime/src
parentdfa48b369187a71c6d2966992bacf74d7017cbc2 (diff)
Upgrade to jabsorb 1.3.1 (json-rpc) and jettision 1.1
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@822905 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/binding-jsonrpc-runtime/src')
-rw-r--r--java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java9
-rw-r--r--java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java2
-rw-r--r--java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java30
3 files changed, 20 insertions, 21 deletions
diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java
index abad796ef0..9767f6f46b 100644
--- a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java
+++ b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java
@@ -19,10 +19,9 @@
package org.apache.tuscany.sca.binding.jsonrpc.provider;
-import java.io.ByteArrayInputStream;
-
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding;
import org.apache.tuscany.sca.interfacedef.Operation;
@@ -52,8 +51,6 @@ public class JSONRPCBindingInvoker implements Invoker {
}
public Message invoke(Message msg) {
- Object[] jsonArgs = (Object[])msg.getBody();
-
PostMethod post = null;
try {
@@ -79,7 +76,9 @@ public class JSONRPCBindingInvoker implements Invoker {
}
post = new PostMethod(uri);
- post.setRequestBody(new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")));
+ String req = jsonRequest.toString();
+ StringRequestEntity entity = new StringRequestEntity(req, "application/json", "UTF-8");
+ post.setRequestEntity(entity);
httpClient.executeMethod(post);
int status = post.getStatusCode();
diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java
index b0da1ff5cf..a0581b4237 100644
--- a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java
+++ b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java
@@ -74,7 +74,7 @@ public class JSONRPCReferenceBindingProvider implements ReferenceBindingProvider
}
public Invoker createInvoker(Operation operation) {
- return new JSONRPCBindingInvoker(endpointReference, operation, httpClient);
+ return new JSONRPCClientInvoker(endpointReference, operation, httpClient);
}
public void start() {
diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java
index f3ece2c80b..71d335acc8 100644
--- a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java
+++ b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java
@@ -38,14 +38,14 @@ import org.apache.tuscany.sca.invocation.Message;
import org.apache.tuscany.sca.invocation.MessageFactory;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
import org.apache.tuscany.sca.runtime.RuntimeWire;
+import org.jabsorb.JSONRPCBridge;
+import org.jabsorb.JSONRPCResult;
+import org.jabsorb.JSONRPCServlet;
import org.json.JSONArray;
+import org.json.JSONException;
import org.json.JSONObject;
import org.oasisopen.sca.ServiceRuntimeException;
-import com.metaparadigm.jsonrpc.JSONRPCBridge;
-import com.metaparadigm.jsonrpc.JSONRPCResult;
-import com.metaparadigm.jsonrpc.JSONRPCServlet;
-
/**
* Servlet that handles JSON-RPC requests invoking SCA services.
*
@@ -154,10 +154,14 @@ public class JSONRPCServiceServlet extends JSONRPCServlet {
// check if it's a system request
// or a method invocation
byte[] bout;
- if (method.startsWith("system.")) {
- bout = handleJSONRPCSystemInvocation(request, response, data.toString());
- } else {
- bout = handleJSONRPCMethodInvocation(request, response, jsonReq);
+ try {
+ if (method.startsWith("system.")) {
+ bout = handleJSONRPCSystemInvocation(request, response, data.toString());
+ } else {
+ bout = handleJSONRPCMethodInvocation(request, response, jsonReq);
+ }
+ } catch (JSONException e) {
+ throw new RuntimeException(e);
}
// Send response to client
@@ -182,7 +186,7 @@ public class JSONRPCServiceServlet extends JSONRPCServlet {
}
protected byte[] handleJSONRPCSystemInvocation(HttpServletRequest request, HttpServletResponse response, String requestData) throws IOException,
- UnsupportedEncodingException {
+ UnsupportedEncodingException, JSONException {
/*
* Create a new bridge for every request to avoid all the problems with
* JSON-RPC-Java storing the bridge in the session
@@ -194,12 +198,8 @@ public class JSONRPCServiceServlet extends JSONRPCServlet {
session.setAttribute("JSONRPCBridge", jsonrpcBridge);
org.json.JSONObject jsonReq = null;
- com.metaparadigm.jsonrpc.JSONRPCResult jsonResp = null;
- try {
- jsonReq = new org.json.JSONObject(requestData);
- } catch (java.text.ParseException e) {
- throw new RuntimeException("Unable to parse request", e);
- }
+ JSONRPCResult jsonResp = null;
+ jsonReq = new org.json.JSONObject(requestData);
String method = jsonReq.getString("method");
if ((method != null) && (method.indexOf('.') < 0)) {