[英]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規范背后的模型。
您的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.