Служба WCF Delphi 7 Soap с использованием basicHttpBinding - PullRequest
2 голосов
/ 07 сентября 2010

Я добавил basicHttpBinding к существующему Сервису, имеющемуся в производстве, чтобы предоставить его для использования в Delphi.

Когда я пытаюсь использовать WSDLImporter из Delphi 7 для файла wsdl, он не работает правильно.

Раздел в полученном tlb говорит

// ************************************************************************ //
// The following types, referred to in the WSDL document are not being represented
// in this file. They are either aliases[@] of other types represented or were referred
// to but never[!] declared in the document. The types from the latter category
// typically map to predefined/known XML or Borland types; however, they could also
// indicate incorrect WSDL documents that failed to declare or import a schema type.
// ************************************************************************ //

Эта служба отлично используется клиентом .NET. Служба использует complexTypes, но они находятся в файлах и более новые разделены на несколько файлов для импорта по xsd.

Есть ли способ сделать это в Delphi 7? Я даже пытался вернуть все импортированные типы обратно в 1 документ WSDL. Без разницы.

Спасибо, Дэвид

Ответы [ 2 ]

0 голосов
/ 26 сентября 2013

Я знаю, что это старое (очень), но это может помочь кому-то еще справиться с этим, как если бы мы были с совместимостью WCF с Delphi.

В моем опыте была разница

  1. с использованием basicHttpBinding
  2. с использованием инструмента командной строки Delphi wsdlImp
  3. , обеспечивающего Soap 1.1
  4. , указывающий на адрес SingleWsdl.

ЗдесьВот как выглядит наша команда WsdlImp:

wsdlimp  -P -XName -Ox- -SOAP11 -Oa- -Ol+ -ob+ -= http://srvAddress:1253/WCF.Server/Utils.svc/metadata?singleWsdl=UtilsWsdl.pas
0 голосов
/ 08 сентября 2010

Первое предположение заключается в том, что службой WCF является SOAP 1.2, поддержка которой была добавлена ​​в Delphi 2010.

В Delphi 7 вы можете попробовать ответить на этот вопрос .

- Йерун

...