2011-10-24 12 views
1

私は2つの質問がありましたが、私はそこに多少リンクしていると思います。WCF&Rest&ISA&Output

私はWCF Restサービスを.NET4で作成し、httpsのみで作成しました。私のローカルPC上で、すべてが大丈夫です。

今私はホスティングプロバイダにそれを配備しました。私が知っていることは、すべての要求が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ではないことです。 OK、私の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> 

だから私は多くのことを試みたが、最後に、私はそれが動作しました。私はちょうどどこにでも名前を入れました。ビヘイビアタグでは、バインディングと標準エンドポイントタグ。できます !! OK、ほとんど。 私の結果はすべてXML形式です。私はjsonを持っていない。 "accept:application/json"または "Accept:text/json"という行を持つバイリンガルでさえ、常にXML形式です。私がautomaticFormatSelectionEnabledをfalseに設定したとしても。 "https:// mydomainname/items/help"のようにURLに "ヘルプ"を追加しました。 "エンドポイントが見つかりません"

私はすべてが分からないので、すべてが機能するようにWCFの小さな設定。 あなたが私を助けてくれることを願っています。

ありがとうございます。

M.

+0

私は(今のところ)を理解する何のために、私はstandardendpoint *の名前は*機能RESTサービスを得るために、空でなければならないことを確信しています。私は立ち往生していると感じる... – Mescal

答えて

0

良い答えが、管理者がISAサーバー上で何かを作ったとして、それを考えることができるならばOK、私は知りません。 これで完全に機能しています。

M.