Ich habe eine WCF-Dienstseite, auf der nur WebGets/WebInvokes über SSL ausgeführt werden - das funktioniert auf meinem lokalen Computer (selbstsigniertes Zertifikat) einwandfrei. Bei der Produktion kann ich jedoch service.svc erreichen (und es gibt mir die Nachricht darüber, wie man konsumiert), aber service.svc/AnyRequest gibt eine 404 zurück. Beide Umgebungen werden in IIS 7.5 gehostet.WCF-Dienst, der 404 auf Methodenanforderungen zurückgibt
Ich habe die Ablaufverfolgung aktiviert und der Dienst nimmt noch nicht einmal die Methodenanforderungen (z. B. service.svc/SomeRequest), aber es verarbeitet service.svc
ganz gut. Es hört auch bei https://computername.domain.net/path/service.svc
- ist das normal? Sollte es normalerweise auf https://publicfacing.com/path/service.svc
zeigen?
Beachten Sie auch, dass der Produktionsserver mehrere Websites in IIS hostet.
Unten ist der Abschnitt system.serviceModel meiner web.config. Das SSLBehave wurde von here vorgeschlagen.
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="None"></transport>
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="SSLBehave">
<useRequestHeadersForMetadataAddress>
<defaultPorts>
<add scheme="https" port="443"/>
</defaultPorts>
</useRequestHeadersForMetadataAddress>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="UserManagement.ajaxAspNetAjaxBehavior">
<webHttp defaultOutgoingResponseFormat="Json" defaultBodyStyle="Wrapped" />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<services>
<service name="UserManagement.ajax" behaviorConfiguration="SSLBehave">
<endpoint address="" behaviorConfiguration="UserManagement.ajaxAspNetAjaxBehavior"
binding="webHttpBinding" bindingConfiguration="TransportSecurity" contract="UserManagement.ajax" />
</service>
</services>
</system.serviceModel>
funktioniert der Service, wenn er lokal aufgerufen wird? – theusguy
@theusguy Negativ, immer noch 404. – Snuffleupagus
Wenn Ihr Problem immer noch besteht, kann meine Antwort Ihnen vielleicht helfen –