Web Service complex datatypes
I'm trying to connect a CFC to a non-CF webservices. I have the WSDL file, and I can GET all the information I need, but I keep failing on the PUT of information.
the ws.putMarks() funciton takes in a string, a long and a complex data type. This data type is a custom array-type, which contains custom type objects. What ever I've tried sending keeps giving me the following error:
"Cannot perform web service invocation putMarks(). The fault returned when invoking the web serivce operation is:
' ' java.lan.IllegalArgumentException: argument type mismatch
"
So, I'm stuck. I can't figure out how to create a coldfusion object of the correct datatype. I tried sending it an array of structures, but that failed.
The portion of the WSDL file that I am using is:
<message name="myMarksInService_putMarks">
<part name="instructorID" type="xsd:string"/>
<part name="assessmentId" type="xsd:long"/>
<part name="marks" type="tns:classAssessmentMarkRemoteArray"/>
</message>
The schema in the WSDL shows:
<xs:complexType final="#all" name="classAssessmentMarkRemoteArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:classAssessmentMarkRemote"/>
</xs:sequence>
</xs:complexType>
and
<xs:complexType name="classAssessmentMarkRemote">
<xs:sequence>
<xs:element minOccurs="0" name="studentID" type="xs:string"/>
<xs:element minOccurs="0" name="mark" type="xs:string"/>
<xs:element minOccurs="0" name="markFeedBack" type="xs:string"/>
</xs:sequence>
</xs:complexType>
I've hunted everywhere, and can't find out how to create an object in CF of the right type. Any help the group could offer would be most helpful!
Thanks!
Jenn
