From: rb0wen on
I'm experiencing a similar issue by getting an error of:
Web service operation retrieve with parameters {<my parameters here>} cannot
be found.

So after reading this thread, I attempted to create new structures and pass
the complex data types in that fashion. Based upon these snippets of code from
the WSDL file, I've created the following:

At this point, I'm still getting the same error. Any pointers would be
greatly appreciated...



<s:element name="Retrieve">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ObjectType"
type="s1:CvObjectType"/>
<s:element minOccurs="0" maxOccurs="1" ref="s1:Ids"/>
</s:sequence>
</s:complexType>
</s:element>

<s:simpleType name="CvObjectType">
<s:restriction base="s:string">
<s:enumeration value="Contact"/>
<s:enumeration value="Event"/>
<s:enumeration value="Invitee"/>
<s:enumeration value="Registration"/>
<s:enumeration value="Respondent"/>
<s:enumeration value="Response"/>
<s:enumeration value="Survey"/>
<s:enumeration value="Transaction"/>
<s:enumeration value="Travel"/>
<s:enumeration value="ContactGroup"/>
</s:restriction>
</s:simpleType>

<s:element name="Ids" type="s1:IdArray"/>

<s:complexType name="IdArray">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Id" type="s:string"/>
</s:sequence>
</s:complexType>


<!--- Coldfusion Code --->
stParams = structNew();
stParams.ObjectType = arrayNew(1);
stParams.ObjectType[1] = "Contact";

stParams.Ids = arrayNew(1);
stParams.Ids[1] = structNew();
stParams.Ids[1].Id.value = "ABC-1234";

retrievedData = ws.retrieve(stParams);