views:

77

answers:

3

I created a new WCF project with the default template in VS 2010.

I then created a console app to act as a client to connect to the WCF Service.

Here is the code I am using to connect to the service:

ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();

CompositeType ctype = client.GetDataUsingDataContract(new CompositeType());

When the code gets to where it attempts to call the method GetDataUsingDataContract(), I get the following Exception:

 Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section.

Server stack trace: 
   at System.Net.Configuration.DefaultProxySectionInternal.GetSection()
   at System.Net.WebRequest.get_InternalDefaultWebProxy()
   at System.Net.HttpWebRequest..ctor(Uri uri, ServicePoint servicePoint)
   at System.Net.HttpRequestCreator.Create(Uri Uri)
   at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
   at System.Net.WebRequest.Create(Uri requestUri)
   at System.ServiceModel.Channels.HttpChannelFactory.GetWebRequest(EndpointAddress to, Uri via, NetworkCredential credential, TokenImpersonationLevel impersonationLevel, AuthenticationLevel authenticationLevel, SecurityTokenProviderContainer proxyTokenProvider, SecurityTokenContainer clientCertificateToken, TimeSpan timeout)
   at System.ServiceModel.Channels.HttpChannelFactory.GetWebRequest(EndpointAddress to, Uri via, SecurityTokenProviderContainer tokenProvider, SecurityTokenProviderContainer proxyTokenProvider, SecurityTokenContainer clientCertificateToken, TimeSpan timeout)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.GetWebRequest(EndpointAddress to, Uri via, SecurityTokenContainer clientCertificateToken, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.GetWebRequest(EndpointAddress to, Uri via, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at WcfTestClient.ServiceReference1.IService1.GetDataUsingDataContract(CompositeType composite)
   at WcfTestClient.ServiceReference1.Service1Client.GetDataUsingDataContract(CompositeType composite) in H:\My .NET Projects\WcfTest\WcfTestClient\Service References\ServiceReference1\Reference.cs:line 120
   at WcfTestClient.Program.Main(String[] args) in H:\My .NET Projects\WcfTest\WcfTestClient\Program.cs:line 15
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Client app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IService1" 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="false">
                    <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://localhost:61704/Service1.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"
                name="BasicHttpBinding_IService1" />
        </client>
    </system.serviceModel>
</configuration>

I know there is nothing wrong with the service and client because I copied it to another machine and it connected, called the method, and returned the results with no issues.

Is there some setting on my local machine that is preventing me from connecting to this service?

Please Help!!!

Thanks

A: 

Where is the service hosted, is it running on another machine in IIS for example? Is the service running as hosted by Casini, the development webserver from Visual Studio?

If is it hosted by IIS, can a browser on the client view the .svc file from the server with the "happy you have create a service message"?

Chris O
I have tried hosting it via the development web server in Visual Studio, and hosting it via local IIS server.In both instances, I can browse to the .svc file with no issues.
thiag0
A: 

Try using the Service Trace Viewer to track down what your problem is.

Once you have your log generated and loaded into the viewer you will find the issue pretty quickly. The issue could be anything from dodgy configuration to data objects not serializing properly to exceptions being thrown in your WCF code.

slugster
Do you have a link available for how to create the log file for Service Trace Viewer?
thiag0
@thiag0 check [this link](http://msdn.microsoft.com/en-us/library/ms732023.aspx)
slugster
@slugster - I figured out how to use Service Trace Viewer but I don't think it's going to help in this situation. The Service Trace Viewer requires a log file and in order for things to get logged the client needs to interact with the server.It looks like the problem is happening before the client can connect to the service and therefore nothing is written to the logs.
thiag0
+2  A: 

Well, read the error message:

Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section.

So - can you show us the value that's defined in the <system.net>/<defaultProxy> in your web.config ?? There's most likely something fishy about that....

marc_s
I checked the web.config already, there is no <system.net>/<defaultProxy> defined in there.
thiag0
Then try to create binding configuration and set useDefaultProxy=false.
Ladislav Mrnka
@Ladislav - Tried setting that to false and still no good. Any other suggestions?
thiag0
@Ladislav - I have added the code for the client's app.config file above.
thiag0