繁体   English   中英

如何从xsd创建wsdl

[英]How to create wsdl from xsd

我想使用3个xsd文件创建一个wsdl。 那你怎么样?

我在命令提示符下尝试了这个:

wsdl.exe /language:cs /parameters: c:\myService\Contract\HeaderData.xsd c:\myService\Contract\MyData.xsd c:\myService\Contract\Messages.xsd /out: MyWsdl.wsdl

我错了什么?

我相信这里存在误解。 很可能你插图中的wsdl.exe是指微软的工具 ,它被描述为:

Web服务描述语言工具从WSDL合同文件,XSD架构和.discomap发现文档 生成 XML Web服务和XML Web服务客户机的代码

通过将输出视为WSDL文件,您似乎意味着,我可以安全地假设您真的尝试从XSD文件开始创建WSDL文件。 下面我试图解释为什么你不能这么简单,你有什么选择。

下图显示了WSDL 1.1规范背后的模型。

WSDL 1.1 XSD的QTAssistant DataSet视图

您的XSD完全适合,并且仅适用类型 它的WSDL术语, types代表用于描述构成消息的部分的类型系统,然后用于描述组合为绑定到应用程序/传输协议的端口(抽象接口)的操作的输入/输出和故障,并最终制作(在物理上可作为一个或多个网络端点的服务访问。

要从XSD生成WSDL,您现在意识到需要为可以自动为您生成WSDL的工具提供更多数据。 例如,您要在WSDL中描述哪些操作? 对于它们中的每一个,输入是什么,最有可能是输出,也可能是一个或多个故障? 你如何对它们进行分组(portType = interface)? 你想要使用什么绑定:HTTP,SOAP? 什么版本的SOAP? SOAP over:HTTP,MQ? SOAPAction的? 多少个WSDL文件:1个,或者3个?

有些工具可能会在上面的行中向您询问一系列问题(数据输入/向导),然后为您创建WSDL。 其他人,在XSD架构构造的实现中使用预定义模式(例如, IFX有某种方式来定义请求/响应元素)所以基于这些假设, QTAssistant (我与之关联)等专门工具会让你少见问题,同时仍在创建WSDL。

我记得有一两个在线工具能够允许用户上传XSD文件,然后在提示你几个问题之后创建WSDL,但我似乎无法再找到它们......有点像这样的 .. 。

根据我的理解,你不要去xsd-> wsdl,但我可能是错的。

从XSD文件生成WSDL可能有助于为您清除它。

您无法以这种方式从XSD自动生成WSDL。 要创建WSDL,您需要从新的WSDL开始并导入此XSD。

XSD定义了可用于服务的数据类型。 有些XSD通常嵌入在WSDL中,有些是专门导入的。

另一种方法是使用C#中的XSD生成服务,然后从该服务中提取具体的WSDL,但这不是首选,因为许多团队更喜欢合同优先的Web服务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM