2010-02-26 18 views
15

bir WSDL dosyası oluşturmak için? Aradı ve SvcUtil.exe & wsdl.exe hakkında bilgi buldum, ancak bunlar yalnızca çalışan bir WebService'den WSDL'yi alırken çalışır.nasıl böyle bir WebService oluşturduk C# webcoder

(java için, java2wsdl denilen bir alet var, C# için bir eşdeğer var mı?)



: Güncelleme:
bağlam için Bu soru, SharePoint'teki _vti_bin klasöründe WSPBuilder kullanılarak dağıtılması gereken SharePoint'e yeni CustomWebService eklemek istediğimdi. Ayrıca bkz. my post, SharePoint.SE.

Ve otomatik olarak (Msbuild komutları kullanarak) oluşturmak istediğiniz _Vti_bin klasörüne yerleştirilmesi gerekir 'MyServicewsdl.aspx' & 'MyServicedisco.wsdl'.



Belki bazı şeyler kaçırıyorum? SvcUtil.exe gelen Çıktı geçerli:

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. 
+1

.NET 2.0 kullanılarak sıkışmış bulunabilir? Neden yeni ASMX web hizmetleri oluşturuyorsunuz? –

+0

Güncel sorulara cevap ver ... –

+0

Vekil dosyasını almak için derleme DLL'sini değil ASMX hizmeti açılış sayfasının URL'sini kullanmalısınız. – vapcguy

cevap

15

Bir veya daha fazla WebServices içeren derlenmiş bir C# derlemesinden (dll) bir WSDL dosyası oluşturabilen bir araç oluşturdum. Normalde Bu araç bir derleme tüm bilgileri almak için yansıma kullanarak bir WSDL dosyası oluşturmak /MyWebService.asmx?wsdl

kullanarak WSDL almak böylece .asmx barındıran bir koşu servisi (IIS veya başka) gerektiren (dLL).

İndir https://github.com/StefH/WSDLGenerator

+1

WSDLGenerator WCF ile de çalışıyor mu? [Bu soru] için bir çözüm arıyorum (http://stackoverflow.com/questions/11099335/bind-a-custom-wsdl-to-an-existing-wcf-service). –

5

svcutil.exe kesinlikle aşağı hizmetiyle WSDL üretecektir 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) 
2

bakınız. Doğru kullanım, your.executable.dll (exe) svcutil olduğunu. Bunu çok kullanıyorum, bu yüzden WSDL'yi üreteceğinden eminim.

+0

svcutil.exe hata gösteriyor "Uyarı: Hiçbir meta veri dosyası üretilmedi" –

İlgili konular