delphi 调用 C# web services 相关问题(200分)

  • 主题发起人 主题发起人 5207
  • 开始时间 开始时间
5

5207

Unregistered / Unconfirmed
GUEST, unregistred user!
我调用的方式:
1、先使用VS2005创建一个Web Services。
2、使用D7创建一个应用程序,导入WSDL。
3、动行调用HelloWorld方法。

1、第一次去调用HelloWorld是成功的,但第二去点击调用就会出现上面列出的异常信息。出现这个异常后再去调用Hello World方法还是报异常。但同时我使用VS2005写一个调用程序却没有问题。(这个问题是由于卡巴斯基的原因,但不是为何);
2、如何通过Web Services来传关大文件。
 
请问异常信息在哪儿?没列出啊
卡巴比较狠是真的
关了试下

另外有个疑问,VS2005开发的是基于.net,D7是for win32的,难道不会存在兼容问题吗?
 
DIGUA:
关掉卡巴以后就正常了,我也没有去查原因。

另外你问的问题,Web services是通用标准,与平台无关的。但是设置上会有许多不同,比如我用D去调用VS2005开发的Web Services就会出现参数无法传递的问题,但是只要作些修改就能解决。
 
楼主,再问个问题,vs2005写的程序需要安装dotnet framework 才能运行,VS2005的web services是否可以脱离dotnet framework ?(没搞过,想了解下,呵呵)
 
不可以。
 
》我调用的方式:
》1、先使用VS2005创建一个Web Services。
》2、使用D7创建一个应用程序,导入WSDL。
》3、动行调用HelloWorld方法。
》1、第一次去调用HelloWorld是成功的,但第二去点击调用就会出现上面列出的异常信息。

没有看到你列的异常信息。[8D]
如果是卡巴斯基,那就加入“信任区域”试试。

》2、如何通过Web Services来传关大文件。
如果是大文件,WebServices不太适合的。
Base64编完码后基本要比原来文件大1.3倍。
建议你传文件还是用FTP吧。
 
哦。谢谢。

传大文件我是考虑使用分包发送的方式实现。
 
d7 调 .net 下的部分 webservice 有bug,有时会莫名的调用异常, 你可以搜索一下旧帖子。
解决办法
在导入生成的service 描述文件中的 initialization 部分,手工添加下面一句
InvRegistry.RegisterInvokeOptions(TypeInfo(Soap接口名), ioDocument);

使用 delphi2005 ,或者d7的专用补丁,则不再存在这个问题。
 
跟卡巴应该无关
 
shangshang,
1、d7 调 .net 下的部分 webservice 有bug,有时会莫名的调用异常, 你可以搜索一下旧帖子。

至于这个BUG,我查找了网上的相关资料,问题解决,用你所提供的方法解决不了,我试过的。
解决方法如下:
在用VS2005写的WebService的类属性中加入SoapRpcServiceAttribute属性就可以了。
如 下:
[SoapRpcService(RoutingStyle=SoapServiceRoutingStyle.SoapAction)]

2、确实是卡巴的原因,我测试的机器上装有卡巴7!我关闭卡巴,则测试通过。
 
[:D]那还不发分
 
多人接受答案了。
 
后退
顶部