Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在actionscript中编码保留的XML字符?_Xml_Apache Flex_Actionscript_Encode_Web Services - Fatal编程技术网

如何在actionscript中编码保留的XML字符?

如何在actionscript中编码保留的XML字符?,xml,apache-flex,actionscript,encode,web-services,Xml,Apache Flex,Actionscript,Encode,Web Services,我正在用Flex编写一个商业应用程序,它使用web服务与中间层通信。web服务接受并返回XML格式的消息。在许多情况下,我需要允许用户在应用程序中的字段中键入以下内容,这些内容将作为绑定到SOAP web服务的XML有效负载中的元素添加(不带引号): “账户余额

我正在用Flex编写一个商业应用程序,它使用web服务与中间层通信。web服务接受并返回XML格式的消息。在许多情况下,我需要允许用户在应用程序中的字段中键入以下内容,这些内容将作为绑定到SOAP web服务的XML有效负载中的元素添加(不带引号):

“账户余额<1000”


Flex解析器在尝试在文本节点中用它序列化元素时会阻塞(例如,account balance<1000)。因此我需要某种方法来编码“使用escape和unescape函数


这很好,但是,对字符串进行编码会导致输入比原始字符串长几倍。我调用的服务对相关元素有maxlength约束,显然在计算约束之前,编码的字符串没有被解码。因此,现在我得到了一个架构冲突错误。你知道吗控制该服务?如果控制了,则需要将字符串作为服务中的第一步。如果不控制,则我认为您运气不好。SOAP web服务的消息容器是XML。您的消息不能包含任何会混淆XML解析器的内容。或者删除特殊字符(,&等)或者您更改它们,然后在服务器上重新更改它们。这是标准做法。如果我从WSDL为web服务生成了ActionScript代理,答案会有什么不同吗?事实上,我只是创建了一个XML文档,恰好对应于描述web服务契约的模式。(关于我为什么这样做有一个很长很长的故事。)似乎任何合理的web服务框架都会自动处理保留XML字符的编码/解码……这应该很容易测试。