(Nếu bất cứ điều gì ở đây cần làm rõ/chi tiết xin vui lòng cho tôi biết.)Làm thế nào để có được quyền truy cập vào phản ứng SOAP
Tôi có một ứng dụng (C#, 2. * framework) có giao diện với một webservice của bên thứ ba sử dụng SOAP. Tôi đã sử dụng bổ trợ WSCF của kiến trúc đối với WSDL được cung cấp để tạo ra việc triển khai phía máy khách. Vì những lý do ngoài tầm kiểm soát của tôi, trao đổi thông điệp SOAP sử dụng WSE2.0 để bảo mật (việc triển khai thực hiện kiến thức phải được sửa đổi để bao gồm tham chiếu WSE2.0). Ngoài gói dữ liệu 'bình thường', tôi đính kèm chứng chỉ X509 được lưu trữ và mã thông báo bảo mật nhị phân từ cuộc gọi trước đó đến một dịch vụ web khác. Chúng tôi đang sử dụng mã hóa SSL của một số loại - tôi không biết chi tiết.
Mọi serialization/deserialization cần thiết được chứa trong máy khách dịch vụ web - nghĩa là khi điều khiển được trả lại cho tôi sau khi gọi cho khách hàng toàn bộ chuỗi XML có trong phản hồi SOAP không có sẵn cho tôi - chỉ là các thành phần được deserialized. Đừng hiểu lầm tôi - tôi nghĩ điều đó tốt vì điều đó có nghĩa là tôi không phải tự làm.
Tuy nhiên, để tôi có thứ gì đó đáng lưu trữ/lưu trữ, tôi phải sắp xếp lại dữ liệu ở phần tử gốc. Điều này có vẻ như một sự lãng phí tài nguyên vì kết quả của tôi là trong phản ứng SOAP.
Bây giờ cho câu hỏi của tôi: Làm cách nào để truy cập vào phiên bản 'rõ ràng' của phản hồi SOAP để tôi không phải sắp xếp lại mọi thứ để lưu trữ/lưu trữ?
Chỉnh sửa- Ứng dụng của tôi là ứng dụng cửa sổ 'vô hình' chạy dưới dạng dịch vụ mạng - được kích hoạt bởi trình theo dõi trình kích hoạt máy khách WebsphereMQ. Tôi không nghĩ rằng các giải pháp ASP.NET sẽ được áp dụng.
Chỉnh sửa - Vì sự nhất trí từ trước đến nay là không quan trọng liệu ứng dụng của tôi có phải là ASP.NET hay không thì tôi sẽ cung cấp giải pháp của CodeMelt (và bằng cách mở rộng của Chris).
OK - đó là liên kết tương tự như Chris đã đăng ở trên. Đó là "ASP.NET" khiến tôi cảnh giác. Kể từ khi sự đồng thuận cho đến nay là nó không quan trọng cho dù ứng dụng của tôi là ASP.NET hay không thì tôi sẽ cho nó một shot. –
Vâng, miễn là nó nằm trong chấm chấm để sử dụng dịch vụ. –
@codemeit Tôi không biết liệu tôi có thiếu gì đó không, nhưng lớp này không nên biên dịch vì nó không thực hiện chữ ký 'SoapExtension' trừu tượng' GetInitializer (Loại serviceType) ',' GetInitializer (thuộc tính LogicalMethodInfo methodInfo, SoapExtensionAttribute)) ', và' Khởi tạo (bộ khởi tạo đối tượng) '. – Jez