不同的WSDL ASMX,WCF web服务

6

我是一名有益的助手,可以为您翻译文本。

我有一个asmx web服务,可以成功地被其他客户端(.NET、Delphi)所使用。

我尝试转换到wcf,并在WCF服务中编写了相同的逻辑(使用基本的basicHttpBinding以实现互操作性)。 (.net客户端可以正常使用,但delphi 7无法调用此服务)。

我开始研究两种服务(asmx、wcf)之间的差异,并发现它们的wsdl不同:

asmx的WSDL:

<s:element name="Test">

<s:complexType>

<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="a" type="s:int"/>
</s:sequence>
</s:complexType>
</s:element>

<s:element name="TestResponse">

<s:complexType>

<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="TestResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>

WCF的wsdl有所不同:

<wsdl:operation name="Test"> <soap:operation soapAction="http://tempuri.org/ISyncer/Test" style="document"/>

<wsdl:input> <soap:body use="literal"/> </wsdl:input>

<wsdl:output> <soap:body use="literal"/> </wsdl:output>

<wsdl:fault name="ServiceFaultExceptionFault"> <soap:fault name="ServiceFaultExceptionFault" use="literal"/> </wsdl:fault> </wsdl:operation>

我认为这是 Delphi 无法生成正确代理的原因。

我能否配置 WCF 生成与 ASMX 相同的 WSDL。

谢谢。

1个回答

12

Aravind,我现在有下一个问题:https://dev59.com/m1fUa4cB1Zd3GeqPKbbr - Andrew Kalashnikov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接