BI experience

ssis et les web services

| 0 Commentaires

Lorsque vous voulez lire un web service avec SSIS, rien de plus facile : un composant dédié existe.

web_service_taskA l’intérieur vous y trouverez dans le menu « General » avec un bouton « download WSDL ». Il faut :

1) déclarer un fichier WSDL vide

2) cliquer sur le bouton « Download WSDL » => le fichier WSDL est rempli.

wst_general

Puis dans le menu « input » vous aurez normalement automatiquement accès aux services, aux méthodes (1er carré rouge), aux paramètres (2nd carré rouge) que propose le webservice :

wst_input

Et enfin  dans le menu « ouput », vous pourrez préciser le fichier XML, par exemple, dans lequel vous souhaitez que les données soient déversées :

wst_output

Jusqu’ici ça à l’air plutôt simple. Cependant, après exécution de ce composant, vous pourrez constater que le fichier XML possède à chaque balise une syntaxe de type :

<test1 xmlns= »http://schemas.www.w3.org/TR/html14″>Youhou</test1>

Du coup, quand on veut, par la suite, créer un dataFlow avec en source notre fichier XML test.xml, le fichier XSD créé automatiquement n’est pas bon. Il n’arrive pas à interpréter les balises. Vous pourrez parfois avoir l’erreur :

« unable to infer the XSD from the XML file. The xml file contain multiple namespace. »

C’est pourquoi, je vous renvoie sur ce lien qui vous permettra de nettoyer votre fichier XML.

Malgré ces manipulations, le fichier XSD généré automatiquement sera peut-être encore faux. Exemple de message :
 » the xml source adapter does not support mixed content modèle or complex types »
Vous pourrez donc modifier à la main les typages ou model vous posant problème.

Et voilà! Votre composant XML vous permettra d’accéder à vos données comme si la source était une table quelconque…

Si vous aussi, vous avez eu une expérience avec les web services et SSIS n’hésitez pas à poster vos commentaires!

Laisser un commentaire

Champs Requis *.

*