【发布时间】:2010-11-09 05:26:25
【问题描述】:
我需要将一个二进制数据块传递给 Web 服务。我传递的对象是 API 的一部分,因此 Serialize/Deserialize/Byte 函数内置在 API 类中。据我所知,它不是明确的 XML Serializable。
不幸的是,每当我将数据传递给我的网络服务时,即使是作为编码字符串,服务也会返回“(400) 错误请求”错误。如果我删除编码数据并用简单字符串替换变量,则会返回适当的响应,排除身份验证、服务错误等。
'Convert the byte array into an encoded string'
Dim unicodeEncoder As New UnicodeEncoding()
Dim serializedData As String = unicodeEncoder.GetString(myObject.Bytes).Trim()
Dim webAuth As New myWebService.ServiceSoapClient
MessageBox.Show(webAuth.VerifyFeatureSet(serializedData , "", "", "", ""))
对我如何做到这一点有什么建议吗?如果我需要以不同的方式对数据进行编码,请在远端包含一个用于解码的 sn-p。
【问题讨论】:
-
你试过用64Base转换吗?
-
我能够以 Base64 格式发送数据,但是当我将其取回时,我收到以下消息:从字符串“”到类型“双”的转换无效。使用此代码: Dim bt As Byte() = System.Convert.FromBase64String(Trim(base64DataString))
-
下班回家,现在它运行起来了。也许我在进行其他一些更改后忘记了构建。谢谢您的帮助。 Base64 编码完美运行。
标签: vb.net web-services soap xml-serialization