gpt4 book ai didi

c# - 如何从 C# web 服务生成 WSDL 文件

转载 作者:可可西里 更新时间:2023-11-01 02:59:53 26 4
gpt4 key购买 nike

我创建了这样一个 WebService:

[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...
}
}

是否可以在不连接到正在运行的服务的情况下为该代码生成 WSDL 文件?我搜索并找到了有关 SvcUtil.exewsdl.exe 的信息,但这些信息仅在从正在运行的 WebService 检索 WSDL 时有效。

(对于java,有一个叫做java2wsdl的工具,c#有没有对应的工具?)



:更新:
这个问题的上下文是我想向 SharePoint 添加新的 CustomWebService,它应该使用 SharePoint 上 _vti_bin 文件夹中的 WSPBuilder 进行部署。另见 my post在 SharePoint.SE 上。

我想自动生成(使用 msbuild 命令)'MyServicewsdl.aspx' & 'MyServicedisco.wsdl',它必须放在 _vti_bin 文件夹中。



也许我错过了一些东西?svcutil.exe 的输出是:

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.

最佳答案

我创建了一个工具,它可以从包含一个或多个 Web 服务的已编译 C# 程序集 (dll) 生成 WSDL 文件。通常您需要一个正在运行的服务(IIS 或其他)来托管 .asmx,以便您可以使用/MyWebService.asmx?wsdl 检索 WSDL

此工具使用反射生成 WSDL 文件以从程序集 (dll) 中检索所有信息。

下载可以在https://github.com/StefH/WSDLGenerator找到

关于c# - 如何从 C# web 服务生成 WSDL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2340797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com