2011-01-18 5 views
0

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 
+0

@Hoorayo: votre modification ne change rien Vous passez toujours un tableau où une seule chaîne est attendue –

+0

"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

+0

@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? –

Répondre

1

La méthode est déclarée à prendre une chaîne unique en tant que paramètre.Vous lui passez un tableau de chaînes

Questions connexes