我想使用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我做错了什么?
发布于 2013-03-28 08:06:16
我相信这里有一个误会。图中的wsdl.exe很可能指的是Microsoft's tool,其描述如下:
Web服务描述语言工具从WSDL协定文件、XSD架构和.discomap发现文档__为XML服务和XML服务客户端生成代码。
从您要求输出为WSDL文件所暗示的内容来看,我可以放心地假设您确实尝试从XSD文件开始创建WSDL文件。下面我试着解释为什么你不能那么容易做到,以及你有什么选择。
下图显示了WSDL1.1规范背后的模型。

您的XSD完全适合,并且只在类型下使用。types代表您的类型系统,用于描述组成消息的部分,然后用于描述输入/输出和操作的故障,这些操作被组织为绑定到应用程序/传输协议的端口(抽象接口),并最终作为服务在一个或多个网络端点上可访问。
要从XSD生成WSDL,到目前为止,您已经意识到需要向自动生成WSDL的工具提供更多数据。例如,您希望在WSDL中描述哪些操作?对于它们中的每一个,输入是什么,最有可能是输出,也可能是一个或多个故障?如何对它们进行分组(portType =接口)?你想使用什么绑定: HTTP还是SOAP?什么版本的SOAP?SOAP over: HTTP、MQ?SOAPAction?有多少个WSDL文件: 1个,或者3个?
一些工具可能会根据上述内容询问您一系列问题(数据输入/向导),然后为您创建WSDL。其他的,在XSD模式构造的实现中使用预定义的模式(例如,IFX有一种定义请求/响应元素的特定方式),因此基于这些假设,诸如QTAssistant (我与之相关)这样的专用工具会问您更少的问题,同时仍然创建WSDL。
我记得有一两个在线工具允许用户上传XSD文件,然后在提示您几个问题后创建WSDL,但我似乎再也找不到它们了……有点like this one..。
发布于 2013-03-28 05:12:32
据我所知,您没有使用xsd->wsdl,但我可能错了。
不过,Generating a WSDL from an XSD file可能会帮你弄清楚这一点。
发布于 2013-03-28 05:25:52
您不能以这种方式从XSD自动生成WSDL。为了创建WSDL,您需要从一个新的WSDL开始并导入这个XSD。
XSD定义了可用于服务的数据类型。有些XSD通常嵌入在WSDL中,有些是专门导入的。
另一种方法是使用C#中的XSD来生成服务,然后从该服务中提取具体的WSDL,但由于许多团队更喜欢contract first web services,因此这种方法并不可取。
https://stackoverflow.com/questions/15669554
复制相似问题