Copy link to clipboard
Copied
I recently upgraded to CF8 and I’m not able to consume webservices from my dev edition on my personal PC.
I have tried making my own simple test webservice, but I’m not able to consume them using CF. (I’m able to consume the ws using .Net or Java, but not from CF itself).
I always get the following error:
org.apache.axis.ConfigurationException: org.xml.sax.SAXException: Fatal Error: URI=null Line=40: The string "--" is not permitted within comments.
This is the code I’m using:
<cfscript>
wsargs = structnew();
wsargs.proxyServer = "proxy";
wsargs.proxyPort = "8080";
ws = createObject("webservice","http://ws.fraudlabs.com/zipcodeworldUS_webservice.asmx?wsdl",wsargs);
</cfscript>
I know that the WSDL is ok since the WS works in .Net and Java. I also know that I can retrieve the wsdl using
<cfhttp method="get" url="http://ws.fraudlabs.com/zipcodeworldUS_webservice.asmx?wsdl" result="myRes" proxyserver="proxy" proxyport="8080"/>
So why do I get the “The string "--" is not permitted within comments.” error?
I know that
Thanks,
Olav, Oslo, Norway
Copy link to clipboard
Copied
Have you tried the other methods of connecting to a webservice?
For instance by tag
<cfinvoke
webservice="http://ws.fraudlabs.com/zipcodeworldUS_webservice.asmx?wsdl"
method="post"
returnvariable="httpResponse">
<cfinvokeargument name="parameters" value="<xmlToSend>"/>
</cfinvoke>
Or by building up the CFHTTP call directly
<cfhttp
url="http://ws.fraudlabs.com/zipcodeworldUS_webservice.asmx?wsdl"
method="post"
result="httpResponse">
<cfhttpparam
type="header"
name="accept-encoding"
value="no-compression"
/>
<cfhttpparam
type="header"
name="SOAPAction"
value="http://ws.fraudlabs.com/zipcodeworldUS_webservice"
/>
<!---
When posting the SOAP body, use the CFHTTPParam type of
XML. This does two things: it posts the XML as a the BODY
and sets the mime-type to be XML.
NOTE: Be sure to Trim() your XML since XML data cannot be
parsed with leading whitespace.
--->
<cfhttpparam
type="xml"
value="#trim( orderXML )#"
/>
</cfhttp>
I found fiddling around with all three methods of creating a webservice usually results in one that works
Regards
Joanne
Copy link to clipboard
Copied
add the line:
wsargs.refreshWSDL="yes";