【问题标题】:sudzc soap client deserialization errorsudzc soap客户端反序列化错误
【发布时间】:2013-01-18 06:39:46
【问题描述】:

我在 iOS 应用程序中使用 sudzc soap 客户端。

这里是soap方法声明

(SoapRequest*) UploadData: (myid <SoapDelegate>) handler myid: (NSString*) myid props: (NSString*) props

例如,如果我在第二个参数中传递字符串“”,我会得到以下错误:

a:DeserializationFailed 格式化程序在尝试时抛出异常 反序列化消息:反序列化请求正文时出错 操作“UploadData”的消息。命名空间中的结束元素“道具” 'http://tempuri.org/' 预计。从命名空间中找到元素“测试” 'http://tempuri.org/'。第 1 行,位置 338。

为什么 sudzc 不能处理字符串参数中的“”字符?我必须手动转义这些字符吗?

【问题讨论】:

    标签: ios soap sudzc


    【解决方案1】:

    我认为此错误与 iOS 或 sudzc 生成器无关。 SOAP 使用 XML 进行数据传输,因此您必须根据XML spec 对任何特殊字符进行编码。请参阅following answer

    【讨论】:

    • 我的理解是soap内部会转义所有特殊字符。你的意思是说,字符串参数不能有 字符?
    • SOAP 不是一个库,它只是一个基于 XML 的标准。因此,如果库(在您的情况下为 sudzc)支持字符转义,它将转义它们。否则你应该注意逃跑。
    • 我知道 SOAP 是什么。不过你没有回答我的问题。
    • 回答您的问题 - 字符串参数可以有 字符,但必须对其进行编码。
    猜你喜欢
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2021-10-23
    相关资源
    最近更新 更多