[VB.NET, SOAP, WEBSERVICE] Problème avec le POST
J'ai l'erreur suivante lorsque j'essai d'appeler la methode suivante de mon webservice
Request format is invalid: text/xml; charset=utf-8.
Cependant, si j'utilise le même principe pour appeler une function sans paramètre, cela fonctionne
Code:
1 2 3 4 5
|
<WebMethod()> _
Public Function SendRequest(ByVal v_strValue As String) As String
Return "Voici un super OUTput: " & v_strValue
End Function |
Voici le XML ENvoyer
Code:
1 2 3 4 5 6 7 8 9 10
|
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header></soap:Header>
<soap:Body>
<SendRequest xmlns="http://tempuri.org/WebService_Test/MM">
<v_strValue>string</v_strValue>
</SendRequest>
</soap:Body>
</soap:Envelope> |
voici le code vb.net utilisé
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Dim m_objServer As snmsxml3.ServerXMLHTTP
#Region "Event"
Private Sub cmdOpenServerXMLHTTP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOpenServerXMLHTTP.Click
m_objServer = New snmsxml3.ServerXMLHTTP
Try
m_objServer.open(txtMethode.Text, txtUrl.Text, False)
picWarning.BackColor = Color.Green
Catch ex As Exception
picWarning.BackColor = Color.Red
MessageBox.Show(ex.ToString)
End Try
End Sub
Private Sub cmdSendServerXMLHTTP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSendServerXMLHTTP.Click
Dim objDomToSend As snmsxml3.DOMDocument
objDomToSend = New snmsxml3.DOMDocument
Try
objDomToSend.async = False
objDomToSend.loadXML(txtValue.Text)
m_objServer.setRequestHeader("Content-Type", "text/xml; charset=utf-8")
m_objServer.send(objDomToSend)
txtOutput.Text = m_objServer.responseText
picWarning.BackColor = Color.Red
Catch ex As Exception
picWarning.BackColor = Color.Red
MessageBox.Show(ex.ToString)
End Try
End Sub
Private Sub txtValue_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
picWarning.BackColor = Color.Red
End Sub
#End Region |
Si vous avez besoin de plus d'informations ou de précisions, n'hésiter pas à le demander.