![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разное поведение D6 и D7 при вызове web-сервиса [D6, D7, WinXP]
S.Ivanov © (2006-03-30 12:49:00)Имеется тестовый Web-сервис, написанный на C# 2.0, со следующим wsdl:
<?xml version="1.0" encoding="utf-8" ?>
<wsdl:definitions xmlns:soap=" http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm=" http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime=" http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns=" http://sivanov.drg/schemas/" xmlns:s=" http://www.w3.org/2001/XMLSchema" xmlns:soap12=" http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http=" http://schemas.xmlsoap.org/wsdl/http/" targetNamespace=" http://sivanov.drg/schemas/" xmlns:wsdl=" http://schemas.xmlsoap.org/wsdl/">
<wsdl:types />
<wsdl:message name="HelloWorldSoapIn">
<wsdl:part name="data" type="s:int" />
</wsdl:message>
<wsdl:message name="HelloWorldSoapOut">
<wsdl:part name="return" type="s:string" />
</wsdl:message>
<wsdl:portType name="ServiceSoap">
<wsdl:operation name="HelloWorld">
<wsdl:input message="tns:HelloWorldSoapIn" />
<wsdl:output message="tns:HelloWorldSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
<soap:binding transport=" http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="HelloWorld">
<soap:operation soapAction=" http://sivanov.drg/schemas/HelloWorld" style="rpc" />
<wsdl:input>
<soap:body use="encoded" namespace=" http://sivanov.drg/schemas/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace=" http://sivanov.drg/schemas/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap">
<soap12:binding transport=" http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="HelloWorld">
<soap12:operation soapAction=" http://sivanov.drg/schemas/HelloWorld" style="rpc" />
<wsdl:input>
<soap12:body use="encoded" namespace=" http://sivanov.drg/schemas/" encodingStyle=" http://www.w3.org/2003/05/soap-encoding" />
</wsdl:input>
<wsdl:output>
<soap12:body use="encoded" namespace=" http://sivanov.drg/schemas/" encodingStyle=" http://www.w3.org/2003/05/soap-encoding" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Service">
<wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
<soap:address location=" http://localhost/TestDelphiClient/Service.asmx" />
</wsdl:port>
<wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12">
<soap12:address location=" http://localhost/TestDelphiClient/Service.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
В D6 и D7 делаю одинаковые действия - генерирую с помощью визарда интерфейс сервиса и вызываю его через THTTPRIO, как описано в документации. В D7 все работает, а в D6 выдает ошибку "Internal Server Error (500)".
Это что - глюк D6?
Подскажите, если кто-нибудь сталкивался с подобной ситуацией. А то у заказчика используют D6, а переход на более старшую версию Delphi может оказаться для него неприемлемым.
tesseract (2006-03-30 14:05:00) [1]Возможно дело в indy (если через них работаешь)