usar servicios servicio los introduccion interfaz contrato consumir como php wcf url wsdl basichttpbinding

php - interfaz - introduccion a los servicios web



WSDL URL para un servicio WCF(basicHttpBinding) alojado dentro de un servicio de Windows (2)

Por favor mira este enlace:

Exponer un servicio WCF con enlaces múltiples y extremos

Unlike previous ASMX services, the WSDL (web service definition language) for WCF services is not automatically generated. The previous image even tells us that "Metadata publishing for this service is currently disabled.". This is because we haven''t configured our service to expose any meta data about it. To expose a WSDL for a service we need to configure our service to provide meta information. Note: The mexHttpBinding is also used to share meta information about a service. While the name isn''t very "gump" it stands for Meta Data Exchange.

Estoy alojando un servicio WCF en un servicio de Windows en uno de nuestros servidores. Después de hacerlo funcionar en basicHttpBinding y compilar un cliente de prueba en .NET (que finalmente funcionó), intenté acceder desde PHP utilizando la clase SoapClient. El consumidor final será un sitio PHP, así que necesito hacerlo consumible en PHP.

Me quedé perplejo cuando tuve que ingresar la url de WSDL en el constructor de la clase SoapClient en el código PHP. ¿Dónde está el WSDL? Todo lo que tengo es:

http://172.27.7.123:8000/WordService y http://172.27.7.123:8000/WordService/mex

Ninguno de estos no expone WSDL.

Siendo un novato en WCF, podría haber preguntado algo tonto (o podría tener una suposición equivocada en alguna parte). Por favor sea gentil: D

Y no, http://172.27.7.123:8000/WordService?wsdl no muestra nada diferente a http://172.27.7.123:8000/WordService :(

¿Estoy obligado a alojarlo en IIS? ¿Estoy obligado a usar un WebService normal?


Esto podría ayudar:

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

En pocas palabras, debe configurar los puntos finales y el comportamiento de su servicio. Aquí hay un ejemplo mínimo:

<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>

No olvides eliminar los comentarios XML ya que no son válidos donde están.