From: dannydabs on
Hi, I'm having problems trying to consume a web service in Coldfusion. The
WSDL document is quite complicated with several import files so I'm never sure
if I'm sending the right structures as the variables in my cfinvoke. I keep
getting the "Web service operation ... could not be found" message. Can anyone
see what I'm doing wrong? Any help will be much appreciated.

WSDL:
http://webservices.sabre.com/wsdl_cat/sabreXML1.0.00/usg/SessionCreateRQ.wsdl

My code is attached.

<cfset stc_Security = StructNew()>
<cfset x = StructInsert(stc_Security, "UsernameToken", StructNew())>
<cfset x = StructInsert(stc_Security.UsernameToken, "Username", "test")>
<cfset x = StructInsert(stc_Security.UsernameToken, "Password", "test")>
<cfset x = StructInsert(stc_Security.UsernameToken, "Organization", "test")>
<cfset x = StructInsert(stc_Security.UsernameToken, "Domain", "test")>



<cfset stc_MessageHeader = StructNew()>
<cfset x = StructInsert(stc_MessageHeader, "From", StructNew())>
<cfset x = StructInsert(stc_MessageHeader.From, "PartyId", ArrayNew(1))>
<cfset stc_MessageHeader.From.PartyId[1] = StructNew()>
<cfset x = StructInsert(stc_MessageHeader.From.PartyId[1], "value", "test")>
<cfset x = StructInsert(stc_MessageHeader.From.PartyId[1], "type", "test")>
<cfset x = StructInsert(stc_MessageHeader, "To", StructNew())>
<cfset x = StructInsert(stc_MessageHeader.To, "PartyId", ArrayNew(1))>
<cfset stc_MessageHeader.To.PartyId[1] = StructNew()>
<cfset x = StructInsert(stc_MessageHeader.To.PartyId[1], "value", "test")>
<cfset x = StructInsert(stc_MessageHeader.To.PartyId[1], "type", "test")>
<cfset x = StructInsert(stc_MessageHeader, "CPAId", "test")>
<cfset x = StructInsert(stc_MessageHeader, "ConversationId", "test")>
<cfset x = StructInsert(stc_MessageHeader, "Service", StructNew())>
<cfset x = StructInsert(stc_MessageHeader.Service, "type", "test")>
<cfset x = StructInsert(stc_MessageHeader.Service, "value", "test")>
<cfset x = StructInsert(stc_MessageHeader, "Action", "test")>
<cfset x = StructInsert(stc_MessageHeader, "MessageData", StructNew())>
<cfset x = StructInsert(stc_MessageHeader.MessageData, "MessageId", "test")>
<cfset x = StructInsert(stc_MessageHeader.MessageData, "Timestamp", "test")>
<cfset x = StructInsert(stc_MessageHeader, "version", "test")>



<cfset stc_Body = StructNew()>
<cfset x = StructInsert(stc_Body, "POS", StructNew())>
<cfset x = StructInsert(stc_Body.POS, "Source", StructNew())>
<cfset x = StructInsert(stc_Body.POS.Source, "PseudoCityCode", "test")>


<cfinvoke
webservice="http://webservices.sabre.com/wsdl_cat/sabreXML1.0.00/usg/SessionCre
ateRQ.wsdl"
method="SessionCreateRQ"
returnvariable="str_Return"
timeout="10">
<cfinvokeargument name="header" value="#stc_MessageHeader#">
<cfinvokeargument name="header2" value="#stc_Security#">
<cfinvokeargument name="body" value="#stc_Body#">
</cfinvoke>