If one cfinvoke
a SOAP web service with param type sets to tns:ArrayOfString
, one will get:
Cannot perform web service invocation Hello. The fault returned when invoking the web service operation is: ''java.lang.IlligalArgumentException: argument type mismatch
How to invoke a web service with type tns:ArrayOfString
?
According to http://forums.adobe.com/message/4337438
This works:
<cfscript>
root = structnew();
text = arraynew(1);
text[1] = "Hello";
text[2] = "world";
root.string=text;
</cfscript>
<cfinvoke method="Hello"
webservice="http://localhost/Service1.asmx?wsdl"
returnvariable="response">
<cfinvokeargument name="array" value=#root#/>
</cfinvoke>
now the question is, why does this work?