package com.example.switchyard.serialization_sca_caller; import java.io.IOException; import javax.inject.Inject; import javax.xml.namespace.QName; import org.switchyard.component.bean.Reference; import org.switchyard.component.bean.Service; import org.switchyard.remote.RemoteInvoker; import org.switchyard.remote.RemoteMessage; import org.switchyard.remote.http.HttpInvoker; import com.example.switchyard.serialization.sca.common.CalledReferenceService; import com.example.switchyard.serialization.sca.common.Container; import com.example.switchyard.serialization.sca.common.HelloWorld; import com.example.switchyard.serialization.sca.common.User; @Service(HelloWorld.class) public class HelloWorldBean implements HelloWorld { @Inject @Reference CalledReferenceService called; private RemoteInvoker invoker = new HttpInvoker("http://localhost:8080/switchyard-remote"); @Override public void sayHello(String to) { User user = User.createUserBuilder("12345").setName(to).setLastName("Morales").build(); String resp = called.sayHelloToUser(user); System.out.println("---- " + resp); } @Override public void testSCAArgumentError(String to){ Container<String,Integer> c = new Container.ContainerBuilder<String, Integer>("100").setOperation("myOp").setTarget(100).build(); System.out.println("---- CALLING with: " + c); try { RemoteMessage response = invoker.invoke(new RemoteMessage() .setService( new QName("urn:com.example.switchyard:switchyard-example:1.0", "RemoteInvocationWithGenerics")).setOperation("create") .setContent(c)); if (response != null) { System.out.println(response.getContent()); } } catch (IOException e) { e.printStackTrace(); } } }