Thank you both for the quick responses. I greatly appreciate your help.

I understand what you're saying with this response, but when I pass over XML
as a string to coldfusion, it converts the xml string in the SOAP message to
an HTML encoded format (i.e. < will become %lt; > will become %gt;) which
just doesn't seem right... Is there any chance you could provide an example
of how I should define the web service and how to call it?

I'm thinking that you mean something along the lines of this, but I'm not
sure:

Webservice Component:

<cfcomponent output="false">
    <cffunction access="remote" returntype="string" name="XmlToString">
        <cfargument type="string" required="true" name="XmlObject">
        <cfreturn tostring(XmlObject)>
    </cffunction>
</cfcomponent>

Calling Client:

<cfsavecontent variable="xmltext">
<RootNode>
    <ChildNode>123</ChildNode>
    <AnotherChildNode>123</AnotherChildNode>
</RootNode>
</cfsavecontent>
<cfscript>
    ws = createobject("webservice","
http://ksykora.clay/FirstComp/WebService.cfc?wsdl";);
    result = ws.XmlToString(xmltext);
</cfscript>
<cfoutput>WebService Result: #HTMLEditFormat(result)#</cfoutput><br />
<cfoutput>Expected Result: #HTMLEditFormat(xmltext)#</cfoutput><br />
<cfoutput>SOAP Request: <cfdump
var="#tostring(getsoaprequest(ws))#"></cfoutput>

Which when run produces this output:

WebService Result: <RootNode> <ChildNode>123</ChildNode>
<AnotherChildNode>123</AnotherChildNode> </RootNode>
Expected Result: <RootNode> <ChildNode>123</ChildNode>
<AnotherChildNode>123</AnotherChildNode> </RootNode>
SOAP Request: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="
http://www.w3.org/2001/XMLSchema"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";><soapenv:Body><ns1:XmlToString
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:ns1="http://FirstComp";><XmlObject xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/"; xsi:type="soapenc:string">
&lt;RootNode&gt; &lt;ChildNode&gt;123&lt;/ChildNode&gt;
&lt;AnotherChildNode&gt;123&lt;/AnotherChildNode&gt; &lt;/RootNode&gt;
</XmlObject></ns1:XmlToString></soapenv:Body></soapenv:Envelope>

Which if you notice pretty well garbles up the idea of an xml SOAP request.
If it's the only workaround I suppose I'll have to deal with it but I'm
guessing that people that are actually publishing web services in production
environments are doing something else, and I would like to know what that
is.

Thanks for your continued help!

--Ken

On 5/24/07, Robertson-Ravo, Neil (RX) <[EMAIL PROTECTED]>
wrote:
>
> Yep, the key is to understand that a ColdFusion XML object is just that...
> A
> ColdFusion one, so in all reality it's useless to anyone else other than
> ColdFusion and even then, only really on your own servers (as I have seen
> remote calls fail as well).
>
> XML is just a well formed string so best to treat it as such and you will
> be
> happily talking to other languages calling your W/S.
>
>
>
>
> "This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant,
> Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business,
> Registered in England, Number 678540.  It contains information which is
> confidential and may also be privileged.  It is for the exclusive use of
> the
> intended recipient(s).  If you are not the intended recipient(s) please
> note
> that any form of distribution, copying or use of this communication or the
> information in it is strictly prohibited and may be unlawful.  If you have
> received this communication in error please return it to the sender or
> call
> our switchboard on +44 (0) 20 89107910.  The opinions expressed within
> this
> communication are not necessarily those expressed by Reed Exhibitions."
> Visit our website at http://www.reedexpo.com
>
> -----Original Message-----
> From: Robert Rawlins - Think Blue
> To: CF-Talk
> Sent: Thu May 24 17:35:40 2007
> Subject: RE: WebServices - XML Object sent as argument not working correct
> ly
>
> Yep I'll back Niel on this one,
>
> I pass XML as a string through web services all the time and it works like
> an absolute charm. I talk with all kinds of other apps from JAVA through
> to
> Python and C.
>
> Rob
>
> -----Original Message-----
> From: Robertson-Ravo, Neil (RX)
> [mailto:[EMAIL PROTECTED]
> Sent: 24 May 2007 17:28
> To: CF-Talk
> Subject: Re: WebServices - XML Object sent as argument not working correct
> ly
>
> There is a bug/feature of ColdFusion web services when passing/returning
> XML
> objects.  It is better practice to pass the data as a string however as it
> leads to better interop.
>
> Bottom line, if you want to pass XML, pass it as a string.
>
>
>
>
>
> "This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant,
> Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business,
> Registered in England, Number 678540.  It contains information which is
> confidential and may also be privileged.  It is for the exclusive use of
> the
> intended recipient(s).  If you are not the intended recipient(s) please
> note
> that any form of distribution, copying or use of this communication or the
> information in it is strictly prohibited and may be unlawful.  If you have
> received this communication in error please return it to the sender or
> call
> our switchboard on +44 (0) 20 89107910.  The opinions expressed within
> this
> communication are not necessarily those expressed by Reed Exhibitions."
> Visit our website at http://www.reedexpo.com
>
> -----Original Message-----
> From: Ken Sykora
> To: CF-Talk
> Sent: Thu May 24 16:50:29 2007
> Subject: WebServices - XML Object sent as argument not working correctly
>
> Hi Everyone - I posted this on the Adobe forums but have so far had no
> luck
> with any responses.
>
> I'm having trouble with coldfusion web services and am hoping that someone
> here can reproduce this error and provide some insight to this issue.
>
> I'm trying to create a web service, and in the web service it takes an XML
> object as an argument. Inside the web service code I want to convert the
> XML
> object to a string so I can store it in a database. The problem is that
> whenever I convert the xml object to a string (using the ToString(xmlobj)
> method) in the web service call, it returns the xml string as '[#document:
> null]'. However, when I perform the same operation on the test page that
> is
> calling the web service, it converts the xml object correctly to a string
> with the raw XML.
>
> I am using ColdFusion MX 7 version 7,0,2,142559
>
> If you can reproduce this error, please let me know. If you have a
> solution,
> please!!!! let me know. This is very frustrating... I've been battling
> this
> issue for about a day now.
>
> I can work around this issue by passing the XML as a straight up string
> and
> then perform an XMLParse() on the web service, but that is borderline
> unacceptable.
>
> Please see the sample code below.
>
> Webservice Component:
>
> <cfcomponent output="false">
>        <cffunction access="remote" returntype="string" name="XmlToString">
>                <cfargument type="xml" required="true" name="XmlObject">
>                <cfreturn tostring(XmlObject)>
>        </cffunction>
> </cfcomponent>
>
> Test Page:
>
> <cfsavecontent variable="xmltext">
> <RootNode>
>        <ChildNode>123</ChildNode>
>        <AnotherChildNode>123</AnotherChildNode>
> </RootNode>
> </cfsavecontent>
> <cfscript>
>        ws =
> createobject("webservice","http://ksykora.clay/WebService.cfc?wsdl";);
>        xmlObject = xmlparse(xmltext);
>        result = ws.XmlToString(xmlObject);
> </cfscript>
> <cfoutput>WebService Result: #HTMLEditFormat(result)#</cfoutput><br />
> <cfoutput>Expected Result:
> #HTMLEditFormat(ToString(xmlObject))#</cfoutput>
>
>
>
>
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
ColdFusion MX7 and Flex 2 
Build sales & marketing dashboard RIA’s for your business. Upgrade now
http://www.adobe.com/products/coldfusion/flex2?sdid=RVJT

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:279107
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to