# Dotnet > Gnral Dotnet > Dveloppement Office System > InfoPath >  Erreur d'index ?

## cocosql

Au secours !!!  ::help:: 

je viens de terminer la programmation de mes webservices en c# et quand je lance un apercu de formulaire, j'ai l'erreur suivante :



```

```


J'ai cr un webservice qui rcupre le service dans lequel travaille le salari en fonction de son nom. J'effectue une simple requte et je rcupre le rsultat dans un Arraylist (via un curseur) de la manire suivante :



```

```


L'erreur proviendrait-elle du fait qu'au moment ou j'appelle le webservice, il y a une valeure nulle dans les paramtres et du coup, TabService[0] prend pour valeur -1 ?


Je ne vois vraiment pas d'ou peut venir cette erreur ni comment la rsoudre,

aidez moi s'il vous plait  ::mouarf::

----------


## virgul

Salut,

Es-ce que tu arrives  atteindre ton webservice via Internet Explorer ou Firefox et vu que tes deux param sont des string tu peux l'interroger depuis la. Es-ce que ca marche?

Si ca marche es-ce que tu n'aurais pas changer le nom de un de tes paramtres et tu n'aurais pas mis a jour la web reference?

++

Thierry

----------


## cocosql

Le webservice fonctionne parfaitement en dehors d'infopath (sur IE)
Je lui passe effectivement les 2 paramtres via IE et il me retourne la bonne rponse.

Et je n'ai pas modifi le webservice entre le moment ou j'ai test le webservice sur IE et le moment ou j'ai cr le formulaire et import le webservice sur Infopath, c'est ca qui est bizarre  ::?:

----------


## cocosql

J'ai essay de changer de webservice, ce coup-ci je rcupere le numro de salari et j'ai  prsent une autre erreur  ::roll:: 
je vous la soumet donc : 



```

```


et voici la ligne 133 



```

```



*EDIT :* ^^ j'ai oubli de prciser : je remplis les champs que je passe comme paramtres pour le web service  partir d'une listbox qui est la concatnation de deux champs dans la base ('Nom' + ' ' + '-' + ' ' + 'Prenom') (le '-' me sert de caractre de sparation pour les fonctions "sous-chane-avant" et "sous-chane-aprs" que j'utilise pour remplir les champs paramtres du webservice).

----------


## virgul

Es-qu'elle n'a au moins pas changer??? car tu me dit que tu n'as qu'un param et dans le code j'en voit deux?

Si ca marche pas refait l'assistant de connexion (tu choisi ta bdd et tu clic sur modifier et tu refais le petit assistant).

Mais t'es sure que Infopath envoie bien ces valeurs? Si tu essaye de faire fichier enregistrer sous es-ce que les valeur sont juste?

Y a juste un truc que je capte pas comment ca se fait que via IE Ca marche et pas dnas Infopath alors que la ligne que tu me montre ne fait pas appelle au param d'entr du webservice?

Mais c'est toujours a l'ouveture qui fait l'erreur?

----------


## cocosql

Oui il y'a bien 2 paramtres, le nom et le prnom.
 je les rcupere de la lisbox, je les colle dans 2 champs textes, et je modifie la liaison pour signaler que ces 2 champs sont les paramtres du webservice.

Lorsque je passe un paramtre de valeur fixe, il m'affiche le message d'erreur, mais il effectue quand mme la requete et renvoie la bonne rponse dans le champ texte de rponse.

L'erreur proviendrait-elle du code ? Se peut-il qu'il ne puisse interpreter certaines parties du code ?

je te donne une plus grande partie de mon code ici : 


```

```

----------


## virgul

> Lorsque je passe un paramtre de valeur fixe, il m'affiche le message d'erreur, mais il effectue quand mme la requete et renvoie la bonne rponse dans le champ texte de rponse.


Ca je comprend pas dsol... 

Dsol mais moi et les connexions SQL ca fait deux et oui j'ai un collgue qui gre ca  ::aie:: 

Si dans IE ca marche c'est que forcment tu passe mal tes param dans ton webservice quand tu utilise Infopath.

Donc essaye de faire afficher dans un messagebox les valeurs de ton query avant de le faire et regarde si c'est correct soit via les rgle soit via le code:



```
thisXDocument.UI.Alert("ton string");
```

----------


## cocosql

> Lorsque je passe un paramtre de valeur fixe, il m'affiche le message d'erreur, mais il effectue quand mme la requete et renvoie la bonne rponse dans le champ texte de rponse.



C'est quand je passe une valeur au paramtre au moment ou j'ajoute une connexion de donnes, je coche webservice, je donne le lien, je choisis le bon webservice, et la il m'affiche la liste des paramtres. Et ben ici quand je donne une valeur constante aux paramtres, le webservice m'affiche un message d'erreur mais renvoie quand mme la rponse. Ce qui montre que c'est bien au niveau du passage de paramtre qu'il y'a un problme, mais lequel ? Je passe tout comme il faut, je ne comprends pas pourquoi ca bug, et surtout qu'il y'ait un message d'erreur diffrent en fonction du webservice, car les paramtres sont exactement les mme pour tous les webservices.




```
thisXDocument.UI.Alert("ton string");
```

ca je le met ou et  quel moment ? 


Merci de ton aide  :;):

----------

