本人已经用WebService做服务层连接好数据库
在写客户端应用程序的时候,可以有两种选择
1.用TSOAPConnection组件,直接连接服务的DSP
2.用THTTPRIO组件,直接调用服务端的IWEBAPP接口
请问两种方法各有什么特点?哪种更好一点?
麻烦有相关经验的高手赐教!
在写客户端应用程序的时候,可以有两种选择
1.用TSOAPConnection组件,直接连接服务的DSP
2.用THTTPRIO组件,直接调用服务端的IWEBAPP接口
请问两种方法各有什么特点?哪种更好一点?
麻烦有相关经验的高手赐教!
unit Unit3;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
DBClient, Project1_TLB, StdVcl, Provider, DB, DBTables;
type
TCoTestRDM = class(TRemoteDataModule, ICoTestRDM)
Table1: TTable;
DataSetProvider1: TDataSetProvider;
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
public
{ Public declarations }
end;
var
FChildRDMFactory:TComponentFactory;
implementation
uses Unit2;
{$R *.DFM}
class procedure TCoTestRDM.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end else begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;
initialization
FChildRDMFactory := TComponentFactory.Create(ComServer, TCoTestRDM,
Class_CoTestRDM, ciInternal, tmApartment);
end.
遇到一些问题:
1.本人的服务是用Kylix3写的,用apache2.0.40提供服务在编写程序的时候使用了TSOAPDataModule,放入了:SQLConnection,SQLDataSet,DataSetProvider;并连好了一个PostgreSQL数据库.编译生成了一个叫libwebtest.so的文件,并copy到apache的虚拟目录,重起了apache.
2.接下来编写客户端,用了TSOAPConnection.在URL里:http://192.168.xxx.xxx/libwebtest.so/soap/Iwebdm;"Iwebdm"是SOAP数据模块接口
接着使用ClientDataSet连接到TSOAPConnection,但是在Providername里什么也没有?
3.我用网页可以访问到服务程序:http://192.168.xxx.xxx/webapp
请问怎么设置TSOAPConnection才能连到服务端?是不是*.so文件的问题?
怀疑是D6UP2的BUG所致,试不出来,请高手指点哦