使用basicHttpBinding的Delphi 7 Soap WCF服务 [英] Delphi 7 Soap WCF Service using basicHttpBinding

查看:102
本文介绍了使用basicHttpBinding的Delphi 7 Soap WCF服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我向生产中已有的现有服务添加了basicHttpBinding,以便将其公开用于Delphi。

I added a basicHttpBinding to an existing Service I have in production in order to expose it for use in Delphi.

当我尝试使用Delphi 7中的WSDLImporter时在wsdl文件中,它不能正常工作。

When I try to use the WSDLImporter from Delphi 7 on the wsdl file, it doesn't work right.

生成的tlb中的一部分显示

A section in the resulting tlb says

// ************************************************************************ //
// 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拆分为多个文件以导入。

This service is consumed fine by .NET client. The service is using complexTypes but they are in the files and they are the newer split out to multiple files for imports by xsd.

在Delphi 7中可以这样做吗?我什至尝试将所有导入的类型拉回到1个wsdl文档。没什么区别。

Any way of doing this in Delphi 7? I even tried pulling all imported types back to 1 wsdl document. No difference.

谢谢,
David

Thanks, David

推荐答案

我知道这很旧(非常),但是它可能会帮助其他人挣扎,就像我们与Delphi的WCF互操作性一样。

I know this is old (very) but it might help someone else out struggling through this like we were with WCF interoperability with Delphi.

是什么使我自己的经历与众不同是

What made the difference in my own experience was


  1. 使用basicHttpBinding

  2. 使用Delphi wsdlImp命令行工具

  3. 强制使用肥皂1.1

  4. 指向SingleWsdl地址。

  1. using basicHttpBinding
  2. using the Delphi wsdlImp command line tool
  3. enforcing Soap 1.1
  4. pointing to the SingleWsdl address.

我们的WsdlImp命令如下所示:

Here is an what our WsdlImp command looks like:

wsdlimp  -P -XName -Ox- -SOAP11 -Oa- -Ol+ -ob+ -= http://srvAddress:1253/WCF.Server/Utils.svc/metadata?singleWsdl=UtilsWsdl.pas

这篇关于使用basicHttpBinding的Delphi 7 Soap WCF服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆