У меня есть веб-сервис asmx, который успешно используется другими клиентами (.NET, Delphi).
Я пытаюсь зайти в wcf и написать ту же логику в службе WCF (basicHttpBinding для взаимодействия)).(.net клиент использует нормально, но delphi 7 не может вызвать эту службу).
Я начинаю исследовать различия между двумя службами (asmx, wcf) и обнаруживаю, что их wsdl различны:
WSDL asmx:
<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>
wsdl из wcf довольно отличается:
<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 не может сгенерировать правильный прокси.
Могу ли яconfig wcf для генерации wsdl так же, как asmx.
Спасибо.