Ce contenu n'est pas disponible dans la langue sélectionnée.
14.2. Use a RemoteInvoker
Procedure 14.1. Task
Include a RemoteInvoker and supporting classes in your application with the following Maven dependency:
<dependency>
<groupId>org.switchyard</groupId>
<artifactId>switchyard-remote</artifactId>
<version> <!-- SY version goes here (e.g. 1.0) --> </version>
</dependency>
<dependency>
<groupId>org.switchyard</groupId>
<artifactId>switchyard-remote</artifactId>
<version> <!-- SY version goes here (e.g. 1.0) --> </version>
</dependency>
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Each instance of SwitchYard includes a special context path called switchyard-remote, which is bound to the default HTTP listener in Red Hat JBoss Fuse. The initial version of RemoteInvoker supports communication with this endpoint directly. Here is an example of invoking an in-out service in SwitchYard using the HttpInvoker:
public class MyClient {
public static void main(String[] args) throws Exception {
RemoteInvoker invoker = new HttpInvoker("http://localhost:8080/switchyard-remote");
Offer offer = new Offer();
offer.setAmount(100);
offer.setItem("honda");
RemoteMessage msg = invoker.invoke(new RemoteMessage()
.setContext(new DefaultContext())
.setService(new QName("urn:com.example.switchyard:remote", "Dealer"))
.setContent(offer));
Deal deal = (Deal)msg.getContent();
System.out.println("It's a deal? " + deal.isAccepted());
}
}
public class MyClient {
public static void main(String[] args) throws Exception {
RemoteInvoker invoker = new HttpInvoker("http://localhost:8080/switchyard-remote");
Offer offer = new Offer();
offer.setAmount(100);
offer.setItem("honda");
RemoteMessage msg = invoker.invoke(new RemoteMessage()
.setContext(new DefaultContext())
.setService(new QName("urn:com.example.switchyard:remote", "Dealer"))
.setContent(offer));
Deal deal = (Deal)msg.getContent();
System.out.println("It's a deal? " + deal.isAccepted());
}
}
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.
Rendre l’open source plus inclusif
Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.
À propos de Red Hat
Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.