URL WSDL per un servizio WCF (basicHttpBinding) ospitato all'interno di un servizio Windows

Sto ospitando un servizio WCF in un servizio Windows su uno dei nostri server. Dopo averlo fatto funzionare in BasicHttpBinding e aver creato un client di test in .NET (che alla fine ha funzionato) sono andato avanti e ho cercato di accedervi da PHP usando la class SoapClient. Il consumatore finale sarà un sito PHP quindi ho bisogno di renderlo consumabile in PHP.

Sono rimasto perplesso quando ho dovuto inserire l'URL WSDL nel constructor della class SoapClient nel codice PHP. Dov'è il WSDL? Tutto quello che ho è:

http://172.27.7.123:8000/WordService e http://172.27.7.123:8000/WordService/mex

Nessuno di questi espone WSDL.

Essendo un novizio in WCF avrei potuto chiedere una cosa stupida (o potrei avere una supposizione errata da qualche parte). Per favore sii gentile: D

E no, http://172.27.7.123:8000/WordService?wsdl non mostra nulla di diverso da http://172.27.7.123:8000/WordService 🙁

Sono obbligato ad ospitarla in IIS? Sono obbligato a usare un normale WebService?

Questo potrebbe aiutare:

http://msdn.microsoft.com/en-us/library/ms734765.aspx

In poche parole è necessario configurare gli endpoint e il comportmento del servizio. Ecco un esempio minimo:

<system.serviceModel> <services> <service <!-- Namespace.ServiceClass implementation --> name="WcfService1.Service1" <!-- User behaviour defined below --> behaviorConfiguration="SimpleServiceBehaviour"> <endpoint address="" binding="basicHttpBinding" <!-- Namespace.Interface that defines our service contract --> contract="WcfService1.IService1"/> </service> </services> <behaviors> <serviceBehaviors> <behavior name="SimpleServiceBehaviour"> <serviceMetadata <!-- We allow HTTP GET --> httpGetEnabled="true" <!-- Conform to WS-Policy 1.5 when generating metadata --> policyVersion="Policy15"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> 

Non dimenticare di rimuovere i commenti XML in quanto non sono validi where si trovano.

Si prega di vedere questo link:

Esposizione di un servizio WCF con associazioni multiple ed endpoint

 A differenza dei precedenti servizi ASMX, WSDL (linguaggio di definizione dei servizi Web) per WCF 
 i servizi non vengono generati automaticamente.  L'image precedente ci dice anche questo 
 "La pubblicazione di metadati per questo servizio è attualmente disabilitata.".  
 Questo perché non abbiamo configurato il nostro servizio per esporre i metadati su di esso. 
  Per esporre un WSDL per un servizio, dobbiamo configurare il nostro servizio per fornire meta informazioni.  Nota:  
 Il mexHttpBinding è anche usato per condividere meta informazioni su un servizio.  Mentre 
 il nome non è molto "gump" significa Meta Data Exchange.