ডাব্লুসিএফ পরিষেবা তৈরি করতে ডাব্লুএসডিএল ফাইল কীভাবে ব্যবহার করবেন (কল করবেন না)


100

আমার একটি পুরাতন ডাব্লুএসডিএল ফাইল রয়েছে এবং আমি এই ডাব্লুএসডিএল ফাইলের উপর ভিত্তি করে একটি সার্ভার তৈরি করতে চাই।

ডাব্লুএসডিএল একটি এএসএমএক্স থেকে উত্পন্ন হয়েছে (আমি মনে করি তবে আমি নিশ্চিত নই)।

আমি কীভাবে এটি অর্জন করতে পারি?


ওপিকে ডাব্লুএসডিএলের উপর ভিত্তি করে ক্লায়েন্ট তৈরি করা দরকার বলে মনে হয়েছে এমন আসল প্রশ্ন

উত্তর:


112

এসভিকিটিল ব্যবহার করে, আপনি ডাব্লুএসডিএল থেকে ইন্টারফেস এবং ক্লাস (ডেটা চুক্তি) তৈরি করতে পারেন।

svcutil your.wsdl (or svcutil your.wsdl /l:vb if you want Visual Basic)

এটি সি # তে "your.cs" নামে একটি ফাইল তৈরি করবে (বা VB.NET- এ "your.vb") যাতে প্রয়োজনীয় সমস্ত আইটেম রয়েছে।

এখন, আপনাকে একটি ক্লাস "মাই সার্ভিস" তৈরি করতে হবে যা সার্ভিস ইন্টারফেস (আইএসভারসাইনটারফেস) - বা কয়েকটি পরিষেবা ইন্টারফেস প্রয়োগ করবে - এবং এটি আপনার সার্ভারের উদাহরণ instance

এখন নিজেই কোনও শ্রেণি এখনও সত্যিই সহায়তা করে না - আপনাকে কোথাও পরিষেবা হোস্ট করতে হবে। আপনি হয় নিজের নিজস্ব সার্ভিস্ট হস্ট উদাহরণ তৈরি করতে হবে যা পরিষেবাটি হোস্ট করে, শেষের দিকগুলি কনফিগার করে এবং - অথবা আপনি আইআইএস এর ভিতরে আপনার পরিষেবা হোস্ট করতে পারেন।


আমি এসভিকিটিলের সাথেও একই চেষ্টা করেছি, তবে ত্রুটিগুলি সহ সত্যই সফল হতে পারি নি। আপনি হয়তো আমার সমস্যা কিছু পরামর্শ আছে না: goo.gl/dlen
জুড়ী

15
আমার কাজ করার জন্য আমার যা দরকার তা হল "svcutil your.wsdl your.xsd"! ধন্যবাদ!
টিম লুইস

4
ডাব্লুএসডিএল এবং এক্সএসডি ডাউনলোডের বিষয়ে তথ্যের জন্য এই এসও উত্তরটি দেখুন যা এসকিউটিল পছন্দ করবে। stackoverflow.com/questions/286657/...
ব্রেট Widmeier

@marc_s যখন আমি এটি আমার ডাব্লুএসডিএল ফাইলের সাথে ব্যবহার করি তখন মনে হয় কিছু উপাদানকে খুব অদ্ভুতভাবে নামকরণ করা হবে, যেমনটি আমার সার্ভারে আসা অনুরোধগুলিও গৃহীত হবে না। এটা কি স্বাভাবিক?
আরজ

@ আর্জুন: না - আপনার মনে হচ্ছে আপনার সমস্ত প্রাসঙ্গিক তথ্য একসাথে রেখে স্ট্যাকওভারফ্লোতে একটি প্রশ্ন জিজ্ঞাসা করা উচিত ! :-)
marc_s

40

আপনি কী অনুসন্ধান করবেন তা যদি জানা থাকে তবে সেখানে ভাল সংস্থান রয়েছে। "চুক্তি প্রথম" এবং ডাব্লুসিএফ চেষ্টা করুন। বা "ডাব্লুএসডিএল প্রথম" এবং ডাব্লুসিএফ।

এখানে একটি নির্বাচন:


4
ডাব্লুএসডিএল-প্রথম নিবন্ধটির বেসিক ওভারভিউ অনুসরণ করে এমন যে কোনও ব্যক্তির জন্য : যে মন্তব্য সম্পর্কে আলোচনা হয়েছে তা নোট করুন ReplyAction="*"। এটি আপনার থেকে মুক্তি পাওয়ার প্রয়োজন বলে মনে হচ্ছে। এই মন্তব্যটি থেকে ব্যাখ্যাগুলির একটি ট্রেইল রয়েছে যা যুক্তি দেয় তবে আমি এটি পড়ে নি।
ড্যান-জিএফ

লিঙ্কগুলি এখন মারা গেছে
K0D4

30

/scডাব্লুসিএফ চুক্তিগুলি তৈরি করতে স্যুইচ সহ svcutil.exe ব্যবহার করুন । এটি এমন একটি কোড ফাইল তৈরি করবে যা আপনি আপনার প্রকল্পে যুক্ত করতে পারেন। এতে আপনার পরিষেবা তৈরি করার জন্য প্রয়োজনীয় সমস্ত ইন্টারফেস এবং ডেটা থাকবে। /oস্যুইচটি ব্যবহার করে আউটপুটের অবস্থানটি পরিবর্তন করুন অথবা আপনি যে ফোল্ডারে এসভিসিটিটিল.এক্সে চলেছেন সেখানে ফাইলটি খুঁজে পেতে পারেন। ডিফল্ট ভাষাটি সি # তবে আমি মনে করি (এটি আমি কখনও চেষ্টা করে দেখিনি) আপনার এটি ব্যবহার করে পরিবর্তন করতে সক্ষম হওয়া উচিত /l:vb

svcutil /sc "WSDL file path"

আপনার ডাব্লুএসডিএলের যদি কোনও সমর্থনকারী এক্সএসডি ফাইল থাকে তবে সেগুলি ডাব্লুএসডিএলের পরে যুক্তি হিসাবে পাস করে।

svcutil /sc "WSDL file path" "XSD 1 file path" "XSD 2 file path" ... "XSD n file path"

তারপরে একটি নতুন শ্রেণি তৈরি করুন যা আপনার পরিষেবা এবং আপনি সবে তৈরি চুক্তি ইন্টারফেসটি বাস্তবায়ন করুন।



7

আপনি ক্লায়েন্ট কোড উত্পন্ন করতে svcutil.exe ব্যবহার করতে পারেন। এর মধ্যে পরিষেবা চুক্তির সংজ্ঞা এবং কোনও ডেটা চুক্তি এবং ত্রুটিযুক্ত চুক্তিগুলি অন্তর্ভুক্ত থাকবে।

তারপরে, কেবল ক্লায়েন্ট কোডটি মুছুন: ক্লাসগুলি যে পরিষেবা চুক্তিগুলি কার্যকর করে। তারপরে আপনার সেগুলিতে আপনাকে সেগুলি নিজে প্রয়োগ করতে হবে।


4

ভিজ্যুয়াল স্টুডিওতে "পরিষেবা রেফারেন্স যুক্ত করুন" সরঞ্জামটি ব্যবহার করে, আপনি ঠিকানাটি সন্নিবেশ করতে পারেন:

ফাইল: ///path/to/wsdl/file.wsdl

এবং এটি সঠিকভাবে লোড হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.