Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Delphi wsdl export doesn't contain everything

107 views
Skip to first unread message

Erik Schuurman

unread,
Jul 28, 2008, 7:58:20 AM7/28/08
to
Hi,

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


jason palmer

unread,
Aug 1, 2008, 5:21:25 AM8/1/08
to

try use delphi 2007, you can find a free 14 day trial version here

http://cc.codegear.com/Free.aspx?id=24966

Erik Schuurman

unread,
Aug 1, 2008, 7:34:14 AM8/1/08
to
I am using Delphi 2007.....

>"jason palmer" <ja...@pbcomp.co.uk> wrote in message
>news:4892d595$1...@newsgroups.borland.com...

Bob Swart

unread,
Aug 3, 2008, 5:03:15 AM8/3/08
to
Hi Erik,

> 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

Erik Schuurman

unread,
Aug 4, 2008, 3:16:10 AM8/4/08
to
Thanx, that's it, it works!

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...

0 new messages