Sadly, I've found quite a few Web services that can't be consumed by ColdFusion. ColdFusion simply does not provide enough information to debug these types of problems (the dreaded "argument type mismatch" is a perfect example). Consequently, I've taken to writing wrappers in ASP.Net.
Ben Rogers http://www.c4.net v.508.240.0051 f.508.240.0057 > -----Original Message----- > From: Ian Skinner [mailto:[EMAIL PROTECTED] > Sent: Wednesday, January 05, 2005 3:15 PM > To: CF-Talk > Subject: RE: US Weather from NWS (was RE: CF-Tag Weather for UK (London)?) > > Well, I made a small amount of progress. I have at least proved that > ColdFusion can retrieve some kind of data from a National Weather Service > web service. But, it is not very useful yet. First of all, I played with > the code, and I was able to get a different error "Could not perform web > service invocation "NDFDgenByDay" because > java.lang.IllegalArgumentException: argument type mismatch". I have not > been able to figure out what argument has a mismatched type. But the code > was now finding the service and its methods. > > Then I found a different web service URI that I can get data from one of > the two functions to be returned. But this data is not properly formed > XML. There are several close tags "</someTag>" without an appropriate > start tag. This makes the data fairly difficult to use, I think. > > I wanted to post my progress here, so that others interested with more web > service skill then I may be able to figure this out. I would really love > to be able to get data like this, because it could be a very nice addition > to an Outdoor Recreation site I maintain. > > MY CODE > --------------- > > <cfscript> > // Parameters for the NDFgenByDay function > NDFDgenByDay = structNew(); > NDFDgenByDay.latitude = 38.9936; > NDFDgenByDay.longitude = -77.0224; > NDFDgenByDay.format = "12hourly"; > NDFDgenByDay.startDate = "2005-01-05"; > NDFDgenByDay.numDays = 7; > > // Parameters for the NDFDgen function > NDFDgen = StructNew(); > NDFDgen.Latitude = 38.9936; > NDFDgen.Longitude = -77.0224; > NDFDgen.StartTime = "2005-01-05T00:00:00.5"; > NDFDgen.Endtime = "2005-01-06T00:00:00.5"; > NDFDgen.Product = "glance"; > > weatherParameters = StructNew(); > weatherParameters.maxt = true; > weatherParameters.mint = true; > weatherParameters.temp = true; > weatherParameters.dew = true; > weatherParameters.pop12 = true; > weatherParameters.qpf = true; > weatherParameters.snow = true; > weatherParameters.sky = true; > weatherParameters.wspd = true; > weatherParameters.wdir = true; > weatherParameters.wx = true; > weatherParameters.icons = true; > weatherParameters.waveh = true; > > NDFDgen.weatherParameters = weatherParameters; > > //The new URI I found when digging around the documentation > ws1 = CreateObject("webservice", > "http://www.nws.noaa.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php?wsdl" > ); > //The Original URL > ws2 = CreateObject("webservice", > "http://www.nws.noaa.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"); > > //Initilize result strings so that there will always be something to > output. > aStringWS1 = 'No Output Generated'; > aStringWS2 = 'No Output Generated'; > </cfscript> > > <!--- > TWO possible URI for the web service. > http://www.nws.noaa.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl > http://www.nws.noaa.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php? > wsdl > ---> > > <cftry> > <!--- This call to the new web service will return data, but not > well formed XML ---> > <cfset aStringWS1 = ws1.NDFDgenByDay(argumentCollection = > NDFDgenByDay)> > <cfcatch type="any"><cfdump var="#cfcatch#" expand="no" > label="ERROR: > http://www.nws.noaa.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php?wsdl"> > </cfcatch> > </cftry> > > <cftry> > <!--- This call to the original web service does not return data, > but errors with the mismatched argurment type error. ---> > <cfset aStringWS2 = ws2.NDFDgenByDay(argumentCollection = > NDFDgenByDay)> > <cfcatch type="any"><cfdump var="#cfcatch#" expand="no" > label="ERROR: > http://www.nws.noaa.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"></cfcatch > > > </cftry> > > <h1>Results</h1> > <cfoutput> > <h2>http://www.nws.noaa.gov/forecasts/xml/SOAP_server/ndfdXMLserver. > php?wsdl</h2> > #HTMLEditFormat(aStringWS1)# > <hr> > <h2>http://www.nws.noaa.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl< > /h2> > #HTMLEditFormat(aStringWS2)# > </cfoutput> > > -------------- > Ian Skinner > Web Programmer > BloodSource > www.BloodSource.org > Sacramento, CA > > "C code. C code run. Run code run. Please!" > - Cynthia Dunning > > > > Confidentiality Notice: This message including any > attachments is for the sole use of the intended > recipient(s) and may contain confidential and privileged > information. Any unauthorized review, use, disclosure or > distribution is prohibited. If you are not the > intended recipient, please contact the sender and > delete any copies of this message. > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:189438 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

