Have a look at the generated file. On the httpclient remove the usecompression line
Davy "When all you have is a hammer, every problem looks like a nail." I feel much the same way about xml -----Original Message----- From: Peter Maddin <[email protected]> Sender: [email protected] Date: Thu, 20 Jan 2011 16:11:48 To: ozDotNet<[email protected]> Reply-To: ozDotNet <[email protected]> Subject: Re: Cannot get GeoCode web service client to work. Found some differences. For the Delphi Soap application for the 'Transformer' tab I get For my C# application I get I can see the difference, but how do I turn of HTTP compression for my C# application? More research, but if anyone has some answers before I google myself to death, please let me know. Regards Peter On 20/01/2011 11:25 AM, Stephen Price wrote: > Have you had a look at whats happening using Fiddler? (or other > suitable traffic monitoring tool) > Might give you a hint as to whats being sent/returned. might even show > you an error rather than just empty result > > On Thu, Jan 20, 2011 at 11:23 AM, Peter Maddin<[email protected]> > wrote: >> I am re-learning WCF and am trying a simple web service client to the US Geo >> Coordinate service at http://geocoder.us/ >> >> WSDL is at http://rpc.geocoder.us/dist/eg/clients/GeoCoder.wsdl >> >> There is a C# Client at >> http://www.c-sharpcorner.com/uploadfile/scottlysle/geocoderuswebservice01232008035119am/geocoderuswebservice.aspx >> >> but it does not work. It keeps saying that the address given is invalid. >> >> I have used the sample addresses at http://geocoder.us/ and while they work >> in the web site they don't in the c# demo. >> >> I have a demo Delphi application that also works against this site. >> >> So the site is working!! >> >> I wrote a extremely basic web service client. I added a service reference >> using the WSDL and created a simple winForm application >> >> Code >> >> using System; >> using System.Collections.Generic; >> using System.ComponentModel; >> using System.Data; >> using System.Drawing; >> using System.Linq; >> using System.Text; >> using System.Windows.Forms; >> using System.ServiceModel; >> using GeoCodeTest.ServiceReference1; >> >> namespace GeoCodeTest >> { >> public partial class Form1 : Form >> { >> public Form1() >> { >> InitializeComponent(); >> } >> >> private GeocoderResult[] LocationResult = null; >> private GeoCode_PortTypeClient proxy = null; >> >> private void btnGo_Click(object sender, EventArgs e) >> { >> LocationResult = proxy.geocode(txtLocation.Text); // always >> returns a null !!! >> geocoderResultBindingSource.DataSource = LocationResult; >> } >> >> private void Form1_Load(object sender, EventArgs e) >> { >> proxy = new GeoCode_PortTypeClient("GeoCode_Port"); >> } >> } >> } >> >> No matter what address I put in, the result returned is always null. >> In the C# demo from >> http://www.c-sharpcorner.com/uploadfile/scottlysle/geocoderuswebservice01232008035119am/geocoderuswebservice.aspx >> the location returned was also null. >> >> This is the app.config file that was generated. >> >> <?xml version="1.0" encoding="utf-8" ?> >> <configuration> >> <system.serviceModel> >> <bindings> >> <basicHttpBinding> >> <binding name="GeoCode_Binding" closeTimeout="00:01:00" >> openTimeout="00:01:00" >> receiveTimeout="00:10:00" sendTimeout="00:01:00" >> allowCookies="false" >> bypassProxyOnLocal="false" >> hostNameComparisonMode="StrongWildcard" >> maxBufferSize="65536" maxBufferPoolSize="524288" >> maxReceivedMessageSize="65536" >> messageEncoding="Text" textEncoding="utf-8" >> transferMode="Buffered" >> useDefaultWebProxy="true"> >> <readerQuotas maxDepth="32" >> maxStringContentLength="8192" maxArrayLength="16384" >> maxBytesPerRead="4096" >> maxNameTableCharCount="16384" /> >> <security mode="None"> >> <transport clientCredentialType="None" >> proxyCredentialType="None" >> realm="" /> >> <message clientCredentialType="UserName" >> algorithmSuite="Default" /> >> </security> >> </binding> >> </basicHttpBinding> >> </bindings> >> <client> >> <endpoint address="http://rpc.geocoder.us/service/soap/" >> binding="basicHttpBinding" >> bindingConfiguration="GeoCode_Binding" >> contract="ServiceReference1.GeoCode_PortType" >> name="GeoCode_Port" /> >> </client> >> </system.serviceModel> >> </configuration> >> >> >> There is a link to passing credentials here to fix an issue >> http://geocoder.us/help/msxml.shtml. >> But I don't think that has anything to do with this (could be wrong). I am >> using the free service. >> >> Can anyone tell me why the C# solution won't work where as other solutions >> do? >> Is there something else one needs to do (apart from tearing one's hair out). >> >> Regards Peter >> >> >> >> >> >> >>
