【发布时间】:2021-10-19 06:45:55
【问题描述】:
我正在尝试获取供应商给我的肥皂帖子大纲。我不是编码员,但只是尝试拼凑我可以在网上找到的内容。任何有帮助的都将不胜感激。
他们提供的代码。
POST /ClientService.asmx HTTP/1.1
Host: service.velocify.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://service.leads360.com/ModifyLeadStatus"
<?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:Body>
<ModifyLeadStatus xmlns="https://service.leads360.com">
<username>string</username>
<password>string</password>
<leadId>int</leadId>
<statusId>int</statusId>
</ModifyLeadStatus>
</soap:Body>
</soap:Envelope>
这是我目前在 VB.net 中所拥有的
Module Velocify
Function SOAPRequest()
Dim Request As WebRequest
'Dim Response As WebResponse
Dim DataStream As Stream
Dim Reader As StreamReader
Dim SoapByte() As Byte
Dim SoapStr As String
Dim pSuccess As Boolean = True
SoapStr = "<?xml version=""1.0"" encoding=""utf-8""?>"
SoapStr = SoapStr & "<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">"
SoapStr = SoapStr & "<soap12:Body>"
SoapStr = SoapStr & "<ModifyLeadStatus xmlns=""https://service.leads360.com"">"
SoapStr = SoapStr & "<username>string</username>"
SoapStr = SoapStr & "<password>string</password>"
SoapStr = SoapStr & "<leadId>int</leadId>"
SoapStr = SoapStr & "<statusId>string</statusId>"
SoapStr = SoapStr & "</ModifyLeadStatus>"
SoapStr = SoapStr & "</soap12:Body>"
SoapStr = SoapStr & "</soap12:Envelope>"
Try
SoapByte = System.Text.Encoding.UTF8.GetBytes(SoapStr)
Request = WebRequest.Create("https://www.service.velocify.com")
'Request.Headers.Add("SOAPAction", "")
Request.ContentType = "text/xml; charset=utf-8"
Request.ContentLength = SoapByte.Length
Request.Method = "POST"
DataStream = Request.GetRequestStream()
DataStream.Write(SoapByte, 0, SoapByte.Length)
DataStream.Close()
'Response = Request.GetResponse()
'DataStream = Response.GetResponseStream()
Reader = New StreamReader(DataStream)
Dim SD2Request As String = Reader.ReadToEnd()
DataStream.Close()
Reader.Close()
'Response.Close()
Catch ex As WebException
MsgBox(ex.ToString())
End Try
End Function
End Module
请让我知道我做错了什么。当前的错误是说我没有收到来自远程服务器的响应。
【问题讨论】:
-
soap12:的每个实例可能应该只是soap:。 -
负载是 XML,所以我强烈建议使用它而不是尝试进行字符串连接。由于缺少转义等,您可能会面临格式错误的 XML 的风险。 VB 的 XML 文字和对直接使用
XElement相关类型的相关支持可能很有用。