Tôi đang theo WSDL-đầu tiên (cung cấp bởi khách hàng) để phát triển dịch vụ WCF nhưng WSDL được tạo từ dịch vụ wcf của tôi hơi khác với WSDL do khách hàng cung cấp và vì sự không khớp này, khách hàng đang gặp khó khăn để thực hiện gọi cho dịch vụ của tôi.Cách tiếp cận đầu tiên của WSDL: Cách chỉ định các tên khác nhau cho wsdl: port và wsdl: binding?
Khách hàng cung cấp wsdl:
<wsdl:service name='CheckoutService'> <wsdl:port binding='tns:CheckoutBinding' name='CheckoutServicePort'> <soap:address location='place holder to service uri' /> </wsdl:port> </wsdl:service>
WSDL được tạo ra từ dịch vụ WCF:
<wsdl:service name="CheckoutService"> <wsdl:port binding="tns:CheckoutBinding" name="CheckoutBinging"> <soap:address location="place holder to service uri" /> </wsdl:port> </wsdl:service>
và, cài đặt dịch vụ của tôi như sau:
<endpoint name="CheckoutBinding" address="" binding="basicHttpBinding" bindingName="CheckoutServicePort" bindingConfiguration="basicHttpBinding" bindingNamespace="<<namespace>>" contract="<<contractname>>" />
Tôi đã sử dụng WSCF.Blue để tạo mã máy chủ từ khách hàng được cung cấp wsdl và thực hiện các thay đổi nhỏ trong mã được tạo để phát ra WSDL giống hệt như được cung cấp bởi khách hàng nhưng tôi không nhận được bất kỳ ý tưởng nào về những thay đổi cần thực hiện trong tệp cấu hình hoặc trong mã được tạo để nhận được cùng một "wsdl: port/@ name" giống như trong tệp wsdl do khách hàng cung cấp.
Theo điều này url, thuộc tính tên điểm dịch vụ được ánh xạ tới wsdl: port/@ name và wsdl: binding/@ name. Dựa trên điều này, giá trị thuộc tính endpoint/@ name trong tệp cấu hình của tôi được ánh xạ tới wsdl: port/@ name và wsdl: binding/@ name nhưng tôi muốn các tên khác nhau được ánh xạ tới wsdl: port/@ name và wsdl: binding/thuộc tính @name.
Vui lòng giúp tôi đạt được điều này.
Cảm ơn bạn đã giúp đỡ kịp thời của bạn và mã. Nó giải quyết vấn đề của tôi. – Niranjan
@ user577260 - bằng cách chấp nhận câu trả lời bạn đưa ra gợi ý trực quan cho người khác rằng vấn đề của bạn đã được giải quyết. Bạn cũng nhận được một +2 tiền thưởng đại diện. – ChrisF
Xin lỗi, vì đã trả lời muộn. Tôi đã kiểm tra nó như đã trả lời. – Niranjan