diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2011-10-10 07:07:31 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2011-10-10 07:07:31 +0000 |
commit | cd0891e54e0e4e9123f029f3a4f9689c15598337 (patch) | |
tree | 48c7e5ee175c2cb47adf4aceb619ddf66072bd06 /sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider | |
parent | 5edad53664c23e540bea5ed336bbfa3948bb1035 (diff) |
Fix the invoker to serialize the objects to json
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1180795 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider')
-rw-r--r-- | sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcInvoker.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcInvoker.java b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcInvoker.java index b3781d88de..efba2ac1ac 100644 --- a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcInvoker.java +++ b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JsonRpcInvoker.java @@ -40,6 +40,7 @@ import org.apache.tuscany.sca.assembly.EndpointReference; import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding; import org.apache.tuscany.sca.binding.jsonrpc.protocol.JsonRpc10Request; import org.apache.tuscany.sca.binding.jsonrpc.protocol.JsonRpc20Request; +import org.apache.tuscany.sca.binding.jsonrpc.protocol.JsonRpcRequest; import org.apache.tuscany.sca.databinding.json.JSONDataBinding; import org.apache.tuscany.sca.databinding.json.jackson.JacksonHelper; import org.apache.tuscany.sca.interfacedef.DataType; @@ -92,21 +93,23 @@ public class JsonRpcInvoker implements Invoker, DataExchangeSemantics { params = (Object[])args; } - JSONObject jsonReq = null; + JsonRpcRequest req = null; if (JSONRPCBinding.VERSION_20.equals(((JSONRPCBinding)endpointReference.getBinding()).getVersion())) { - JsonRpc20Request req = new JsonRpc20Request(requestId, msg.getOperation().getName(), params); - jsonReq = req.toJSONObject(); + req = new JsonRpc20Request(requestId, msg.getOperation().getName(), params); } else { - JsonRpc10Request req = new JsonRpc10Request(requestId, msg.getOperation().getName(), params); - jsonReq = req.toJSONObject(); + req = new JsonRpc10Request(requestId, msg.getOperation().getName(), params); } - final String json = jsonReq.toString(4); + final JsonRpcRequest json = req; // Create content producer so that we can stream the json result out ContentProducer cp = new ContentProducer() { public void writeTo(OutputStream outstream) throws IOException { // mapper.writeValue(outstream, req.toJSONObject().toString()); - outstream.write(json.getBytes("UTF-8")); + try { + json.write(outstream); + } catch (Exception e) { + throw new IOException(e); + } } }; entity = new EntityTemplate(cp); |