diff options
Diffstat (limited to 'branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server')
2 files changed, 20 insertions, 16 deletions
diff --git a/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServer.java b/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServer.java index 8ea2395d04..7f3a4f9ac3 100644 --- a/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServer.java +++ b/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServer.java @@ -6,15 +6,15 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations - * under the License. + * under the License. */ package echo.server; @@ -24,7 +24,7 @@ import java.util.HashMap; import java.util.Map; /** - * A sample Echo server, showing how to integrate service bindings. + * A sample Echo server, showing how to integrate service bindings. */ public class EchoServer { @@ -46,7 +46,7 @@ public class EchoServer { /** * Register a service under the given name. - * + * * @param service * @param name */ @@ -66,13 +66,17 @@ public class EchoServer { /** * Dispatch an incoming interaction to the corresponding service. - * + * * @param uri - * @param input + * @param args * @return */ - public String sendReceive(String uri, String input) throws InvocationTargetException { - return services.get(uri).sendReceive(input); + public Object call(String uri, Object[] args) throws InvocationTargetException { + EchoServiceListener service = services.get(uri); + if (service == null) { + return args[0]; + } + return service.call(args); } } diff --git a/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServiceListener.java b/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServiceListener.java index 32336dd94f..bc6aa74037 100644 --- a/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServiceListener.java +++ b/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/server/EchoServiceListener.java @@ -6,15 +6,15 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations - * under the License. + * under the License. */ package echo.server; @@ -34,19 +34,19 @@ public class EchoServiceListener { this.messageFactory = messageFactory; } - public String sendReceive(String input) throws InvocationTargetException { + public Object call(Object[] args) throws InvocationTargetException { // Create a request message Message request = messageFactory.createMessage(); - request.setBody(new Object[] {input}); - + request.setBody(args); + // Dispatch and get the response Message response = invoker.invoke(request); Object body = response.getBody(); if (response.isFault()) { throw new InvocationTargetException((Throwable)body); } - return (String)body; + return body; } } |