2012-02-09 20 views
5

WSDLImporter(およびWSDLImpコマンドライン)を使用して、Delphi 7にWSDLをインポートしようとしています。WSDLをDelphi 7にインポートする際のスタックオーバーフローエラー

WSDLImporterを使用すると、Delphiのメモリ使用量がクラッシュ(エラーなし)またはスタックオーバーフローエラーが発生するまで増加し始めます。私は

Borland WSDLIMP Version 2.2 - $Rev: 10138 $ 
Copyright (c) 2007 Borland Software Corporation 
Reading: https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl 
Import : https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl:0 
*Error*: http://api.demo.ezidebit.com.au/v3-3/nonpci?xsd=xsd0 
*Error*: http://api.demo.ezidebit.com.au/v3-3/nonpci?xsd=xsd1 
*Error*: http://api.demo.ezidebit.com.au/v3-3/nonpci?xsd=xsd2 
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl=wsdl0 
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl 
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl=wsdl0 
Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl 

これを、次のgetコマンドラインツールを使用して、その後何度も繰り返し、最後の2行をループ

。明らかに、これはエラーを示していますが、そのエラーの詳細についての詳細はありません。

私はのMicrosoft Visual StudioにC#プロジェクトを作成しましたが、Web参照としてこれを問題なく追加しましたが、以前のコードのためにDelphi 7でも必要です。

WSDLのアドレスは、私もエラーなしで使用してこれあるsoapUIをロードしようとしてい

https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl

です。

EDIT 私は、Delphi XE2(可能な解決策として、別の質問で述べた)の試用版をダウンロードして、それは私のPASファイルの先頭に次の私を与えています。 (私は必要に応じてコード全体をアップロードできます)

私は、Delphiが好きではないWSDLファイルに問題があると仮定しています。 WSDL開発者に変更を依頼してインポートすることができるかどうかの手掛かりはありますか?

// ************************************************************************ // 
// The types declared in this file were generated from data read from the 
// WSDL File described below: 
// WSDL  : https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl 
// >Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl=wsdl0 
// >Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl 
// >Import : https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl>0 
// >Import : http://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl>0 
// Encoding : utf-8 
// Version : 1.0 
// (9/02/2012 2:32:14 PM - - $Rev: 37707 $) 
// ************************************************************************ // 

unit nonpci; 

interface 

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns; 

type 

    // ************************************************************************ // 
    // 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 Embarcadero types; however, they could also 
    // indicate incorrect WSDL documents that failed to declare or import a schema type. 
    // ************************************************************************ // 
    // !:CreateScheduleResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:CreateSchedule - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ClearScheduleResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ClearSchedule - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ChangeScheduledAmountResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPayments  - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPaymentDetailPlusNextPaymentInfoResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ChangeScheduledAmount - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPaymentsResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ChangeScheduledDate - "https://px.ezidebit.com.au/"[Lit][] 
    // !:IsSystemLockedResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:IsSystemLocked - "https://px.ezidebit.com.au/"[Lit][] 
    // !:PaymentExchangeVersionResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:PaymentExchangeVersion - "https://px.ezidebit.com.au/"[Lit][] 
    // !:IsBsbValidResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:TestFunction - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ChangeScheduledDateResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:IsBsbValid  - "https://px.ezidebit.com.au/"[Lit][] 
    // !:TestFunctionResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetCustomerDetails - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ChangeCustomerStatusResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:AddPayment  - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetCustomerDetailsResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:ChangeCustomerStatus - "https://px.ezidebit.com.au/"[Lit][] 
    // !:AddCustomerResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:AddCustomer  - "https://px.ezidebit.com.au/"[Lit][] 
    // !:EditCustomerDetailsResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:EditCustomerDetails - "https://px.ezidebit.com.au/"[Lit][] 
    // !:AddPaymentResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPaymentDetail - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPaymentStatusResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPaymentDetailPlusNextPaymentInfo - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPaymentDetailResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetPaymentStatus - "https://px.ezidebit.com.au/"[Lit][] 
    // !:DeletePaymentResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:DeletePayment - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetScheduledPaymentsResponse - "https://px.ezidebit.com.au/"[Lit][] 
    // !:GetScheduledPayments - "https://px.ezidebit.com.au/"[Lit][] 
+0

あなたはしかし、それは私の記憶が正しければ、デルファイ7のようになり、 "著作権(C)2007" と言うログで、Delphi 7の話をしている "著作権(C)2002"、ノート2007!= 2002年、あなたの検索パスにdelphi 7ではなくdelph 2006/7が存在する可能性はありますか?C:\ Programファイル\ボーランド\ Delphi7 \ bin \ WSDLImp.exe "CMDで正しいWSDLImpを呼び出すことを確認する – ComputerSaysNo

+1

@DorinDuminica、OPはこの更新されたインポーターを使用していますhttp://cc.embarcadero.com/Item/24535 – RRUZ

+0

私の悪い、しかし多分彼は元のものを試して、それは価値があるショットを与える必要があります... – ComputerSaysNo

答えて

0

は疑問多分便利に答えない:Free Pascalにも、WSDLインポートツールを持っているWebサービスツールキットを持っています。ドキュメンテーションによれば、Delphiでも動作します。

「Webサービスツールキットは、」FPC、Lazarusと デルファイのためのWebサービスのパッケージされ; 『Webサービスツールキット』 FPC、LazarusとDelphiのユーザーが、Webサービス 消費と作成を容易にするためのものです

http://wiki.freepascal.org/Web_Service_Toolkit

+0

チップをありがとう。 Visual StudioでWebサービスメソッドを公開しているActive Xコントロールを作成し、Delphi 7でそれを使用する必要があると考えてください。 –

+0

うれしいことに助けてください!非常に単純なWebサービスの場合、HTTP Server/Clientリンクもオプションになる可能性があります。オープンソースソリューションに基づくメッセージ指向のミドルウェア(私のプロファイルのホームページを参照)。 – mjn

関連する問題