如果使用ISAPI模式可以,但是升级台麻烦,我像做成CIG模式,但是与ISAPI模式一样设置的,却不能调用! 我的问题与下面的一个未解决的帖子完全一样!
http://topic.csdn.net/t/20061018/10/5090469.html
---------------------------- 楼主cbuiler(老公)2006-10-18 10:22:13 在 Delphi / 网络通信/分布式开发 提问
一个Delphi7编写的 WebServcie (CGI), 在 Win2k,XP 下都能正常工作, 但在 Win2003 Enterprise 下, 不能正常工作, 在Delphi7中Debug的时候在调用任何一个接口的时候都报下面错误:
Unable to load WSDL File/Location:
http://192.168.100.33/LcdServiceCGI/LcdService.exe/wsdl/IWSLcdConfigIntf. Error [End tag 'head' does not match the start tag 'META'
Line: 1
<html> <head> <META name="serviceInspectio]
不知道是什么原因,好像在Win2003环境下,不能正确解析XML
http://topic.csdn.net/t/20061018/10/5090469.html
---------------------------- 楼主cbuiler(老公)2006-10-18 10:22:13 在 Delphi / 网络通信/分布式开发 提问
一个Delphi7编写的 WebServcie (CGI), 在 Win2k,XP 下都能正常工作, 但在 Win2003 Enterprise 下, 不能正常工作, 在Delphi7中Debug的时候在调用任何一个接口的时候都报下面错误:
Unable to load WSDL File/Location:
http://192.168.100.33/LcdServiceCGI/LcdService.exe/wsdl/IWSLcdConfigIntf. Error [End tag 'head' does not match the start tag 'META'
Line: 1
<html> <head> <META name="serviceInspectio]
不知道是什么原因,好像在Win2003环境下,不能正确解析XML
解决方案 »
- 各位帮帮我,字符转换成ASCII码的问题??
- 大家这几天对CSDN有种说不出的味道!不过论坛终于开通了!高兴!送分!
- 请问如何找到有什么DLL注册到IE?(紧急求救!)
- 在线等待。。急。。200分。。。@#¥¥%^&×&(请问怎么统计listview所显示的内容
- 既懂汇编(masm)又懂delphi的请近来看看!!!!!!!!!!散分!在线期待您的答案!
- 如何调用Windows的“关于...”界面?
- gzip如何解码
- 帮我看看这段代码,问题出在什么地方。谢谢
- <p><font size="7">50分求indy控件的教程</font></p>
- 誰有陳達寬的《delphi深度歷險》光碟的屏保源代碼或下載地址﹖謝。
- 该贴不必回复!因为发分不够,所以追加100
- 今天收到用C币换购邮寄来的新书,开心散分!
"Web 服务扩展"下面的"所有未知 CGI 扩展"设置为"允许"(默认为“禁止”)。
那么使用工具wsdlimp.exe时输入的就是http://localhost/Test.exe/wsdl/ITest
输入http://localhost/Test.exe/wsdl没有放回了(也不是没有返回,而是返回的与输入http://localhost/Test.exe的一样,应该是不对的)如果输入http://localhost/Test.exe/wsdl/ITest,返回还是与http://localhost/Test.exe返回一样!
一切正常。但是执行的时候就报错Unknow SOAPAction "http://tempuri.org/ReturnStr"
{ Invokable interfaces must be registered }
CoInitialize(nil);
//InvRegistry.RegisterInterface(TypeInfo(IMyTest2),'http://tempuri.org/','utf-8');
//InvRegistry.RegisterDefaultSOAPAction(TypeInfo(IMyTest2),'http://tempuri.org/%operationName%');
InvRegistry.RegisterInterface(TypeInfo(IMyTest2));
CoUnInitialize;
这样子修改就正常了。
//InvRegistry.RegisterDefaultSOAPAction(TypeInfo(IMyTest2),'http://tempuri.org/%operationName%');
这两句是我病急乱投医,加上去测试的!加上去之前我这也是不行的!我想看看你的exe在我这能不能运行,如果可以,那就是不能在XP下编译!
wsdlimp.exe执行后返回的是正常的XML
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="IMyTest2service" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
<message name="ReturnStr0Request"/>
<message name="ReturnStr0Response">
<part name="return" type="xs:string"/>
</message>
<portType name="IMyTest2">
<operation name="ReturnStr">
<input message="tns:ReturnStr0Request"/>
<output message="tns:ReturnStr0Response"/>
</operation>
</portType>
<binding name="IMyTest2binding" type="tns:IMyTest2">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ReturnStr">
<soap:operation soapAction="urn:MyTest2Intf-IMyTest2#ReturnStr" style="rpc"/>
<input>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:MyTest2Intf-IMyTest2"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:MyTest2Intf-IMyTest2"/>
</output>
</operation>
</binding>
<service name="IMyTest2service">
<port name="IMyTest2Port" binding="tns:IMyTest2binding">
<soap:address location="http://localhost/PMyTest2.exe/soap/IMyTest2"/>
</port>
</service>
</definitions>通过wsdlimp生成的单元调用Webservice返回上述错误。