Files
lazarus-ccr/wst/trunk/tests/SDMTabularService/SDMTabularService.pas

173 lines
4.4 KiB
ObjectPascal
Raw Normal View History

{
This unit has been produced by ws_helper.
Input unit name : "SDMTabularService".
This unit name : "SDMTabularService".
Date : "11/07/2007 23:11:05".
}
unit SDMTabularService;
{$IFDEF FPC} {$mode objfpc}{$H+} {$ENDIF}
interface
uses SysUtils, Classes, TypInfo, base_service_intf, service_intf;
const
sNAME_SPACE = 'http://SDMDataAccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx';
sUNIT_NAME = 'SDMTabularService';
type
schema_Type = class(TStringBufferRemotable) end;
//diffgram_Type = class(TStringBufferRemotable);
RunQueryType = class;
RunQueryResponse_RunQueryResult_Type = class;
RunQueryResponse = class;
RunQueryType = class(TBaseComplexRemotable)
private
FQuery : string;
private
function HasQuery() : Boolean;
published
property Query : string read FQuery write FQuery stored HasQuery;
end;
{ RunQueryResponse_RunQueryResult_Type }
RunQueryResponse_RunQueryResult_Type = class(TBaseComplexRemotable)
private
Fdiffgram : schema_Type;
Fschema : schema_Type;
function Hasdiffgram : boolean;
public
constructor Create();override;
Destructor Destroy();override;
published
property schema : schema_Type read Fschema write Fschema;
property diffgram : schema_Type read Fdiffgram write Fdiffgram stored Hasdiffgram;
end;
RunQueryResponse = class(TBaseComplexRemotable)
private
FRunQueryResult : RunQueryResponse_RunQueryResult_Type;
private
function HasRunQueryResult() : Boolean;
public
constructor Create();override;
destructor Destroy();override;
published
property RunQueryResult : RunQueryResponse_RunQueryResult_Type read FRunQueryResult write FRunQueryResult stored HasRunQueryResult;
end;
SDMTabularServiceSoap = interface(IInvokable)
['{6F9CD0B5-85E3-43A5-9265-5F6AD11B3742}']
function RunQuery(
Const RunQueryParam : RunQueryType
):RunQueryResponse;
end;
procedure Register_SDMTabularService_ServiceMetadata();
Implementation
uses metadata_repository;
{ RunQueryType }
function RunQueryType.HasQuery() : Boolean;
begin
Result := True;
end;
{ RunQueryResponse }
destructor RunQueryResponse.Destroy();
begin
if Assigned(FRunQueryResult) then
FreeAndNil(FRunQueryResult);
inherited Destroy();
end;
function RunQueryResponse.HasRunQueryResult() : Boolean;
begin
Result := True;
end;
constructor RunQueryResponse.Create();
begin
inherited Create();
FRunQueryResult := RunQueryResponse_RunQueryResult_Type.Create();
end;
procedure Register_SDMTabularService_ServiceMetadata();
var
mm : IModuleMetadataMngr;
begin
mm := GetModuleMetadataMngr();
mm.SetRepositoryNameSpace(sUNIT_NAME, sNAME_SPACE);
mm.SetServiceCustomData(
sUNIT_NAME,
'SDMTabularServiceSoap',
'TRANSPORT_Address',
'http://sdmdataaccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx'
);
mm.SetServiceCustomData(
sUNIT_NAME,
'SDMTabularServiceSoap',
'FORMAT_Style',
'document'
);
mm.SetOperationCustomData(
sUNIT_NAME,
'SDMTabularServiceSoap',
'RunQuery',
'TRANSPORT_soapAction',
'http://SDMDataAccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx/RunQuery'
);
mm.SetOperationCustomData(
sUNIT_NAME,
'SDMTabularServiceSoap',
'RunQuery',
'FORMAT_Input_EncodingStyle',
'literal'
);
mm.SetOperationCustomData(
sUNIT_NAME,
'SDMTabularServiceSoap',
'RunQuery',
'FORMAT_OutputEncodingStyle',
'literal'
);
end;
{ RunQueryResponse_RunQueryResult_Type }
function RunQueryResponse_RunQueryResult_Type.Hasdiffgram : boolean;
begin
Result := ( diffgram <> nil );
end;
constructor RunQueryResponse_RunQueryResult_Type.Create();
begin
inherited Create();
Fschema := schema_Type.Create();
Fdiffgram := schema_Type.Create();
end;
destructor RunQueryResponse_RunQueryResult_Type.Destroy();
begin
FreeAndNil(Fdiffgram);
FreeAndNil(Fschema);
inherited Destroy();
end;
initialization
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(RunQueryType),'RunQuery');
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(RunQueryResponse_RunQueryResult_Type),'RunQueryResponse_RunQueryResult_Type').RegisterExternalPropertyName('schema','xs:schema');
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(RunQueryResponse_RunQueryResult_Type),'RunQueryResponse_RunQueryResult_Type').RegisterExternalPropertyName('diffgram','diffgr:diffgram');
GetTypeRegistry().Register(sNAME_SPACE,TypeInfo(RunQueryResponse),'RunQueryResponse');
End.