如何在 ActionScript 3 中将“Null”(姓氏!)传递给 SOAP Web 服务
技术问答
491 人阅读
|
0 人回复
|
2023-09-11
|
我们有一个姓 的员工Null。当姓氏被用作搜索词时,我们的员工将终止搜索应用程序(现在很常见)。收到的错误(谢谢 Fiddler!)是:2 V2 K. M2 o# C9 B, P
soapenv:Server.userException coldfusion.xml.rpc.CFCInvocationException: [coldfusion.runtime.MissingArgumentException : The SEARCHSTRING parameter to the getFacultyNames function is required but was not passed in.]. [1 H- U# }9 E3 Y- @0 @. \5 [
可爱吧?# k! N" T" g6 L) A" E2 b9 x
参数类型为string." Z' W# j. A. n5 ^4 j9 ^) z
我在用:
% F5 t% @& f* N+ `% `. vWSDL (SOAP)
3 O# Q/ D4 n# vFlex 3.5$ G% b+ m# d' z/ G1 C. ~) B( v
ActionScript 3: ]/ P7 ?+ i+ {9 a# u3 r
ColdFusion 8请注意,从 ColdFusion 页面调用 Web 以服务为对象不会这个错误发生了。
' h9 M4 d8 F7 i0 v + z; p- x: ?7 _0 G: Q+ j/ f/ d; e
解决方案:
* N I$ J8 k5 H, ~6 w% e 问题可能是 Flex 的 SOAP 编码器。试试你的 Flex 扩展 应用程序SOAP 编码器并调试程序以查看如何处理空值。
! m2 a5 ^3 z# I: I我的猜测是,它在做NaN(非数字)传输。这会在某个时候弄乱 SOAP 消息解组过程(最明显的是JBoss 5 服务器......)。记得扩展了 SOAP 编码器并对 NaN显式检查 的处理方法。 |
|
|
|
|
|