Limitazione del componente "Web Service Task" - Integration Service

Il problema cui mi sono trovata di risolvere è stato quello di fruire di un servizio web messo a disposizione da un'altra azienda.

Per configurare il componente mi ha fornito il contratto (file wsdl), che segue le raccomandazioni del W3C, ma questo non è bastato per configurare il componente WebServiceTask preposto proprio per questo compito.

Se parto da un web service creato dalla mia macchina, usando un progetto microsoft e che in input richiede un parametro di tipo semplice come può essere una stringa o un float, tutto va a buon fine.

Se invece utilizzo il web service che richiede in input una lista di parametri in numero variabile e con tipologia complessa (es. struct {string, string, float}), la configurazione dello stesso si blocca alla selezione del metodo esposto, ma non permette di inserire i parametri di input.

Il problema l'ho risolto ma utilizzando la programmazione in VisualBasic attraverso il componente ScriptTask.Nello ScriptTask si sono aggiunti gli opportuni reference e il codice autogenerato da un'applicazione messa a disposizione da Microsoft "WSDL.exe" (vedi http://msdn2.microsoft.com/it-it/library/7h3ystb6(VS.80).aspx

Esempio:

c:\> wsdl <path_wsdl> language:"VB"

Ma utilizzando questo componente si è persa tutta la facilità e la comodità del WebServiceTask, in più si deve eseguire tutta la gestione del salvataggio dell'output del service o attraverso l'uso di variabili all'interno del DTS o accodandole in un file nel caso anche la struttura dell'output sia strutturato in modo complesso e con un numero di item variabile.

 

 

 

Posted: mercoledì 5 dicembre 2007 9.32 by angeladin

Filed under: ,

Comments

No Comments