mono 2.10.8 を使用して CentOS で WCF サービスをホストし、REST または SOAP サーバーとしてアクセスしようとしています。
web.config を含むフォルダーで mod-mono-server-4 を使用してアプリケーションを開始しました。
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="WebBehavior" name="Services.Hello">
<clear/>
<endpoint address="http://DOMAIN/service" behaviorConfiguration="HelloBehavior" binding="webHttpBinding" contract="Services.IHello" />
<endpoint address="http://DOMAIN/web" binding="basicHttpBinding" bindingConfiguration="" contract="Services.IHello" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="HelloBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="WebBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
ここでDOMAIN/web?wsdl
or DOMAIN/service/hello
(/hello
は IHello のメソッドの WebGetAttribute の UriTemplate ) を呼び出すと、404 しか返されません。
'/' アプリケーション
のサーバー エラー リソースが見つかりません。
Service.svc
以下を含むファイルもあります。
呼び出すDOMAIN/Service.svc/hello
と、SOAP エラーが発生します。
要求メッセージには、このサービス コントラクトでは到達できないアクション '' を持つターゲット 'http://DOMAIN/Service.svc/hello' があります
サーバー上でコンソール アプリケーションを起動すると、次のように実行されます。
WebServiceHost sh = new WebServiceHost(typeof(Hello), new Uri("http://localhost:681/service"));
sh.Open();
ポート 680 でサービスにアクセスできるので、モノはサービスを実行できるはずですが、mod_mono (ポート 80) で実行する必要があります。
別の設定を行うには何が必要ですか?
最後に、SyndicationFeed をホストして RSS/Atom-Feed を配信しようとしています。