olv*_*lve 9 delphi wcf web-services asmx .net-4.0
我有一个在Delphi 2006中开发的服务器/客户端应用程序.客户端是Win32,Server是.net 1.1 webservice.
我们正在更新此项目,但必须以小步骤完成.我从服务器开始,在VS2010(C#.net 4.0)中创建了一个WCF项目.第一步是在不更改客户端的情况下使服务器在WCF中运行.所以我使用了facade模式,创建了一个类似于旧的delphi Webservice的接口,添加了对旧的.net 1.1 dll的引用,在我的实现中我只调用了旧的.net 1.1代码.
下一步更新客户端上的代理类.这失败了.WSDL导入器没有正确理解basicHttpBinding,因此生成的代理类无法替换现有代理.
经过一番研究后,我找到了这篇博文.
http://kjellsj.blogspot.com/2006/12/how-to-expose-wcf-service-also-as-asmx.html
这很有效,ASMX WSDL与旧的.net 1.1没什么不同,所以一切都很好.
但事实并非如此.在测试新服务时,我发现服务器上的所有参数都为空/空.我在客户端上尝试使用Fiddler,并且参数存在于发送到服务器的XML中.
所以我被卡住了.任何关于如何解决这个问题的想法都将非常感激.有没有任何代码可以有用,看看然后让我知道.
我在 Web 服务 asmx 中遇到了类似的问题...某些数据正在丢失其值。如果您使用分层数据,则可能需要使用 XmlInclude 属性来声明内部或继承的对象。例如,如果您有一个在服务中使用的 User 类和一个 Customer 子类,则如果不直接在 Web 方法中使用它,您可能需要向服务声明 Customer 类。您将按如下方式执行此操作。
[XmlInclude(typeof(Customer))]
public class Service : WebService
Run Code Online (Sandbox Code Playgroud)
当然,也可能与此无关,如果是这样的话,祝你好运。:)
归档时间: |
|
查看次数: |
854 次 |
最近记录: |