Webservice 问题。急!!(300分)

  • 主题发起人 主题发起人 lin-bin
  • 开始时间 开始时间
L

lin-bin

Unregistered / Unconfirmed
GUEST, unregistred user!
我用李维的D6 SOAP_WEB SERVICE程序设计上书的一个简单的例子,当客户端用httpprio
的属性wdsllocation = http://localhost/Ta/ProFirst.exe/wsdl/IFirst
要当接service中的列表的时候出现

---------------------------
Error
---------------------------
Unable to load WSDL File/Location: http://localhost/Ta/ProFirst.exe/wsdl/IFirst. Error [Bad Request (400) - 'http://localhost/Ta/ProFirst.exe/wsdl/IFirst'].
---------------------------
OK
---------------------------
不知道哪里错了。望高手指教
 
你直接在IE里面 http://localhost/Ta/ProFirst.exe/wsdl/IFirst访问一下看,如果成功就没问题,可是你的URL估计有问题。
给你个参考看看
defWSDL = 'http://10.64.200.49:7001/otsintegrate/services/OTSService?wsdl';
 
在IE里面也不行,Ta 是我在iis建立的虚拟目录
我是按照李维书的例子上做的。
我建立的类型 是CGI.
这个地址defWSDL = 'http://10.64.200.49:7001/otsintegrate/services/OTSService?wsdl'; 访问不到。
 
这个是我定义的接口与接口实现
unit FirstIntf;

interface

uses InvokeRegistry, Types, XSBuiltIns;

type

{ Invokable interfaces must derive from IInvokable }
IFirst = interface(IInvokable)
['{E96EC68C-BFEF-42D8-8B62-5B4A4B65A6F2}']
function GetWsMsg:string;stdcall;
{ Methods of Invokable interface must not use the default }
{ calling convention; stdcall is recommended }
end;

implementation

initialization
{ Invokable interfaces must be registered }
InvRegistry.RegisterInterface(TypeInfo(IFirst));

end.



接口实现
unit FirstImpl;

interface

uses InvokeRegistry, Types, XSBuiltIns, FirstIntf;

type

{ TFirst }
TFirst = class(TInvokableClass, IFirst)
public
function GetWsMsg:string;stdcall;
end;

implementation

{ TFirst }

function TFirst.GetWsMsg: string;
begin
Result := 'First WebService Hello World';
end;

initialization
{ Invokable classes must be registered }
InvRegistry.RegisterInvokableClass(TFirst);

end.
 
还有我的WebService 是CGI类型的,知道为什么用IE部是访问不成功如:
http://localhost/scripts/PCGIWSDemo1.Exe/wsdl/IMyFirstWS
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
940
SUNSTONE的Delphi笔记
S
I
回复
0
查看
695
import
I
I
回复
0
查看
965
import
I
后退
顶部