Ok! Je viens de créer un projet VB.Net et ajouté une référence Web pour le service Web XML d'une autre société. Appelons la référence Web "WebRef". Ils ont fourni la mise en page du service Web et il existe une fonction nommée "GetServiceTicketList". Il nécessite "UserID", "UserPassword" et "ServiceTicketNumber". J'essaie d'obtenir une liste de tickets de service sur le DataGrid avec "GetServiceTicketList".Utilisation du service Web XML avec VB.Net
Quand je fais cela, j'obtiens une erreur « Valeur de type « tableau 1 dimensions de chaîne » ne peut pas être converti en « String » de « ls_ParamValue »
Public Function GetTicketList(ByVal strXMLin As String) As String
Dim results() As Object = Me.Invoke("GetServiceTicketList", New Object() {strXMLin})
Return CType(results(0),String)
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Client As WebRef.service1 = New WebRef.service1
Dim XMLResoponse As String
Dim UserId As String = "SuperMan"
Dim UserPW As String = "Batman"
Dim Version As String = "1234"
Dim ls_ParamValue As String()
ls_ParamValue = {UserId, UserPW, Version}
XMLResoponse = Client.GetServiceTicketList(ls_ParamValue)
End Sub
@Hoorayo: votre modification ne change rien Vous passez toujours un tableau où une seule chaîne est attendue –
"GetServiceTicketList" nécessite trois les paramètres d'entrée "UserId", "UserPW" et "Version", mais la fonction ne prend qu'une seule chaîne, comment faire? – Hoorayo
@Hoorayo: tu ne le fais pas. Il y a évidemment quelque chose qui ne va pas ici. Le proxy généré en utilisant "Ajouter une référence Web" ne lui donne qu'un seul paramètre. Êtes-vous _sure_ il en faut trois? Pouvez-vous poster cette partie du WSDL? –