Tôi đang cố gắng nhập WSDL vào Delphi 7 bằng cách sử dụng WSDLImporter (cũng như dòng lệnh WSDLImp).Lỗi tràn ngăn xếp khi nhập WSDL vào Delphi 7
Khi sử dụng WSDLImporter, việc sử dụng bộ nhớ của Delphi chỉ bắt đầu tăng cho đến khi lỗi (không có lỗi) hoặc tôi gặp lỗi tràn ngăn xếp.
Khi sử dụng công cụ dòng lệnh tôi nhận được sau
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
này sau đó vòng qua 2 dòng cuối cùng hơn và hơn nữa. Rõ ràng điều này cho thấy một lỗi nhưng không có thêm chi tiết về những gì mà lỗi có thể.
Tôi đã tạo một dự án C# trong Microsoft Visual Studio và thêm đây làm tham chiếu web mà không gặp bất kỳ sự cố nào nhưng tôi cần có nó trong Delphi 7 cũng do mã kế thừa.
Các địa chỉ cho WSDL là
https://api.demo.ezidebit.com.au/v3-3/nonpci?wsdl
Tôi cũng đã cố gắng tải này sử dụng soapUI mà không cần bất kỳ lỗi nào.
EDIT Tôi đã tải phiên bản dùng thử của Delphi XE2 (đề cập trong câu hỏi khác như một giải pháp khả thi) và nó đã cho tôi những điều sau ở phía trên cùng của tập tin PAS tôi. (Tôi có thể tải lên toàn bộ mã nếu cần)
Tôi giả định rằng có sự cố với tệp WSDL mà Delphi không thích. Bất kỳ manh mối nào về những gì tôi có thể yêu cầu nhà phát triển WSDL thay đổi để nó sẽ nhập?
// ************************************************************************ //
// 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][]
bạn đang nói về Delphi 7, tuy nhiên trong nhật ký nó nói "Bản quyền (c) 2007", nếu tôi nhớ chính xác, delphi 7 sẽ là "Bản quyền (c) 2002", lưu ý 2007! = 2002, có thể là trong đường dẫn tìm kiếm của bạn là delphi 2006/7 và không delphi 7? Thử gọi "C: \ Program Files \ Borland \ Delphi7 \ bin \ WSDLImp.exe "trong CMD để đảm bảo rằng bạn đang gọi đúng WSDLImp – ComputerSaysNo
@DorinDuminica, OP đang sử dụng nhà nhập khẩu được cập nhật này http://cc.embarcadero.com/Item/24535 – RRUZ
ouch , xấu của tôi, nhưng có lẽ anh ta nên thử một bản gốc, nó đáng để bắn ... – ComputerSaysNo