我们有一位姓Null的员工。当使用姓氏作为搜索词时,我们的员工查找应用程序将被终止(现在这种情况很常见)。收到的错误(感谢Fiddler!)是:
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>coldfusion.xml.rpc.CFCInvocationException: [coldfusion.runtime.MissingArgumentException : The SEARCHSTRING parameter to the getFacultyNames function is required but was not passed in.]</faultstring>
可爱,嗯?
参数类型为string。
我正在使用:
WSDL(SOAP)柔性3.5动作脚本3冷聚变8
请注意,当从ColdFusion页面作为对象调用Web服务时,不会发生错误。
嗯,我猜SOAP编码器的Flex实现似乎错误地序列化了空值。将它们序列化为字符串Null似乎不是一个好的解决方案。正式正确的版本似乎是传递一个空值:
<childtag2 xsi:nil="true" />
因此,“Null”的值只不过是一个有效字符串,这正是您要查找的。
我想在ApacheFlex中修复这个问题应该不难。我建议打开Jira问题或联系apacheflex邮件列表中的人。然而,这只会修复客户端。我不能说ColdFusion是否能够处理这样编码的空值。
另请参阅Radu Cotescu的博客文章“如何在soapUI请求中发送空值”。
嗯,我猜SOAP编码器的Flex实现似乎错误地序列化了空值。将它们序列化为字符串Null似乎不是一个好的解决方案。正式正确的版本似乎是传递一个空值:
<childtag2 xsi:nil="true" />
因此,“Null”的值只不过是一个有效字符串,这正是您要查找的。
我想在ApacheFlex中修复这个问题应该不难。我建议打开Jira问题或联系apacheflex邮件列表中的人。然而,这只会修复客户端。我不能说ColdFusion是否能够处理这样编码的空值。
另请参阅Radu Cotescu的博客文章“如何在soapUI请求中发送空值”。