I am beginning to see how WSDL works here and how I will be able to call it
via CFINVOKE.
If I want to call the method called 'CheckAvailability' I am still a bit
sketchy on what data structures to pass.
It appears that:
- CheckAvailability CALLS CheckAvailability_irmRQ
- CheckAvailability_irmRQ CALLS Credentials
----- Credentials CALLS irmWebSvcCredentials
----- ----- irmWebSvcCredentials is looking for a structure containing 4
strings
- CheckAvailability_irmRQ ALSO CALLS AvailabilityRequest
----- AvailabilityRequest CALLS irmDatesRoomInfo
----- ----- irmDatesRoomInfo is looking for a structure that contains 2
dates, 1 string and 4 integers
SO... if I use CFINVOKE I am not quite sure what to pass in the
CFINVOKEARGUMENT
Do I attempt to create a large structure and pass it in under
'CheckAvailability_irmRQ'?
Here is an example I was provided of the SOAP request to check availability:
<soap:Body>
<CheckAvailability xmlns="http://resortdata.com/IRMPublic">
<CheckAvailabilityRQ>
<Credentials>
<LogonID>string</LogonID>
<Password>string</Password>
<DataPath>string</DataPath>
<DatabaseID>string</DatabaseID>
</Credentials>
<AvailabilityRequest>
<ArrivalDate>dateTime</ArrivalDate>
<DepartureDate>dateTime</DepartureDate>
<RoomType>string</RoomType>
<People1>int</People1>
<People2>int</People2>
<People3>int</People3>
<People4>int</People4>
</AvailabilityRequest>
</CheckAvailabilityRQ>
</CheckAvailability>
</soap:Body>
-----Original Message-----
From: James Holmes [mailto:[email protected]]
Sent: Saturday, July 18, 2009 7:13 PM
To: cf-talk
Subject: Re: Calling .ASPX.VB from .CFM
Yes, look at the request in the WSDL:
<wsdl:message name="CheckAvailabilitySoapIn">
<wsdl:part name="parameters" element="tns:CheckAvailability" />
</wsdl:message>
and then
<s:element name="CheckAvailability">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="CheckAvailabilityRQ" type="tns:CheckAvailability_irmRQ" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="CheckAvailability_irmRQ">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Credentials"
type="tns:irmWebSvcCredentials" />
<s:element minOccurs="0" maxOccurs="1"
name="AvailabilityRequest" type="tns:irmDatesRoomInfo" />
</s:sequence>
</s:complexType>
<s:complexType name="irmWebSvcCredentials">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="LogonID"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Password"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DataPath"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DatabaseID"
type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="irmDatesRoomInfo">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ArrivalDate"
type="s:dateTime" />
<s:element minOccurs="1" maxOccurs="1" name="DepartureDate"
type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="RoomType"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="People1" type="s:int"
/>
<s:element minOccurs="1" maxOccurs="1" name="People2" type="s:int"
/>
<s:element minOccurs="1" maxOccurs="1" name="People3" type="s:int"
/>
<s:element minOccurs="1" maxOccurs="1" name="People4" type="s:int"
/>
</s:sequence>
</s:complexType>
There's a lot of work building the correct request type for that service.
mxAjax / CFAjax docs and other useful articles:
http://www.bifrost.com.au/blog/
2009/7/19 Adrian Lynch:
>
> Yes. Chances are you need to pass arguments along with your method call.
>
>> -----Original Message-----
>> From: Jason Neidert
>> Sent: 17 July 2009 18:50
>> To: cf-talk
>> Subject: RE: Calling .ASPX.VB from .CFM
>>...
>> It tells me that CheckAvailability cannot be found. I can see the it
>> though
>> in the wsdl file. Am I calling incorrectly?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Want to reach the ColdFusion community with something they want? Let them know
on the House of Fusion mailing lists
Archive:
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:324808
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4