diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-07 20:52:32 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-07 20:52:32 +0000 |
commit | c9ff2401831abb38a120ce7512862ca737de94ca (patch) | |
tree | fb25cc6d5e76806b19c35142ee97bbc82399a6bf /java/sca/modules/binding-jsonrpc-runtime/src | |
parent | dfa48b369187a71c6d2966992bacf74d7017cbc2 (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')
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)) { |