Gotta small problem with getting all the info in the wsdl I want. I know
what's going on I guess, just know how to fix it :)
I have some definitions like this
Container = class;
ArrayOfContainer = array of Container;
Container = class(TRemotable)
private
FName_: WideString;
FName__Specified: boolean;
procedure SetName_(Index: Integer; const AWideString: WideString);
function Name__Specified(Index: Integer): boolean;
published
property Name_: WideString Index (IS_OPTN) read FName_ write SetName_
stored Name__Specified;
end;
containerString = class(Container)
private
FValue: WideString;
FValue_Specified: boolean;
procedure SetValue(Index: Integer; const AWideString: WideString);
function Value_Specified(Index: Integer): boolean;
published
property Value: WideString Index (IS_OPTN) read FValue write SetValue
stored Value_Specified;
end;
containerInteger = class(Container)
private
FValue: Integer;
FValue_Specified: boolean;
procedure SetValue(Index: Integer; const AInteger: Integer);
function Value_Specified(Index: Integer): boolean;
published
property Value: Integer Index (IS_OPTN) read FValue write SetValue
stored Value_Specified;
end;
The invokable interface is like this:
IMySOAPWebService = interface(IInvokable)
['{7DFE8D01-EA5B-4720-8D76-2D8F208404EA}']
function PerformQuery(Param1: string): ArrayOfContainer; stdcall;
end;
In the initialization is this:
{ Invokable interfaces must be registered }
InvRegistry.RegisterInterface(TypeInfo(IMySOAPWebService));
In the wsdl the complex types containerString and containerInteger are
missing (probably since IMySOAPWebService only specifies the base class
Container). But I need them in the wsdl since the service might return them.
Anyone knows how to fix this?
Regards,
Erik
try use delphi 2007, you can find a free 14 day trial version here
>"jason palmer" <ja...@pbcomp.co.uk> wrote in message
>news:4892d595$1...@newsgroups.borland.com...
> containerString = class(Container)
> containerInteger = class(Container)
>
> In the wsdl the complex types containerString and containerInteger are
> missing (probably since IMySOAPWebService only specifies the base class
> Container). But I need them in the wsdl since the service might return them.
>
> Anyone knows how to fix this?
I would explicitly add calls to
RemClassRegistry.RegisterXSClass(containerString,'',
'containerString','');
RemClassRegistry.RegisterXSClass(containerInteger,'',
'containerInteger','');
And see if that has any effect...
> Regards,
> Erik
Groetjes,
Bob Swart
--
Bob Swart Training & Consultancy (eBob42.com) Forever Loyal to Delphi
CodeGear Technology Partner -- CodeGear RAD Studio Reseller (BeNeLux)
Delphi Win32 & .NET books on Lulu.com: http://stores.lulu.com/drbob42
Personal courseware + e-mail support http://www.ebob42.com/courseware
Blog: http://www.drbob42.com/blog - RSS: http://eBob42.com/weblog.xml
I figured that it would be something like registering those types
explicitly, but just didn't know how to.
Thanx again.
Erik
"Bob Swart" <B...@eBob42.com> wrote in message
news:48957453...@eBob42.com...