C# 如何为web服务生成XSD文件

C# 如何为web服务生成XSD文件,c#,web-services,C#,Web Services,我需要创建其他系统将使用的web服务(.NET)。 为了让他们实现使用我的web服务的逻辑,我需要为我的web服务向他们发送wsdl和XSD文件 WSDL文件不是问题,我将通过传递WSDL参数从.asmx页面获取它。 但是如何为我的web服务生成适当的XSD文件呢? 我可以使用XSD.exe工具并将其作为参数传递给.wsdl文件吗,还是有其他方法 提前感谢。您可以使用该实用程序将wsdl和xsd文件保存在磁盘上,以便这些文件可以用于生成客户端代理,而无需访问wsdl web地址。如果您使用的是v

我需要创建其他系统将使用的web服务(.NET)。 为了让他们实现使用我的web服务的逻辑,我需要为我的web服务向他们发送wsdl和XSD文件

WSDL文件不是问题,我将通过传递WSDL参数从.asmx页面获取它。 但是如何为我的web服务生成适当的XSD文件呢? 我可以使用XSD.exe工具并将其作为参数传递给.wsdl文件吗,还是有其他方法


提前感谢。

您可以使用该实用程序将wsdl和xsd文件保存在磁盘上,以便这些文件可以用于生成客户端代理,而无需访问wsdl web地址。

如果您使用的是visual studio Pro版(及更高版本),打开XML文件时,您将看到一个XML菜单,使用将从中生成XSD的项(创建模式)。我相信它在引擎盖下使用了
xsd.exe

请参阅。

您可以在服务url末尾添加“?xsd=1”以获取架构

i、 e.如果您的web服务URL为 ://我的服务:9080/service/name 然后您可以使用 ://我的服务:9080/service/name?WSDL 您可以使用 ://my_ws_service:9080/service/name?xsd=1 (注意xsd区分大小写)


希望能有所帮助。

我想与大家分享我的解决方案,在我的例子中,我需要创建一个实际的C#类,这样我就可以使用它来反序列化给定端点的响应XML,我已经在我的开发PC上保存了该端点的WSDL

我打开Visual Studio命令提示符并键入以下内容:

wsdl "name-of-your-file" 
其中,文件名是保存的WSDL文件的名称。运行该命令应生成一个C#类,然后您可以在客户端应用程序中使用该类对给定端点的XML SOAP响应进行反序列化


希望这有帮助。

当我尝试此操作时,会出现以下错误:“提供的xml实例是架构或包含内联架构。此类无法推断架构的架构。”@buhtla-显然,架构已经定义。查看XML,看看它是否链接到模式。我正在尝试从WSDL文件生成XSD。WSDL是从我在Visual Studio中创建的web服务自动生成的-因此,其他web服务生成无效的XML(我对此表示怀疑),或者我收到此错误还有其他原因。我已使用此工具cheers成功生成XSD文件。我无法从WSDL web地址生成XSD。