急:web service的isapi形式发布问题(delphi7) (200分)

  • 主题发起人 主题发起人 xzyxm
  • 开始时间 开始时间
X

xzyxm

Unregistered / Unconfirmed
GUEST, unregistred user!
用web service 写一个很简单的function Txxx.getwsmsg(const sname:string):string;
begin
result:=sname+sname;
end;
用iis布置dll,在本机电脑上运行客户端正常,但到了另外一台电脑运行客户端
出现错误
" 文档的顶层无效。
Line 2
<SOAP-ENV:Envelope xmlin:SOAP_env="HTTP:."
是什么原因,为什么要本机执行客户端可以,但支另外一台电脑不行,是不是布置dll时还要什么文件,或者是delphi7要什么补丁。
并且有这样的规律
在iis上的那台电脑的ie的url=http://molley/xx/project3.dll/wsdl/刷新不会出错(页面内容是xml)
在别的电脑上的ie的url=http://molley/xx/project3.dll/wsdl/刷新每隔一次出错,页面上只出现
-2147417842 (0x8001010e)
 
把你的isapi形式的换成cgi的,试一下就不会有这个问题了。
 
to:那锦渤,
怎么做?
 
在生成WebService程序向导时选择CGI standard alone -execute即可。
 
to:那锦渤,
谢谢,我的程序是要用dll发布的,放在iis上的,帮我再想一下吧!
 
难道cgi就不能放到iis下吗? isapi 在XXXimpl单元中有个initialization部分,改为
initialization
coInitialize(nil);
InvRegistry.RegisterInvokableClass(Tjjj);
finalization
CoUninitialize
end.
试一下。
如果是cgi默认编译出来的扩展名是exe,你可以更改project 的Options属性,
在Application页中有个output setting,可以设置文件的扩展名。
 
to::那锦渤
试了,第一次可以用,第二次就不行了,以后就要重启iis又可以用一次!
不知你有没有别的方法,谢谢!
 
Web Service 用C#来写,Delphi写客户端调用就可以了。xml传输的时候用gb2312,不然中文会有问题。
 
to:kgafly,
以前我们用d6写了,也还满意的,用d7也相信也可了,可能要什么补丁.
 
我想用 C# 写 Web service 是最简单的,Delphi 的 web service 实际上是
用Com技术实现的,我用的也不多.
 
to:xeen,
谢谢。
 
有没有人知道?
马上放分!
 
偶记得可以的,好象是跟session有关系,但是好久没用了,都快忘光了,实在不行你换成
cgi的,肯定可以的,偶以前就是用cgi的,挺稳定的,速度也很快,isapi的后来也调试过,但是好象不太稳定
 
不好意思,这方面没什么经验
可能是客户端的IE,MSXML等版本不对
 
虚拟目录的权限设置好吗?
 
to 老李(laoli)
本机电脑上(指装iis的)运行客户程序正常,但到了另外一台电脑运行就不行了,但第一次可以。以前用d6写得wen service放到该目录也可以,怀疑d7可能要补丁,但找不到补丁。
真是急。。。
 
TO:ALL
谢谢大家热情的帮助,分不多请笑纳。
原来是dll的project文件中顺序反了, 正确应该是
ISAPIApp,
ISAPIThreadPool
 
接受答案了.
 
这下惨了,分发错了,可不可以改??
 
后退
顶部