0
AxisFault 
coldfusion.xml.rpc.ServiceProxy$ServiceInvocationException: Cannot perform web service invocation

向下传递普通的旧字符串并接收 XML。其他几乎相同的 Web 服务工作时没有任何相同的问题。

添加 refreshwsdl="true" 没有帮助

    <cfinvoke 
    webservice = "http://redacted.svc?wsdl"
    refreshwsdl="true"
    method="UpdateAddresses"
    returnvariable="resultXML">
    <cfinvokeargument name="Customer" value="#Customer#"  />    
    <cfinvokeargument name="addresses" value="#addresses#"  />
    <cfinvokeargument name="street_no" value="#street_no#"  />
    <cfinvokeargument name="street_no_suffix" value="#street_no_suffix#"  />
    <cfinvokeargument name="street_prefix" value="#street_prefix#"  />
    <cfinvokeargument name="street_name" value="#street_name#"  />
    <cfinvokeargument name="street_suffix" value="#street_suffix#"  />
    <cfinvokeargument name="apt_suite_unit" value="#apt_suite_unit#"  />
    <cfinvokeargument name="city" value="#city#"  />
    <cfinvokeargument name="state" value="#state#"  />
    <cfinvokeargument name="zip" value="#zip#"  />
    <cfinvokeargument name="pobox" value="#pobox#"  />
</cfinvoke> 
<cfreturn resultXML >

4

2 回答 2

1

问题原来是 Coldfusion 处理空字符串的方式。

通过在coldfusion的参数中检查“”的任何实例并用“”替换它们,然后在.net wsdl服务调用中将它们作为参数调用来清除它。然后在.net 方面我去掉了空格。我认为它们可能被强制转换为 null,这会导致 C# 在需要字符串时阻塞。

于 2013-07-31T00:31:24.880 回答
0

似乎无缘无故地开始获得更多的 AxisFaults。重新启动托管 Web 服务的 Window 服务器就可以解决这个问题。

另一个问题是 web 服务从配置文件中提取值,该文件未更新。因此,当搜索返回“NULL”的值时,随后的转换失败并生成了另一个轴故障。

于 2013-08-12T18:02:19.553 回答