如何用delphi编写客户端程序连接,Java编写的Corba服务器,急!!!!!!(200分)

  • 主题发起人 主题发起人 weic
  • 开始时间 开始时间
W

weic

Unregistered / Unconfirmed
GUEST, unregistred user!
由于是项目合作,对方提供了一个IDL文件,一个IOR文件。
IDL文件已经用IDL2PAS转换成了Delphi的Pas文件,
工程文件编译没有问题。
但是,当Bind调用时,报“OBJECT_NOT_EXSIT”,何解?
有没有高手能够提供连接的简单的例程,多谢了。
解决问题另加200分。
 
看来用delphi作Corba客户端的人真少啊。
 
Delphi做客户端能够通过internet连接Corba服务器吗??
看样子是不能啊。
 
服务段是用visibroker开发的吗?
服务段有没有启动Smart Agent?
 
服务端是用jacOrb作的,应该是java写的。
Delphi应该可以连接的。
我现在在局网的方式下可以连通,但是在Internet上无法连通。
服务端好像使用了Proxy的设置。
这时好像无法使用delphi建立连接了。
Function ConnectCorbaServer: Boolean;
var
s: String;
Root_OBJ: CorbaObject;
begin
Result := False;
s := GetIORFromFile(IORFile);
ORBProxy.String_To_Object(PChar(s),Root_OBJPROXY);
SaveToLog('*****************开始联接服务器**********************');
SaveToLog('开始时间:'+GetNowTime);
Try
Root_Obj := Orb.StringToObject(s);
SaveToLog(GetNowTime+'IOR文件转换成功。');
Except
SaveToLog(GetNowTime+'IOR文件转换失败。请重新连接。');
Exit;
end;
Try
RootContext := TNamingContextHelper.Narrow(Root_Obj,true);
if RootContext = nil then
begin
SaveToLog(GetNowTime+'RootContext获取失败。请重新连接。');
Exit;
end;
SaveToLog(GetNowTime+'RootContext获取成功。');
Except
SaveToLog(GetNowTime+'RootContext获取失败。请重新连接。');
Exit;
end;
Try
if not LoadAllSerivce(RootContext) then
Exit;
Except
Exit;
end;
Result := True;
end;

这段代码在局域网上能够连接他们的服务器,但是在互联网上还是无法连通。
很奇怪啊。
 
后退
顶部