如何从 C# Web 服务生成 WSDL 文件

2024-02-21

我创建了一个像这样的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 文件? 我搜索并找到了有关的信息服务管理工具 & wsdl.exe,但这些仅在从正在运行的 WebService 检索 WSDL 时才起作用。

(For java,有一个工具叫java2wsdl,是否有等价的c# ?)



:Update:
此问题的上下文是我想向 SharePoint 添加新的 CustomWebService,该服务应使用 SharePoint 上的 _vti_bin 文件夹中的 WSPBuilder 进行部署。 也可以看看my post https://sharepoint.stackexchange.com/q/1634/950在 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 文件。 通常,您需要一个托管 .asmx 的正在运行的服务(IIS 或其他),以便您可以使用 /MyWebService.asmx?wsdl 检索 WSDL

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

下载地址:https://github.com/StefH/WSDLGenerator https://github.com/StefH/WSDLGenerator

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 C# Web 服务生成 WSDL 文件 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • Golang 方法函数中的接收器类型无效

    我正在尝试制作一个简单的包来将 SSH 命令发送到服务器 我有以下代码 type Connection ssh Client func Connect addr user password string conn Connection er
  • 服务器如何知道请求来自客户端,而不是窃听的黑客?

    我有一个简单的问题 我找不到简单的答案 可能我遗漏了一些东西 或者我不知道某些网络概念是如何工作的 我想知道我不知道的事情 简单地说 问题是虽然窃听是可能的 但服务器如何知道请求来自客户端 而不是窃听的黑客 设想 无论我采用什么安全策略 我
  • 使用 Intellij 的 Yeoman(想法 12)

    使用 OSX 10 8 4 Idea 12 节点 v0 10 17 yo v1 0 3 当尝试使用 Yeoman 作为外部工具时 我得到 usr local bin yo angular env node No such file or d
  • 如何在ConstraintLayout中使用ViewStub?

    似乎在充气时ViewStub in a ConstraintLayout 生成的视图失去了所有约束 我想我们可以使用以下方法定义膨胀视图的约束ConstraintSet 但这违背了目的ViewStub 有没有好的方法可以做到这一点 有一个简
  • Play 框架不会运行内联 JavaScript

    我正在尝试使用 play 框架 2 6 和 scala 设置一个简单的应用程序 但我似乎无法在 html 模板上运行内联 javascript 我不断收到错误 拒绝执行内联脚本 因为它违反了以下内容安全策略指令 default src se
  • 如何向BroadcastReceiver的子类传递参数?

    我设法得到了我的耳机按钮被识别 https stackoverflow com q 15057291 636571按下时由我的应用程序调用 但其中一个按钮需要调用 MyCustomActivity 中的方法 问题是 onReceive 的第
  • 用python监听音频输出[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 第一次在 python 中使用音频 发现了很多可以收听 流式传输麦克风的示例 但是经过大量谷歌搜索 找不到如何收听计算机输出的音频 这
  • 如何计算表格的列数

    例如 tbl ifo id name age gender 1 John 15 Male 2 Maria 18 Female 3 Steph 19 Female 4 Jay 21 Male 如何使用 mysql 计算该表的列数 SELECT
  • 如何制作内核模块二进制 blob

    我想为各种发行版分发专有的 Linux 模块 而不需要为所有发行版预先构建模块 例如我有以下文件 wrapp c mod c fops c 所有wrapp c都是我正在使用的所有内核函数的包装器 unsigned int wrap iore
  • Knockout.js 在字符串列表上的“foreach”中使用“value:”绑定 - 不会更新

    Here is jsFiddle http jsfiddle net bmh ca SksQ3 1 演示以下问题 给定一个 可观察的 字符串列表上的 foreach 绑定 可观察值似乎不会因 foreach 内绑定的输入标签的更改而更新 人
  • 如何检测 python 字符串中的最后一位数字

    我需要检测字符串中的最后一位数字 因为它们是我的字符串的索引 它们可能是 2 64 所以不方便只检查字符串中的最后一个元素 然后尝试第二个 等等 字符串可能就像asdgaf1 hsg534 即字符串中也可能有其他数字 但中间有一些数字 并且
  • Flash 设计师/编码员协作最佳实践

    我已经完成了几个 Flash 项目 作为 ActionScripter 由设计师负责所有漂亮的事情和动画 刚开始时 我发现了很多有关 ActionScript 编码和 Flash 设计的信息 大多数可用信息似乎都集中在其中之一 我没有找到任
  • cURL 慢启动传输时间

    再会 请求页面时 cURL 的运行速度非常慢 我知道这不是所请求的页面 因为该页面立即返回到浏览器中 我注意到的两件事 starttransfer time 通常接近 20 local port 似乎每次都会改变 这正常吗 有时 cURL
  • 如何在 Freemarker 模板中访问 Spring 应用程序属性?

    我有使用 Spring 3 1 的 Java web 应用程序 以及用于渲染视图的 Freemarker 模板 我想根据特定应用程序属性的真 假值有条件地在视图中显示链接 我在中定义了以下应用程序属性src main resources a
  • 如何获取列表视图位置?

    我在 Listview onListItemClick 方法中遇到问题 我没有得到列表的位置 这是我的代码请帮助我 求职信选择 xml
  • Angular:用逗号格式化数字

    标题非常概括了我的需求 123456789 gt 123 456 789 12345 gt 12 345 获得这种转化的最佳方法是什么 不要建议在 Angular 2 中使用货币管道 因为我不需要在输出前添加 或货币符号 像这样使用 Dec
  • 将某些日期替换为 NA

    我正在尝试用 NA 替换某些日期 我尝试了以下方法 但没有成功 df lt data frame dates seq Date as Date 1910 01 01 as Date 1999 01 01 days gt mutate if
  • Maven Release-plugin“标签已存在”对于不存在的标签

    我的设置 git 存储库在Atlassian Stash 服务器和Atlassian Bamboo 我在用着Maven 3 1 1与release plugin 2 3 2 该计划在Bamboo看起来像这样 退房自git 存储库 执行一个c
  • 在Android中设置Crouton消息的持续时间

    我已经开始使用 Crouton 消息而不是 toast 消息 因为我可以配置持续时间 有什么方法可以继续显示油煎面包块消息 直到发生特定事件 而不是以明确的单位指定时间 您可以将油煎面包块的持续时间设置为INFINITE从内部Configu
  • 如何从 C# Web 服务生成 WSDL 文件

    我创建了一个像这样的WebService WebService Namespace http ns WebServiceBinding ConformsTo WsiProfiles BasicProfile1 1 public class