Solución:
Con svcutil, puede crear interfaces y clases (contratos de datos) a partir del WSDL.
svcutil your.wsdl (or svcutil your.wsdl /l:vb if you want Visual Basic)
Esto creará un archivo llamado “your.cs” en C # (o “your.vb” en VB.NET) que contiene todos los elementos necesarios.
Ahora, necesita crear una clase “MyService” que implementará la interfaz de servicio (IServiceInterface) – o las diversas interfaces de servicio – y esta es su instancia de servidor.
Ahora bien, una clase por sí sola todavía no ayuda: necesitará alojar el servicio en algún lugar. Debe crear su propia instancia de ServiceHost que aloje el servicio, configurar puntos finales, etc., o puede alojar su servicio dentro de IIS.
Existen buenos recursos si sabe qué buscar. Pruebe “Contract First” y WCF. o “WSDL First” y WCF.
He aquí una selección:
- Descripción general básica del desarrollo de WSDL-First con WCF y SvcUtil.exe.
- WSCF: un complemento gratuito para Visual Studio que permite el diseño Contract-First con WCF
- Introducción a WSCF
- Un tutorial sobre el uso de WSCF
- La página del proyecto WSCF en CodePlex (WSCF ahora es de código abierto)
- Artículo sobre cómo diseñar WSDL “compatible con WCF”
Utilice svcutil.exe con el /sc
cambie para generar los contratos WCF. Esto creará un archivo de código que puede agregar a su proyecto. Contendrá todas las interfaces y tipos de datos que necesita para crear su servicio. Cambie la ubicación de salida usando el /o
cambiar, o puede encontrar el archivo en la carpeta donde ejecutó svcutil.exe. El idioma predeterminado es C #, pero creo que (nunca lo he probado) debería poder cambiar esto usando /l:vb
.
svcutil /sc "WSDL file path"
Si su WSDL tiene archivos XSD compatibles, páselos como argumentos después del WSDL.
svcutil /sc "WSDL file path" "XSD 1 file path" "XSD 2 file path" ... "XSD n file path"
Luego, cree una nueva clase que sea su servicio e implemente la interfaz de contrato que acaba de crear.