2010-09-07 2 views
2

Я добавил базовоеHttpBinding к существующей службе, которую я имею в производстве, чтобы разоблачить ее для использования в Delphi.Delphi 7 Soap WCF Service с использованием basicHttpBinding

Когда я пытаюсь использовать 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-документ. Нет разницы.

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

ответ

0

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

Что сделал разницу в моем собственном опыте был

  1. использованием BasicHttpBinding
  2. с помощью Delphi wsdlImp инструмент командной строки
  3. принуждая Мыло 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

I я принимаю это ... Я предполагаю, что это работает. Я больше не работаю с Delphi. – DavieDave

+0

Какая версия поддержки wsdlimp -SOAP11? (версия 11.0.2811.27992 не поддерживает) – Mohamad

+0

на основе ответа Джереена, вы можете оставить этот параметр, так как он уже будет Soap11. – reckface

0

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

Для Delphi 7, вы можете попробовать некоторые из ответов на this question.

--jeroen

+0

я вижу ... Ну взял их достаточно долго. Благодарю. – DavieDave

+0

хотя ... basicHttpBinding должен работать с Delphi правильно? – DavieDave

+0

basicHttpBinding - это самое основное связывание - SOAP 1.1, не так много с точки зрения безопасности, но немного больше с точки зрения возможностей, - но совместимый с любым клиентом SOAP -> отлично подходит для интероперабельности, слабые функции и безопасность – DavieDave