|
|
> It's not really a problem per se, I just want to know how to pass data into a
> CF web service with an argument type of XML. Being able to access the XML
> just
> like you would any CF XML variable within the web service. I can't seem to
> get
> it to work, so if anyone has done this I would appreciate any insight.
It works the way you describe it. So given what you are describing doesn't
seem to match what you're experiencing, I think perhaps looking at the code
might be helpful.
However rather than you just copy and paste what you've got so I can say
"oh, hang on... that's not right", I've wasted some of my own time to write
a proof of concept for you.
<!--- caller.cfm --->
<cfset o = createObject("webservice",
"http://localhost:8305/shared/cf/webservices/sendXml/c.cfc?wsdl")>
<cfxml variable="x1">
<aaa>
<bbb>ccc</bbb>
</aaa>
</cfxml>
<cfset x2 = o.f(x=x1)>
<cfdump var="#x1#" label="x1">
<cfdump var="#x2#" label="x2">
<!--- c.cfc --->
<cfcomponent>
<cffunction name="f" access="remote" returntype="xml">
<cfargument name="x" type="xml" required="true">
<cfset var a = xmlSearch(arguments.x, "//bbb")>
<cfset a[1].xmlChildren[1] = xmlElemNew(arguments.x, "ddd")>
<cfset a[1].xmlChildren[1].xmlText = "eee">
<cfreturn arguments.x>
</cffunction>
</cfcomponent>
Now, you see I don't know if that is actually some help for you, or even
addresses your problem. But it at least demonstrates passing XML in, and
back out, of a web service.
If it doesn't cast any light on the scene... POST YOUR CODE!! ;-)
--
Adam
|
|