Groups > Borland > Delphi web services WSDL > Re: Import woes




Import woes

Import woes
Thu, 26 Jul 2007 09:26:30 -070
Please forgive me if this has already been answered.  I spent half the night 
poring over NG posts at www.tamaracka.com without finding an answer.  Also, 
I just subscribed to this NB in Outlook Express, and couldn't find anything 
promising in the headers it downloaded.

A new client has asked us to create a small web client in Delphi 7.  The 
problem I'm having is with the WSDL Importer, both hte wizard build into the 
IDE, and the command-line version. (I also tried it in Delphi 2006)

In the postings I studied, I discovered only one really useful tidbit - that 
Code-Gear is still struggling with the WSDL importer in Delphi 2007!

Before I go farther I should mention that the WSDL importer in the .NET 
Framework 2.0 SKD has no trouble at all with this WSDL.  Also, after 
creating a C++ MFC project in Visual Studio 2005, and adding a Web 
Reference, it managed to import almost everything - but not quite. Something 
stops it from creating the necessary .h file.

Here's the URL for the WSDL:
https://tmsqa1.rebt.com/tms/services/doc?wsdl

Here's a snippet of code generated by the Delphi importer:

  // 
************************************************************************ //
  // The following types, referred to in the WSDL document are not being 
represented
  // in this file. They are either aliases[@] of other types represented or 
were referred
  // to but never[!] declared in the document. The types from the latter 
category
  // typically map to predefined/known XML or Borland types; however, they 
could also
  // indicate incorrect WSDL documents that failed to declare or import a 
schema type.
  // 
************************************************************************ //
  // !:getDocumentList - "http://relay.rebt.com/ws/doc"
  // !:getDocumentListResponse - "http://relay.rebt.com/ws/doc"
  // !:DocumentServiceFault - "http://relay.rebt.com/ws/doc"
  // !:getDocumentVersionList - "http://relay.rebt.com/ws/doc"
  // !:getDocumentVersionListResponse -
"http://relay.rebt.com/ws/doc"
  // !:readDocumentVersion - "http://relay.rebt.com/ws/doc"
  // !:readDocumentVersionResponse - "http://relay.rebt.com/ws/doc"
  // !:addDocument     - "http://relay.rebt.com/ws/doc"
  // !:addDocumentResponse - "http://relay.rebt.com/ws/doc"
  // !:addDocumentVersion - "http://relay.rebt.com/ws/doc"
  // !:addDocumentVersionResponse - "http://relay.rebt.com/ws/doc"

---------------------------------------

This is the same problem generally reported on the NGs - the importer fails 
to resolve one or more methods.

As a result, we get compiler errors in the following generated code:

  DocumentService = interface(IInvokable)
  ['']
    function  getDocumentList(const parameters: getDocumentList): 
getDocumentListResponse; stdcall;
    function  getDocumentVersionList(const parameters: 
getDocumentVersionList): getDocumentVersionListResponse; stdcall;
    function  readDocumentVersion(const parameters: readDocumentVersion): 
readDocumentVersionResponse; stdcall;
    function  addDocument(const parameters: addDocument): 
addDocumentResponse; stdcall;
    function  addDocumentVersion(const parameters: addDocumentVersion): 
addDocumentVersionResponse; stdcall;
  end;

The DocumentService interface's functions all throw compiler errors on the 
parameter (and return) types.

The one thing that jumped out at me as a potential troublemaker in the WSDL 
is the reference to http://www.w3.org/2001/XMLSchema:

- <definitions xmlns:tns="http://relay.rebt.com/ws/doc" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns="http://schemas.xmlsoap.org/wsdl/" 
targetNamespace="http://relay.rebt.com/ws/doc"
name="DocumentWebService">

If you go to www.w3.org/2001/XMLSchema, you'll see no XML at all - it's an 
article. Could somebody explain the purpose of its presence in the WSDL?

My first thought was that w3.org had mesed up, and moved that page's former 
content someplace else.  But when I did a search in Microsoft's KB, I found 
articles posted as late as this year in which Microsoft themselves use that 
URL.

Suggestions, solutions anybody?

Thank you in advance.

Wes

Post Reply
Re: Import woes
Sun, 29 Jul 2007 10:26:25 -070
I've had problems with all versions of Delphi's WSDL importer, except
for the standalone, command-line WSDLImp.exe on Codegear.  Search
CodeGear, download that and try it in a DOS box. make sure you first
run it as WSDLImp /? to get all the command line param options. 

Don't know if this'll help you, but it costs nothing to try...


On Thu, 26 Jul 2007 09:26:30 -0700, "Wes Peterson" <wes at
prestwood
dot com> wrote:

>Please forgive me if this has already been answered.  I spent half the night

>poring over NG posts at www.tamaracka.com without finding an answer.  Also,

>I just subscribed to this NB in Outlook Express, and couldn't find anything

>promising in the headers it downloaded.
>
>A new client has asked us to create a small web client in Delphi 7.  The 
>problem I'm having is with the WSDL Importer, both hte wizard build into the

>IDE, and the command-line version. (I also tried it in Delphi 2006)
>
>In the postings I studied, I discovered only one really useful tidbit - that

>Code-Gear is still struggling with the WSDL importer in Delphi 2007!
>
>Before I go farther I should mention that the WSDL importer in the .NET 
>Framework 2.0 SKD has no trouble at all with this WSDL.  Also, after 
>creating a C++ MFC project in Visual Studio 2005, and adding a Web 
>Reference, it managed to import almost everything - but not quite. Something

>stops it from creating the necessary .h file.
>
>Here's the URL for the WSDL:
>https://tmsqa1.rebt.com/tms/services/doc?wsdl
>
>Here's a snippet of code generated by the Delphi importer:
>
>  // 
>************************************************************************ //
>  // The following types, referred to in the WSDL document are not being 
>represented
>  // in this file. They are either aliases[@] of other types represented or

>were referred
>  // to but never[!] declared in the document. The types from the latter 
>category
>  // typically map to predefined/known XML or Borland types; however, they 
>could also
>  // indicate incorrect WSDL documents that failed to declare or import a 
>schema type.
>  // 
>************************************************************************ //
>  // !:getDocumentList - "http://relay.rebt.com/ws/doc"
>  // !:getDocumentListResponse - "http://relay.rebt.com/ws/doc"
>  // !:DocumentServiceFault - "http://relay.rebt.com/ws/doc"
>  // !:getDocumentVersionList - "http://relay.rebt.com/ws/doc"
>  // !:getDocumentVersionListResponse -
"http://relay.rebt.com/ws/doc"
>  // !:readDocumentVersion - "http://relay.rebt.com/ws/doc"
>  // !:readDocumentVersionResponse -
"http://relay.rebt.com/ws/doc"
>  // !:addDocument     - "http://relay.rebt.com/ws/doc"
>  // !:addDocumentResponse - "http://relay.rebt.com/ws/doc"
>  // !:addDocumentVersion - "http://relay.rebt.com/ws/doc"
>  // !:addDocumentVersionResponse -
"http://relay.rebt.com/ws/doc"
>
>---------------------------------------
>
>This is the same problem generally reported on the NGs - the importer fails

>to resolve one or more methods.
>
>As a result, we get compiler errors in the following generated code:
>
>  DocumentService = interface(IInvokable)
>  ['']
>    function  getDocumentList(const parameters: getDocumentList): 
>getDocumentListResponse; stdcall;
>    function  getDocumentVersionList(const parameters: 
>getDocumentVersionList): getDocumentVersionListResponse; stdcall;
>    function  readDocumentVersion(const parameters: readDocumentVersion): 
>readDocumentVersionResponse; stdcall;
>    function  addDocument(const parameters: addDocument): 
>addDocumentResponse; stdcall;
>    function  addDocumentVersion(const parameters: addDocumentVersion): 
>addDocumentVersionResponse; stdcall;
>  end;
>
>The DocumentService interface's functions all throw compiler errors on the 
>parameter (and return) types.
>
>The one thing that jumped out at me as a potential troublemaker in the WSDL

>is the reference to http://www.w3.org/2001/XMLSchema:
>
>- <definitions xmlns:tns="http://relay.rebt.com/ws/doc" 
>xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>xmlns="http://schemas.xmlsoap.org/wsdl/" 
>targetNamespace="http://relay.rebt.com/ws/doc"
name="DocumentWebService">
>
>If you go to www.w3.org/2001/XMLSchema, you'll see no XML at all - it's an 
>article. Could somebody explain the purpose of its presence in the WSDL?
>
>My first thought was that w3.org had mesed up, and moved that page's former

>content someplace else.  But when I did a search in Microsoft's KB, I found

>articles posted as late as this year in which Microsoft themselves use that

>URL.
>
>Suggestions, solutions anybody?
>
>Thank you in advance.
>
>Wes
Post Reply
about | contact