写了一个webserver的ISAPI组件,在D7能够正常运行。
1.一模一样的D7组件复制一个出来,直接复制出来然后用Xe2打开,重新编译,编译通过,把ISAPI组件放入Scripts但客户端调用失败.出错信息为 received content of invaild content-type setting:text/html - soap expects "text/xml"
这在过去d7也出现过。但 Web.Win.ISAPIApp,
  Web.Win.ISAPIThreadPool,顺序我已经做了调整Web.Win.ISAPIApp在前的。
2.索性也不复制了,自己手工在Xe2用 file->new->other->webservices-soap server applicaiton->ISAPI dynamic link library。重新写一边,编译通过。但客户端又调用失败。还是同样的错误信息
3.进一步分析
d7编译后在ll在浏蓝器中输入http://localhost/scripts/ISAPID7.dll/soap/IISAPITestD7就会出现,显示正常
  <?xml version="1.0" ?> 
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
- <SOAP-ENV:Body>
- <SOAP-ENV:Fault>
  <faultactor /> 
  <faultcode>SOAP-ENV:Server</faultcode> 
  <faultstring>XML document must have a top level element. Line: 0</faultstring> 
  </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
而在xe2编译的dll用同样的方法却无法显示这样的类似信息,原因应该就在这里了,我不知道做同样websever中的朋友,有没有遇到同样问题求教中
附件我不能上传。真是麻烦

解决方案 »

  1.   

    d7编译的isapi都无法在win2008r2的iis7.5里使用。。
    据说是内部实现还是有一点未能完全符合isapi标准
      

  2.   

    所以应该早做打算了,但 xe2编译的isapi,居然在目前的windows2003中都还不能使用,同样的代码delphi编出来的可以,我也没有做什么char类型的东西,怪事,请高手求教
      

  3.   

     xe2编译的isapi,居然在目前的windows2003中都还不能使用?
    在win2008r2的iis7.5里能使用吗?可能兼容iis7又不能兼容iis6、5了。
      

  4.   

    K FAK FDFKDF;A ka fkd fkd 呀城颉