Frage

I have a simple WCF service (hosted in Server01) which I've been using with no problems. After installing in this particular server (lets call it ClientServer01), I started to get the response 400.

So we have the following two cenarios.

  1. Call WCF service from ClientServer01 from myApp.exe running as Administrator - Works
  2. Call WCF service from ClientServer01 from myApp.exe running as CustomUser - Crashes

Aditional data:

  • ClientServer01 uses a proxy that is inside it's network to communicate

  • I'm able to ping Server01 from ClientServer01 using cmd running as Administrator and CustomUser both

  • Already tried setting expect100Continue="false" as described here

  • I've made MyApp.exe to isolate the problem and for debugging purposes, the real application is an IIS website in ClientServer01

  • The service is not a big deal. Pretty basic unsecured WCF service with BasicHttpBinding

  • Before asking, I tried to analyse the request with fiddler, it worked, because the component that was really making the request was fiddler. Today I tried it again, but running fiddler as mycustom user here is the output:

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: /MyServiceAppName/MyServiceName.svc

Invalid URL

Some aspect of the requested URL is incorrect.

Some possible problems are:

• Missing or incorrect access protocol (should be “http://” or similar)

• Missing hostname

• Illegal double-escape in the URL-Path

• Illegal character in hostname; underscores are not allowed.

Your cache administrator is webmaster.


Generated Mon, 27 May 2013 13:58:09 GMT by fw3.companyhostname.com.br (squid/3.1.11)

Am I missing some server, proxy or WCF configuration that would allow CustomUser to make an http request thought port 80 to a basic WebService?

Thanks

War es hilfreich?

Lösung

CustomUser's proxy was not configured. So UseDefaultWebProxy would refer to an invalid proxy.

There are some solutions to this kind of problem

  1. Set target user proxy settings (the most appropriate IMO)
  2. Set binding ProxyAddress property
  3. Set default app proxy in .config file tag configuration/system.net/defaultProxy/proxy <proxy proxyaddress="http://ip:port" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top