如何将.xsd文件转换为wsdl?

时间:2009-12-12 11:43:43

标签: xsd wsdl

我有.xsd文件我需要将其转换为wsdl,我该怎么做?这种转换是正确的方法。我在同一.xsd文件中有请求和响应数据

2 个答案:

答案 0 :(得分:4)

你不能那么容易地做到这一点。通常,xsd定义输入和输出消息的结构(类型)。 wsdl使用xsd来定义服务将公开的操作。 operation通常有一个名称和一对输入和输出消息。

除了使用命名约定外,我没有看到工具如何只从xsd“重建”操作。例如。消息requestDoItresponseDoIt - >操作DoIt。如果xsd已经包含可能没问题的操作(这可能是不寻常的),但似乎不是你的情况。

手动创建wsdl不应该太长。

<types>
    <xsd:schema xmlns="..." targetNamespace="...">
        <xsd:import namespace="..." schemaLocation="MySchema.xsd"/>
    </xsd:schema>
</types>
...
 <wsdl:portType name="...">
    <wsdl:operation name="doIt">
        <wsdl:input message="tns:requestDoIt"/>
        <wsdl:output message="tns:responseDoIt"/>
    </wsdl:operation>
</wsdl:portType>

查看WSDL essentials以获取wsdl的一般结构。

或者您可以尝试使用WSDL Generator工具http://www.theprogrammerfactory.com/,其目的显然是为了简化此任务。 (请注意,我从未使用过它。)

另一种方法是从xsd生成类,然后使用它们手动定义服务类(这是将类型一起匹配到相应操作中的繁琐部分),然后使用另一个工具将服务类转换回来成为一个完整的wsdl。对于Java或C#:wsgen,wsimport,xsd.exe,wsdl.exe,有​​各种可用于转换为xsd和wsdl的工具。

答案 1 :(得分:0)