且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

调用Web服务方法在VS 2008中返回null

更新时间:2023-08-31 16:47:10

其实我解决(暂时的,像穴居人)做一个网络请求和阅读网页的响应。是它的工作?是的,但我认为这不是一个好办法,而不是质量的方法。

Actually I solved (temporary, like a caveman) doing a web request and reading a web response. Is it working? Yes, but I think that it's not a good way, not quality way.

我认为必须解决,地方,由某人。

I think It must be solved, somewhere, by somebody.

我做了这样的事情:

Using cliente As New WebClient()

    cliente.Headers.Add("SOAPAction", """http://wds2.ar.bsch:9089/WSFDAxis/services/SOAPMessageDispatcher""")
    cliente.Headers.Add("Content-Type", "text/xml; charset=utf-8")

    Dim mensaje As String = String.Empty
    mensaje &= "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ser=""http://services.web.wsfd.bancorio.com.ar"">"
    mensaje &= "    <soapenv:Header/>"
    mensaje &= "    <soapenv:Body>"
    mensaje &= "{0}"
    mensaje &= "    </soapenv:Body>"
    mensaje &= "</soapenv:Envelope>"

    Dim data = Encoding.UTF8.GetBytes(mensaje)
    Dim result = cliente.UploadData("http://wds2.ar.bsch:9089/WSFDAxis/services/SOAPMessageDispatcher", data)

    Dim xml = New XmlDocument()
    xml.LoadXml(result)

    Dim nodes = xml.GetElementsByTagName("codRet")

    Dim codRet = String.Empty

    For Each node As XmlNode In nodes
        codRet = node.InnerText
    Next

    Return CInt(codRet) = 0

End Using