2013-09-04 33 views
11

Làm cách nào để sử dụng WSDL động, các hoạt động và thông số được cung cấp trong tệp cấu hình chương trình?Sử dụng WSDL động trong Delphi

Ví dụ, chúng ta có một tập tin cấu hình:

[Section] 
WSDL=http://example.com/SomePub/ws/SomeService?wsdl 
Username=myuser 
Password=mypass 
OperationName=MyOperation 
ParameterName=MyParameter 

Tức là chúng ta phải sử dụng dịch vụ web, không rõ, nhưng được đưa ra (bởi ini-file) chỉ trong thời gian chạy. Vì vậy, chúng tôi không thể sử dụng thuật sĩ Nhập WSDL trong Delphi.

Chúng ta có thể viết trong Delphi chương trình như vậy, sẽ tải các cài đặt này từ cấu hình, và sau đó truyền dữ liệu đến hoạt động được chỉ định trong tham số được chỉ định trên dịch vụ web, được chỉ định bởi WSDL đã cho?

+1

Điều tuyệt vời về việc sử dụng nó tĩnh là bạn nhận được sự an toàn kiểu thời gian biên dịch và hoàn thành mã trong ide. Trong mã của bạn, bạn sẽ không bao giờ cần phải biết làm thế nào dữ liệu được chuyển giao hoặc thậm chí những gì xml là, bởi vì tất cả mọi thứ được sơ đồ gọn gàng với cấu trúc delphi. Vì vậy, bạn có lý do cụ thể để sử dụng nó tự động? –

+0

Vâng, Wouter, tôi phải làm vậy. – vladon

+1

Nếu bạn thực sự cần phải làm điều này thì delphi không phải là công cụ thích hợp cho công việc, nó sẽ dễ dàng hơn để đạt được mục tiêu của bạn trong các ngôn ngữ JIT như Java hoặc .NET. – whosrdaddy

Trả lời

2

Sử dụng SOAPUI, nhập dịch vụ và thực hiện cuộc gọi mẫu. Sao chép yêu cầu thô và phản hồi thô vào notepad. Sửa đổi dữ liệu thực bằng 'thẻ' và bao gồm từng mẫu thô làm giá trị trong INI của bạn. Khi bạn cần thực hiện cuộc gọi, hãy mở INI của bạn, lấy mẫu phản hồi thô và thay thế các thẻ bằng giá trị thực. Gửi thủ công yêu cầu SOAP và phân tích cú pháp phản hồi theo cách tương tự bằng cách sử dụng mẫu thô.

0

Trình nhập WSDL Delphi và Bộ công cụ dịch vụ Web miễn phí Pascal không cung cấp cách xây dựng một yêu cầu SOAP động dựa trên WSDL.

Bộ công cụ dịch vụ Web (và trình nhập WSDL) chỉ là trình tạo mã nguồn, vì vậy mã đầu tiên cần được biên dịch - điều này yêu cầu phải bao gồm trình biên dịch với ứng dụng của bạn.

Các vấn đề liên quan