Question
Help consuming webservice?
I have two webservices which I am trying to consume one after
the other. The first webservice does return a true string, but the
second webservice displays an error as it is unable to find the
session variable that I setup in the first webservice.
What should I do? How should I call the session variable when I invoke the webservice?
first Webservice in a file:
<cffunction name="setUpWebUserSession" access="remote" output="false" returntype="string" displayname="setUpWebUserSession">
<cfset isSuccesful="true">
<cfargument name="userName" required="true" default="">
<cfargument name="applicationToLogIn" required="true" default="">
<cflock scope="session" throwontimeout="true" timeout="120" type="exclusive"><!--- --->
<cfset session.WebUserUI = createObject("component", "org.atcc.webuser.client.presentation.WebUserUI")>
</cflock>
<cfreturn isSuccesful>
Second webservice in the same file:-
<cffunction name="getProfileHTML" access="remote" displayname="getProfileHTML" output="false" returntype="string">
<cfset var profileHTML = "">
<cfsavecontent variable="profileHTML">
<cfoutput>#session.WebUserUI.getWebProfileHTML()#</cfoutput>
</cfsavecontent>
<cfreturn application.CTiStringCleaner.getCleanString(profileHTML)>
<!--- <cfreturn profileHTML> --->
</cffunction>
Error Message from Axis:
ErrorCode:
message: session.WebUserUI.getSalesOrderHistorySection() doesn't exist.
detail: Error at line 1, column 52
the way I am consuming webservice
<cfcomponent>
<cfinvoke webservice=" http://172.0.0.1:8080//WebServicesAPI.cfc?wsdl"
method="setUpWebUserSession"
returnVariable="soo">
<cfinvokeargument name="userName" value="muddu_shafi@yahoo.com">
<cfinvokeargument name="applicationToLogIn" value="atccWeb">
</cfinvoke>
<cfoutput> #soo# </cfoutput>
<cfinvoke webservice=" http://172.0.0.1:8080//WebServicesAPI.cfc?wsdl"
method= "getSaleOrderHistoryHTML"
returnVariable="foo">
</cfinvoke>
<cfoutput>#foo#</cfoutput>
<!-- TS024546-->
</cfcomponent>
First Web service
Second webservice
What should I do? How should I call the session variable when I invoke the webservice?
first Webservice in a file:
<cffunction name="setUpWebUserSession" access="remote" output="false" returntype="string" displayname="setUpWebUserSession">
<cfset isSuccesful="true">
<cfargument name="userName" required="true" default="">
<cfargument name="applicationToLogIn" required="true" default="">
<cflock scope="session" throwontimeout="true" timeout="120" type="exclusive"><!--- --->
<cfset session.WebUserUI = createObject("component", "org.atcc.webuser.client.presentation.WebUserUI")>
</cflock>
<cfreturn isSuccesful>
Second webservice in the same file:-
<cffunction name="getProfileHTML" access="remote" displayname="getProfileHTML" output="false" returntype="string">
<cfset var profileHTML = "">
<cfsavecontent variable="profileHTML">
<cfoutput>#session.WebUserUI.getWebProfileHTML()#</cfoutput>
</cfsavecontent>
<cfreturn application.CTiStringCleaner.getCleanString(profileHTML)>
<!--- <cfreturn profileHTML> --->
</cffunction>
Error Message from Axis:
ErrorCode:
message: session.WebUserUI.getSalesOrderHistorySection() doesn't exist.
detail: Error at line 1, column 52
the way I am consuming webservice
<cfcomponent>
<cfinvoke webservice=" http://172.0.0.1:8080//WebServicesAPI.cfc?wsdl"
method="setUpWebUserSession"
returnVariable="soo">
<cfinvokeargument name="userName" value="muddu_shafi@yahoo.com">
<cfinvokeargument name="applicationToLogIn" value="atccWeb">
</cfinvoke>
<cfoutput> #soo# </cfoutput>
<cfinvoke webservice=" http://172.0.0.1:8080//WebServicesAPI.cfc?wsdl"
method= "getSaleOrderHistoryHTML"
returnVariable="foo">
</cfinvoke>
<cfoutput>#foo#</cfoutput>
<!-- TS024546-->
</cfcomponent>
