WCF&休息& ISA&产量

时间:2011-10-24 13:10:46

标签: wcf rest wcf-binding wcf-endpoint

我有两个问题,但我认为在某些方面存在联系。

我使用.NET4制作了WCF Rest服务,并且仅在https上制作。在我的本地电脑上,一切正常。

现在我将它部署到托管服务提供商。据我所知,所有请求都通过ISA服务器。

起初,它没有奏效。我尝试了很多,但我总是得到错误404,找不到资源。具体错误是:

[EndpointNotFoundException]: There was no channel actively listening at
'http://mydomainname/items/help'.
This is often caused by an incorrect address URI.
Ensure that the address to which the message is sent matches
an address on which a service is listening.

我看到的第一件事是异常中的URL不是https。好的,很奇怪,因为我的web.config是:

  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpsGetEnabled="true" />
      <serviceAuthorization serviceAuthorizationManagerType="myNamespace.APIKeyAuthorization, myNamespace" />
    </behavior>
  </serviceBehaviors>
...
  <webHttpBinding>
    <binding name="">
      <security mode="Transport">
        <transport clientCredentialType="Basic" />
      </security>
    </binding>
  </webHttpBinding>
...
  <webHttpEndpoint>
    <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" defaultOutgoingResponseFormat="Json">
      <security mode="Transport">
        <transport clientCredentialType="Basic" />
      </security>
    </standardEndpoint>
  </webHttpEndpoint>

所以我尝试了很多东西,但最后我让它成功了。我到处都是一个名字。在行为标记中,绑定和standardendpoint标记。有用 !! 好的,差不多。 现在我的所有结果都是XML格式。我没有json。即使fiddler的行为“Accept:application / json”或“Accept:text / json”,它总是以XML格式显示。即使我将automaticFormatSelectionEnabled设置为false。 并在URL中添加“帮助”,例如“https:// mydomainname / items / help”我收到了“未找到端点”

所以,现在我迷路了,因为我不了解WCF中的所有微小配置,以使一切正常。 希望你能帮帮我。

提前致谢。

微米。

1 个答案:

答案 0 :(得分:0)

好的,我不知道它是否可以被认为是一个好的答案,但管理员在ISA服务器上做了一些事情。 所以现在它完全正常工作。

微米。