0

キャッスルウィンザーを使用するsharepoint 2010でwcfサービスをホストする方法を考え出しています。http://msdn.microsoft.com/en-us/library/ff521586(v=office.14).aspxのサービス ファクトリのいずれかを使用して、独自の標準カスタム Web サービスを問題なくホストできます。. Castle Windsor を使用して通常の wcf サービスをセットアップするには、global.asax を変更する必要がありますが、これは SharePoint には推奨されないため、コンテナーをセットアップする HttpModule を作成し、フィーチャー レシーバーを作成してそれを使用するように Web 構成を更新しました。 . 私の問題は、次にどこに行くかです。IIS構成に基づいてサービスのすべてのエンドポイントを動的に構成するため、サービスにMultipleBaseAddressBasicHttpBindingServiceHostFactoryを使用していますが、キャッスルウィンザーを使用するには、提供されたCastle.Facilities.WcfIntegration.WindsorServiceHostFactoryを使用するように変更する必要があるようです. 何が起こるかを確認するために切り替えてみましたが、うまくいかないようです。次のエラーが表示されます

Error: Cannot obtain Metadata from <svc url> If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address.  For help enabling metadata publishing, please refer to the MSDN documentation at http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange Error    URI: <svcurl>    Metadata contains a reference that cannot be resolved: '<svcurl>'.    The requested service, '<svcurl>' could not be activated. See the server's diagnostic trace logs for more information.HTTP GET Error    URI: <svcurl>    There was an error downloading '<svcurl>'.    The request failed with HTTP status 404: Not Found.

これは、サービスのエンドポイントを構成していないためだと思いますが、オンラインで見たいくつかの例もそうではないようです.

キャッスルウィンザーとシェアポイントwcfを機能させることができた人はいますか?可能であれば動的構成を使用してください。

4

1 に答える 1

0

表示されるエラー メッセージは、サービスのメタデータが公開されていないというものです。これを行うには、次の 2 つが必要です。

サービスの mex エンドポイント:

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

また、サービス動作でオンになっているサービス メタデータ:

  <serviceMetadata httpGetEnabled="True"  />
于 2013-07-14T19:11:51.413 に答える