Pregunta

gracias por cualquier ayuda.

Estoy creando un servicio web wcf para un cliente externo. El cliente está solicitando una copia del wsdl. Actualmente estoy esperando poder proporcionarle al cliente acceso al servicio.

cuando voy a mi servidor web local que ejecuta el servicio ( http: //localhost/Services.svc? wsdl ) Me muestran wsdl, los datos proporcionados contienen las firmas de métodos (del código .svc que se encuentra detrás), pero no contiene los objetos de modelo incluidos (Cliente, Pedido, ext).

Para obtener esos objetos, puedo encontrar las referencias en los datos mostrados y acceder a la url

Para que yo proporcione toda la información necesaria al cliente, para que tenga todo el wsdl ¿Debo proporcionar el esquema principal y también cada uno de los esquemas importados?

o hay alguna otra forma de lograr esto (aparte de que el cliente golpea un servidor)

es decir: ¿hay alguna forma de empaquetarlos todos dentro de un archivo?
(¿Parece que habría algo disponible para extraer cada uno de esos archivos?)

Si tuviera que dar un .zip con cada uno de los archivos, ¿sería suficiente?

Gracias Steven

¿Fue útil?

Solución

WCF empaqueta sus WSDL y XSD (esquema XML para describir los datos que se envían) en varias partes, como ya lo ha notado. Esos son referenciados desde su WSDL principal con href's adicionales.

O incluso mejor: puede ejecutar el " svcutil -metadata " comando en la línea de comandos contra la DLL o EXE que contiene su implementación de servicio; esto creará todos los archivos necesarios (generalmente varios WSDl y varios XSD) en el directorio donde ejecuta el comando svcutil. Por lo general, es una forma más confiable que juntar los archivos WSDL y XSD desde la URL? Wsdl (por lo general, terminas perdiendo uno o dos archivos).

Marc

Otros consejos

Si descargó manualmente todos y cada uno de los sub-WSDL y XSD referenciados, entonces sí, funcionaría; pero es engorroso, por decir lo menos.

Una opción que vale la pena considerar sería utilizar para aplanar su WSDL para que WCF genere todo en un solo archivo y luego se lo entregue a su cliente.

scroll top