简体   繁体   English

Delphi SOAP服务器 - 文档/文字 - 可能吗?

[英]Delphi SOAP Server - Document/Literal - Possible?

We're using Delphi2005 with Delphi2007 patches, also experimenting with DelphiXE SOAP libraries. 我们正在使用带有Delphi2007补丁的Delphi2005,还试验了DelphiXE SOAP库。 But I've hit a snag... We've got an internal service that our app has been consuming for a year now. 但是我遇到了麻烦......我们的应用程序已经消耗了一年的内部服务。 The service uses document/literal convention, and is used by several systems on several platforms (java, .Net, and ours - Delphi2005). 该服务使用document / literal约定,并由多个平台上的几个系统使用(java,.Net和我们的 - Delphi2005)。 Now we need to become a publisher and not just a consumer. 现在我们需要成为出版商而不仅仅是消费者。 So we're building a server service. 所以我们正在构建服务器服务。 And the WSDL is coming out wrong. WSDL出错了。 I consume the "official" WSDL as document/literal, and when I try to serve it back as a service, it comes out as RPC style. 我使用“官方”WSDL作为文档/文字,当我尝试将其作为服务提供时,它以RPC样式出现。 Even though I've set the options of the HTTPSoapPascalInvoker.Converter to be [soLiteralParams, soDocument]. 即使我已将HTTPSoapPascalInvoker.Converter的选项设置为[soLiteralParams,soDocument]。 Now that I do some more searching, I find statements like this: "Delphi for Win32 does not support creating Document Literal Soap Servers." 现在我做了一些搜索,我发现这样的语句:“Delphi for Win32不支持创建Document Literal Soap Servers。” [ http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22664248.html ] [ http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22664248.html ]

That quote is a few years old. 这句话已经有几年了。 Does anyone know if it still applies? 有谁知道它是否仍然适用?
I AM in a position to move this portion of the project to Delphi2010 or XE if necessary, but I'd rather not (throws a wrench into our automated build process). 如果有必要,我可以将项目的这一部分移动到Delphi2010或XE,但我不愿意(在我们的自动构建过程中抛出一个扳手)。 Including the SOAP libs is ok, and we already do that. 包括SOAP库是可以的,我们已经这样做了。

So, if anyone knows whether it's possible to write a Win32 Delphi web service in 2005, 2010 or XE that will produce a WSDL that conforms to document/literal, I'd be very, very happy. 因此,如果有人知道是否可以在2005年,2010年或XE中编写一个Win32 Delphi Web服务来生成符合document / literal的WSDL,我会非常非常高兴。

AFAIK, last time I checked, the stock Delphi SOAP Server was limited to RPC and the "official" motto was that you could use Delphi Prism to build your server (ie we won't add Doc|Lit in Delphi). AFAIK,上次我检查过,Delphi SOAP Server的库存仅限于RPC,“官方”的座右铭是你可以使用Delphi Prism来构建你的服务器(即我们不会在Delphi中添加Doc | Lit)。
However, you can use the latest RemObjects SDK (not free) to build a Doc|lit SOAP Server, or use IndySOAP (open Source), but I don't know if there is a version compatible with D2009 and up (Unicode/Indy 10)... 但是,您可以使用最新的RemObjects SDK(非免费)构建Doc | lit SOAP服务器,或使用IndySOAP(开源),但我不知道是否有与D2009及更高版本兼容的版本(Unicode / Indy) 10)...

You can use WST . 你可以使用WST It is compatible with Delphi. 它与Delphi兼容。 Better check out from svn as the 0.5 release is actualy outdated. 更好地从svn检查,因为0.5版本实际上是过时的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM