Article

From:
To:
Dann Croghan
Subject:
Re: WSDL - Cannot Unwrap issues [Edit]
Newsgroup:
embarcadero.public.delphi.webservices

Re: WSDL - Cannot Unwrap issues [Edit]

Hello,

I did not get to spend much time on this yesterday but I did import the WSDL. And indeed I saw the headers. Here's what I got:
{code}   // ************************************************************************ //   // XML : MFETHeaderType, global, <complexType>   // Namespace : http://www.fastenterprises.com   // Info : Header   // ************************************************************************ //   MFETHeaderType2 = class(TSOAPHeader)   private     FUser: string;     FPassword: string;     FEnvironment: EnvironmentType;   published     property User: string Index (IS_NLBL) read FUser write FUser;     property Password: string Index (IS_NLBL) read FPassword write FPassword;     property Environment: EnvironmentType read FEnvironment write FEnvironment;   end;

  // ************************************************************************ //   // XML : MFETHeaderType, global, <element>   // Namespace : http://www.fastenterprises.com   // ************************************************************************ //   MFETHeaderType = class(MFETHeaderType2)   private   published   end;

  // ************************************************************************ //   // XML : MFETHeader, global, <element>   // Namespace : http://www.fastenterprises.com   // Info : Header   // ************************************************************************ //   MFETHeader = class(MFETHeaderType2)   private   published   end; {code}
NOTE: The importer is very verbose for what should have been just one type. However, it's because the WSDL used a global <element> that mapped to a global <complexType> ... when that happens the importer does not collapse the element and its type because something else could be referring to the type. (It's possible to walk the model and catch that nothing else is referring to the type except for the Header element and collapse; someday I'll get to that:).
And the importer also showed that the method expects the header:
{code}     // Headers: mvntHeader:pIn     function SubmissionListBySubmissionId(const SubmissionId: SubmissionId): SubmissionList; stdcall; {code}
The above is the part name. It would be best to emit the actually type of the part.
As soon as time allows I'll illustrate how to set the header. However, my main concern is that the error message you received does not have to do with missing the MFETHeader: rather, I think, it's because the service requires WS-Addressing (which is another header).
I'll expand more on that as soon as I get a chance.
Cheers,
Bruneau
FYI: Phrase searches are enclosed in either single or double quotes
 
 
Originally created by
Tamarack Associates
Sat, 27 Jul 2024 08:39:57 UTC
Copyright © 2009-2024
HREF Tools Corp.