visual studio partir generate from ejemplo crear c# web-services sharepoint wsdl asmx

studio - Cómo generar un archivo WSDL desde un servicio web C#



wsdl.exe c# (3)

He creado una herramienta que puede generar un archivo WSDL a partir de un ensamblado c # compilado (dll) que contiene uno o más servicios web. Normalmente, se requiere un servicio en ejecución (IIS u otro) que hospede el .asmx para que pueda recuperar el WSDL utilizando /MyWebService.asmx?wsdl

Esta herramienta genera un archivo WSDL utilizando la reflexión para recuperar toda la información de un conjunto (dll).

La descarga se puede encontrar en https://github.com/StefH/WSDLGenerator

He creado un servicio web como este:

[WebService(Namespace = "http://ns")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class GroupManagerService : WebService { public GroupManagerService() { } [WebMethod] public bool MyMethod(string loginname, string country) { // code here... } }

¿Es posible generar un archivo WSDL para este código sin conectarse a un servicio en ejecución? Busqué y encontré información sobre SvcUtil.exe y wsdl.exe , pero solo funcionan cuando se recupera el WSDL de un servicio web en ejecución.

(Para java , hay una herramienta llamada java2wsdl , ¿hay un equivalente para c # ?)



:Actualizar:
El contexto para esta pregunta es que quiero agregar un nuevo CustomWebService a SharePoint que debería implementarse usando WSPBuilder en la carpeta _vti_bin en SharePoint. Véase también mi post en SharePoint.SE.

Y quiero generar automáticamente (usando los comandos msbuild) el ''MyServicewsdl.aspx'' y ''MyServicedisco.wsdl'' que se deben colocar en la carpeta _vti_bin.



Tal vez me estoy perdiendo algunas cosas? La salida de svcutil.exe es:

bin/Debug>SvcUtil.exe MyWebService.dll Microsoft (R) Service Model Metadata Tool [Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.2152] Copyright (c) Microsoft Corporation. All rights reserved. Generating metadata files... Warning: No metadata files were generated. No service contracts were exported. To export a service, use the /serviceName option. To export data contracts, spe cify the /dataContractOnly option. This can sometimes occur in certain security contexts, such as when the assembly is loaded over a UNC network file share. If this is the case, try copying the assembly into a trusted environment and runnin g it.


Svcutil.exe definitivamente generará el WSDL con el servicio inactivo. El uso correcto es svcutil your.executable.dll (exe). Lo estoy usando mucho, así que estoy seguro de que generará el WSDL.


Ver svcutil /?

-= METADATA EXPORT =- Description: svcutil.exe can export metadata for services, contracts and data types in compiled assemblies. To export metadata for a service, you must use the /serviceName option to indicate the service you would like to export. To export all Data Contract types within an assembly use the /dataContractOnly option. By default metadata is exported for all Service Contracts in the input assemblies. Syntax: svcutil.exe [/t:metadata] [/serviceName:<serviceConfigName>] [/dataContractOnly] <assemblyPath>* <assemblyPath> - The path to an assembly that contains services, contracts or Data Contract types to be exported. Standard command-line wildcards can be used to provide multiple files as input. Options: /serviceName:<serviceConfigName> - The config name of a service to export. If this option is used, an executable assembly with an associated config file must be passed as input. Svcutil will search through all associated config files for the service configuration. If the config files contain any extension types, the assemblies containing these types must either be in the GAC or explicitly provided using the /r option. /reference:<file path> - Add the specified assembly to the set of assemblies used for resolving type references. If you are exporting or validating a service that uses 3rd-party extensions (Behaviors, Bindings and BindingElements) registered in config use this option to locate extension assemblies that are not in the GAC. (Short Form: /r) /dataContractOnly - Operate on Data Contract types only. Service Contracts will not be processed. (Short Form: /dconly) /excludeType:<type> - The fully-qualified or assembly-qualified name of a type to exclude from export. This option can be used when exporting metadata for a service or a set of service contracts to exclude types from being exported. This option cannot be used with the /dconly option. (Short Form: /et)