Un'applicazione client invia le richieste a e le riceve dalle
API dei servizi Web. Utilizzando un client proxy per gestire le comunicazioni e le
classi helper per formare tipi di dati complessi, un'applicazione client può richiamare
i metodi dei servizi Web come se fossero funzioni locali.
Prima di iniziare
Prima di creare un'applicazione client, generare il client
proxy e qualsiasi classe helper necessaria.
Perché e quando effettuare questa attività
È possibile sviluppare applicazioni .NET utilizzando uno strumento di sviluppo compatibile con .NET, ad esmepio, Visual Studio .NET. È possible generare qualsiasi tipo di applicazione .NET per richiamare API dei servizi Web generiche.
Procedura di questa attività
- Creare un nuovo progetto delle applicazioni client. Ad esempio, creare un'applicazione WinFX Windows in
Visual Studio.
- Nelle opzioni del progetto, aggiungere un riferimento al file DLL (Dynamic Link
Library) del client proxy. E tutte le classi helper che contengono definizioni di oggetti aziendali nel progetto. In Visual Studio, ad esempio, è possibile
effettuare ciò utilizzando l'opzione .
- Creare un oggetto client proxy. Ad esempio:
HTMClient.HTMReference.HumanTaskManagerComponent1Export_HumanTaskManagerHttpService service =
new HTMClient.HTMReference.HumanTaskManagerComponent1Export_HumanTaskManagerHttpService();
- Dichiarare i tipi di dati dell'oggetto business nei messaggi da inviare
a o da ricevere dal servizio Web. Ad esempio:
HTMClient.HTMReference.TKIID id = new HTMClient.HTMReference.TKIID();
ClipBG bg = new ClipBG();
Clip clip = new Clip();
- Chiamare le funzioni specifiche dei servizi Web e specificare i parametri richiesti. Ad esempio, per creare e avviare una human task:
HTMClient.HTMReference.createAndStartTask task = new HTMClient.HTMReference.createAndStartTask();
HTMClient.HTMReference.StartTask sTask = new HTMClient.HTMReference.StartTask();
sTask.taskName = "SimpleTask";
sTask.taskNamespace = "http://myProcess/com/acme/task";
sTask.inputMessage = bg;
task.inputTask = sTask;
id = service.createAndStartTask(task).outputTask;
- Le attività e i processi remoti vengono identificati con ID persistenti (id
nell'esempio del passo precedente). Ad esempio, per richiedere una human task
precedentemente creato:
HTMClient.HTMReference.claimTask claim = new HTMClient.HTMReference.claimTask();
claim.inputTask = id;