summaryrefslogtreecommitdiff
path: root/components/service_edge/src/service_edge_rpc.erl
diff options
context:
space:
mode:
Diffstat (limited to 'components/service_edge/src/service_edge_rpc.erl')
-rw-r--r--components/service_edge/src/service_edge_rpc.erl15
1 files changed, 8 insertions, 7 deletions
diff --git a/components/service_edge/src/service_edge_rpc.erl b/components/service_edge/src/service_edge_rpc.erl
index 354f724..c2f0503 100644
--- a/components/service_edge/src/service_edge_rpc.erl
+++ b/components/service_edge/src/service_edge_rpc.erl
@@ -195,7 +195,7 @@ handle_ws_json_rpc(WSock, "message", Params, _Arg ) ->
?debug("service_edge_rpc:handle_websocket(~p) parameters: ~p", [ WSock, Parameters ]),
[ Res, TID ] = gen_server:call(?SERVER, { rvi, handle_local_message,
- [ SvcName, Timeout, [{struct, Parameters}]]}),
+ [ SvcName, Timeout, Parameters]}),
?debug("service_edge_rpc:wse_message(~p) Res: ~p", [ WSock, Res ]),
{ ok, [ { status, rvi_common:json_rpc_status(Res) },
@@ -437,7 +437,7 @@ handle_call({ rvi, handle_local_message,
?debug("service_edge_rpc:local_msg(): Service is local. Forwarding."),
Res = forward_message_to_local_service(URL,
SvcName,
- Parameters,
+ {struct, Parameters},
St#st.cs),
{ reply, Res , St};
@@ -492,6 +492,7 @@ handle_cast({rvi, handle_remote_message,
%% Check if this is a local message.
case ets:lookup(?SERVICE_TABLE, SvcName) of
[ #service_entry { url = URL }] -> %% This is a local message
+ {struct, Parameters1} = Parameters,
case authorize_rpc:authorize_remote_message(
St#st.cs,
SvcName,
@@ -500,7 +501,7 @@ handle_cast({rvi, handle_remote_message,
{service_name, SvcName},
{timeout, Timeout},
%% {parameters, [ {struct, Parameters}]},
- {parameters, Parameters},
+ {parameters, Parameters1},
{signature, Signature}]) of
[ ok ] ->
forward_message_to_local_service(URL, SvcName,
@@ -609,8 +610,8 @@ dispatch_to_local_service([ $w, $s, $: | WSPidStr], services_unavailable,
ok;
dispatch_to_local_service([ $w, $s, $: | WSPidStr], message,
- {struct, [{ service_name, SvcName},
- { parameters, { struct, Parameters} }
+ {struct, [{ service_name, SvcName },
+ { parameters, Parameters }
]} ) ->
?info("service_edge:dispatch_to_local_service(message, websock): ~p",
@@ -618,7 +619,7 @@ dispatch_to_local_service([ $w, $s, $: | WSPidStr], message,
wse_server:send(list_to_pid(WSPidStr),
json_rpc_notification("message",
[{ "service_name", SvcName},
- {parameters, { struct, Parameters}}])),
+ {parameters, Parameters}])),
%% No response expected.
?debug("service_edge:dispatch_to_local_service(message, websock): Done"),
ok;
@@ -661,7 +662,7 @@ forward_message_to_local_service(URL,SvcName, Parameters, _CompSpec) ->
dispatch_to_local_service(URL,
message,
{struct, [ { service_name, LocalSvcName },
- { parameters, { struct, Parameters }}]}))
+ { parameters, Parameters }]}))
end),
[ ok, -1 ].