0

我有一个简单的 WCF 服务(托管在Server01中),我一直在使用它,没有任何问题。在这个特定的服务器上安装后(我们称之为ClientServer01),我开始得到响应 400。

所以我们有以下两个场景。

  1. 从以管理员身份运行的myApp.exe从 ClientServer01 调用 WCF 服务-有效
  2. 从作为CustomUser运行的 myApp.exe 从 ClientServer01 调用 WCF 服务-崩溃

附加数据:

  • ClientServer01 使用其网络内部的代理进行通信

  • 我可以使用以管理员身份和 CustomUser 身份运行的cmd从 ClientServer01 ping Server01

  • 已经尝试过这里expect100Continue="false"描述的设置

  • 我制作了 MyApp.exe 来隔离问题并出于调试目的,真正的应用程序是 ClientServer01 中的 IIS 网站

  • 服务没什么大不了的。带有 BasicHttpBinding 的非常基本的不安全 WCF 服务

  • 在询问之前,我尝试用 fiddler 分析请求,它起作用了,因为真正发出请求的组件是 fiddler。今天我又试了一次,但是以 mycustom 用户身份运行 fiddler是输出:

错误

所请求的网址无法检索


尝试检索 URL 时遇到以下错误:/MyServiceAppName/MyServiceName.svc

无效的网址

请求的 URL 的某些方面不正确。

一些可能的问题是:

• 访问协议缺失或不正确(应为“http://”或类似名称)

• 缺少主机名

• URL-Path 中的非法双重转义

• 主机名中的非法字符;不允许使用下划线。

您的缓存管理员是网站管理员。


生成于 2013 年 5 月 27 日星期一 13:58:09 GMT 由 fw3.companyhostname.com.br (squid/3.1.11)

我是否遗漏了一些服务器、代理或 WCF 配置,这些配置允许 CustomUser 向基本 Web 服务的端口 80 发出 http 请求?

谢谢

4

1 回答 1

0

未配置CustomUser的代理。所以UseDefaultWebProxy会引用一个无效的代理。

这类问题有一些解决方案

  1. 设置目标用户代理设置(最合适的 IMO)
  2. 设置绑定 ProxyAddress 属性
  3. 在 .config 文件标签中设置默认应用代理configuration/system.net/defaultProxy/proxy <proxy proxyaddress="http://ip:port" />
于 2013-05-27T18:09:19.140 回答