我有.xsd文件我需要将其转换为wsdl,我该怎么做?这种转换是正确的方法。我在同一.xsd文件中有请求和响应数据
答案 0 :(得分:4)
你不能那么容易地做到这一点。通常,xsd
定义输入和输出消息的结构(类型)。 wsdl
使用xsd来定义服务将公开的操作。 operation
通常有一个名称和一对输入和输出消息。
除了使用命名约定外,我没有看到工具如何只从xsd“重建”操作。例如。消息requestDoIt
和responseDoIt
- >操作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)