簡體   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