如何将.xsd文件转换为wsdl?
我有一个.xsd文件,我需要将它转换成wsdl,我该如何做?这种转换方法正确吗。我在同一个.xsd文件中有请求和响应数据您不可能这么容易做到这一点。通常,如何将.xsd文件转换为wsdl?,xsd,wsdl,Xsd,Wsdl,我有一个.xsd文件,我需要将它转换成wsdl,我该如何做?这种转换方法正确吗。我在同一个.xsd文件中有请求和响应数据您不可能这么容易做到这一点。通常,xsd定义输入和输出消息的结构(类型)。wsdl使用xsd定义服务将公开的操作。操作通常有一个名称以及一对输入和输出消息 我不知道一个工具如何仅从xsd中“重建”操作,除非它使用命名约定。例如,消息requestDoIt和responseDoIt-->操作DoIt。如果xsd已经包含了操作(这将是不寻常的),这可能是正常的,但它似乎不是您的情况
xsd
定义输入和输出消息的结构(类型)。wsdl
使用xsd定义服务将公开的操作。操作通常有一个名称以及一对输入和输出消息
我不知道一个工具如何仅从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的一般结构
或者你可以尝试一下这个工具,它的目的显然是为了简化这个任务。(请注意,我从未使用过它)
另一种方法是从xsd生成类,然后使用它们手动定义服务类(这是将类型匹配到相应操作中的繁琐部分),然后使用另一种工具将服务类转换回完整的wsdl。对于Java或C#,可以使用各种工具在xsd和wsdl之间进行转换:wsgen、wsimport、xsd.exe、wsdl.exe。它是可下载的文件吗?我没有在其中获取.exe?您将在sdk文件夹中找到它。请参阅也尝试从中使用WSDL生成器,但它没有创建符合提供的XSD的WSDL。例如,它无法正确创建消息元素,因为它忽略了任何输入参数。