এন্ডপয়েন্টপ্লেস ডিসপ্যাচার ব্যতিক্রমে কন্ট্রাক্টফিলার মিল নেই


116

আমার নিম্নলিখিত পরিস্থিতি রয়েছে যার জন্য আমি পরীক্ষার চেষ্টা করছি:

  1. একটি সাধারণ ডাব্লুএসডিএল
  2. ডাব্লুসিএফ শেষ পয়েন্ট যা ডাব্লুএসডিএল ভিত্তিক অবজেক্টগুলি প্রয়োগ করে এবং আইআইএস-এ হোস্ট করা হয়।
  3. অনুরোধ তৈরি করতে একটি ক্লায়েন্ট অ্যাপ্লিকেশন যা ডাব্লুএসডিএল ভিত্তিক একটি প্রক্সি ব্যবহার করে।

যখন আমি ক্লায়েন্ট থেকে পরিষেবা শেষ পয়েন্টে কোনও ওয়েব পরিষেবা কল করি, তখন আমি নিম্নলিখিত ব্যতিক্রমগুলি পাই:

{" এন্ডপয়েন্টডিজপ্যাচারে কন্ট্রাক্ট ফিল্টার মিলের কারণে অ্যাকশন ' http: // আইএমআই সার্ভিস / ক্রিয়েট কন্টেইনার ' সহ বার্তাটি রিসিভারে প্রক্রিয়া করা যায় না This প্রেরক এবং প্রাপকের মধ্যে বাঁধাই / সুরক্ষা মেলে না। পরীক্ষা করুন যে প্রেরক এবং প্রাপকের একই চুক্তি এবং একই বাঁধাই রয়েছে (সুরক্ষা প্রয়োজনীয়তা, যেমন বার্তা, পরিবহন, কিছুই নয়) "।

আমি এমএস সার্ভিস ট্রেস ভিউয়ার ব্যবহার শুরু করেছি, তবে কোথায় সন্ধান করব তা নিশ্চিত নয়। ক্লায়েন্ট এবং শেষ পয়েন্টের ক্লাসগুলি দেখার সময়, তারা অভিন্ন দেখায়।

কেউ কীভাবে এই সমস্যাটিকে ডিবাগ করতে শুরু করে?

এই ব্যতিক্রম কিছু সম্ভাব্য কারণ কি?

উত্তর:


75

একটি "এন্ডপয়েন্টডিস্পাচারের এ কনট্রাক্টফিল্টার অমিল" এর অর্থ রিসিভার বার্তাটি প্রক্রিয়া করতে পারেনি কারণ এটি বার্তা গ্রহণকারী শেষ পয়েন্টটির জন্য রিসিভার কনফিগার করেছে এমন কোনও চুক্তির সাথে মেলে না।

এটি কারণ হতে পারে:

  • আপনার ক্লায়েন্ট এবং প্রেরকের মধ্যে বিভিন্ন চুক্তি রয়েছে।
  • আপনি ক্লায়েন্ট এবং প্রেরকের মধ্যে আলাদা বাইন্ডিং ব্যবহার করছেন।
  • বার্তাটির সুরক্ষা সেটিংস ক্লায়েন্ট এবং প্রেরকের মধ্যে সামঞ্জস্যপূর্ণ নয়।

এ বর্ণন আছে EndpointDispatcherবিষয় সম্পর্কে আরও তথ্যের জন্য বর্গ।

তাই:

আপনার ক্লায়েন্ট এবং সার্ভার চুক্তি মেলে তা নিশ্চিত করুন।

  • আপনি যদি নিজের ক্লায়েন্টকে ডাব্লুএসডিএল থেকে উত্পন্ন করেন তবে ডাব্লুএসডিএল কি আপ টু ডেট আছে?
  • আপনি যদি চুক্তিতে সাম্প্রতিক পরিবর্তন করে থাকেন, আপনি কি ক্লায়েন্ট এবং সার্ভার উভয়েরই সঠিক সংস্করণ স্থাপন করেছেন?
  • যদি আপনি নিজের ক্লায়েন্ট চুক্তি ক্লাসগুলি হ্যান্ড-ক্র্যাফ্ট করে থাকেন তবে নিশ্চিত করুন যে সার্ভারের প্রত্যাশিত নামের স্থান, উপাদানগুলির নাম এবং ক্রিয়া নামগুলি মিলছে।

বাইন্ডিংগুলি ক্লায়েন্ট এবং সার্ভারের মধ্যে একই।

  • আপনি যদি আপনার শেষ পয়েন্টগুলি পরিচালনা করতে একটি .config ফাইল ব্যবহার করেন তবে তা নিশ্চিত করুন যে বাঁধাইয়ের উপাদানগুলি মিলছে।

সুরক্ষা সেটিংস ক্লায়েন্ট এবং সার্ভারের মধ্যে সমান Check

  • আপনি যদি আপনার শেষ পয়েন্টগুলি পরিচালনা করতে একটি .config ফাইল ব্যবহার করেন তবে সুরক্ষা উপাদানগুলির সাথে মেলে তা নিশ্চিত করুন।

3
.svc ফাইলটিতে পরিষেবার বৈশিষ্ট্যটি সঠিক কিনা তাও নিশ্চিত করুন। আমার উত্তর নীচে দেখুন।
এন্টোনকে

আমি উপরের সমাধানটিতে যুক্ত করতে চেয়েছিলাম (নতুনদের জন্য) কারণ আমি একই সমস্যার মুখোমুখি হয়েছি তবে উপরের সমাধানটি আমার পক্ষে কার্যকর হয়নি। আপনি যদি ইতিমধ্যে উপরোক্ত কাজের ক্ষেত্রগুলি চেষ্টা করে দেখেছেন এবং এখনও একই ত্রুটিটি পেয়ে থাকেন তবে আপনার কনফিগারেশনটি সার্ভার এবং ক্লায়েন্ট উভয় ক্ষেত্রেই ইতিমধ্যে সঠিক থাকা সত্ত্বেও জড়িত সরল টাইপগুলি লিখে টাইপ করে আপডেট করার চেষ্টা করুন।
devpro101

74

আমার এই ত্রুটি ছিল এবং এটি গ্রহণযোগ্য চুক্তিটি কল করার পদ্ধতিটি বাস্তবায়ন না করার কারণে ঘটেছিল। মূলত, কেউ হোস্ট সার্ভারে ডাব্লুসিএফ পরিষেবাটির সর্বশেষতম সংস্করণ স্থাপন করে নি।


12
+1 - আমার ক্ষেত্রে একই ঘটনা ঘটেছে, আমার ক্ষেত্রে ব্যতীত আমিই সেই "ব্যক্তি"। আমি সার্ভার-সাইড কোড করা এবং স্থাপন করতে ভুলে গিয়েছিলাম।
জেসি ওয়েব

2
হ্যাঁ, আমার এসওএপি অ্যাকশনটির নামটি ভুল ছিল। এটি টেম্পুরি.আর / আইকোডজেন সার্ভিস / রেন্ডার অ্যাপ্লিকেশন চেয়েছিল , তবে কোনও কারণে ডাব্লুএসডিএলকে বিশ্লেষণকারী কোডটি কেবলমাত্র টেম্পুরি.আর / রেন্ডার অ্যাপ্লিকেশনটি ভেবেছিল ।
ব্যবহারকারী435779

আমিও. আমার .SVC.CS- তে আমার পদ্ধতি ছিল তবে আমার ইন্টারফেসে এটি সম্পর্কিত কোনও অপারেশনকন্ট্র্যাক্ট নেই।
PahJoker

আমিও :) :) আমি উন্নয়নের অধীন স্থানীয় পরিষেবাটি ব্যবহার করে সোপুআইতে ডাব্লুএসডিএলকে রিফ্রেশ করেছি এবং যখন আমি পরিষেবাটিতে নতুন পদ্ধতির বিরুদ্ধে একটি অনুরোধ তৈরি করেছি তখন সাপুআই আমাদের উন্নয়নের পরিবেশটি ব্যবহার করেছে। সুতরাং, পদ্ধতিটি দুর্দান্তভাবে কাজ করছিল, আমি কেবল ভুল ইউআরএল অনুসন্ধান করেছি।
Larsbj

2
ধন্যবাদ! আমি ডিবাগিংয়ের জন্য ঘন্টা ব্যয় করিনি, পরিবর্তে এটি পড়ার পরে আমি দ্রুত বুঝতে পারি যে আমি কোনও ভুল পরিবেশে অনুরোধগুলি প্রেরণ করছি।
জান মাটোসেক

20

আপনি যদি ভুল ইউআরএল সংযোগের চেষ্টা করেন তবে আপনি এটিও পাবেন ))

আমার সিস্টেমে অনুরূপ নামের সাথে আমার দুটি এন্ডপয়েন্টস এবং পরিষেবাদি সংজ্ঞায়িত হয়েছে।

যখন ইউআরএলগুলি আমার ক্লায়েন্টের কোনও সময়ে অদলবদল হয়ে গেছে তখন এই সঠিক ত্রুটিটি পেয়েছি। অবশেষে এই বোবা ভুলটি নির্ণয় না করা পর্যন্ত সত্যিই মাথা আঁচড়ানো।


3
এটি নিশ্চিত করার জন্য এটি একটি নির্বোধ ভুল, তবে এখানে একটি খুব দরকারী উত্তর। এটি সুস্পষ্ট কিছু হিসাবে এটি সহজেই উপেক্ষা করা হয়।
মংফ্লেশ

ভুল ইউআরএল দেয় - '
শুনার

19

আমার এই সমস্যাটি ছিল এবং আমি দেখতে পেলাম যে আমার প্রক্সি জেনারেটরে, আমি অন্য একটি পরিষেবা থেকে অনুলিপি করেছি, আমি পরিষেবার নাম পরিবর্তন করতে ভুলে গেছি।

আমি এটি পরিবর্তন করেছি ...

Return New Service1DataClient(binding, New EndpointAddress(My.Settings.WCFServiceURL & "/Service1Data.svc"))

প্রতি...

Return New Service2DataClient(binding, New EndpointAddress(My.Settings.WCFServiceURL & "/Service2Data.svc"))

এটি একটি সাধারণ কোড ত্রুটি ছিল, তবে ডিবাগ করা প্রায় অসম্ভব। আমি আশা করি এটি কারও সময় সাশ্রয় করে।


সেটা আমার ক্ষেত্রেও ছিল।
ভ্যাসিল বোরোভিয়াক

ধন্যবাদ, আমারও একই সমস্যা ছিল!
ডিয়েটারগ

10

জাভা ক্লায়েন্টের জন্য একটি নেট নেট পয়েন্ট কল করে। এটি সোপ অ্যাকশন শিরোনামটি অমিলের কারণে হয়েছিল।

Content-Type: application/soap+xml;charset=UTF-8;action="http://example.org/ExampleWS/exampleMethod"

উপরের এইচটিটিপি শিরোনাম বা নিম্নলিখিত এক্সএমএল ট্যাগটির সাথে আপনি যে ক্রিয়া / পদ্ধতিটি চালনার চেষ্টা করছেন তার সাথে মেলে নেওয়া দরকার।

   <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/" xmlns:gen="http://schemas.datacontract.org/2004/07/GenesysOnline.WCFServices">
   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
      <wsa:To>https://example.org/v1/Service.svc</wsa:To>
      <wsa:Action>http://example.org/ExampleWS/exampleMethod</wsa:Action>
   </soap:Header>
   <soap:Body>
    ...
   </soap:Body>
</soap:Envelope>

9

আমি আমার চুক্তি বাস্তবায়নে নিম্নলিখিতগুলি যুক্ত করে এটি সমাধান করেছি:

[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]

উদাহরণ স্বরূপ:

[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
public class MyUploadService : IMyUploadService
{

}

এটি আমার ফরোয়ার্ড করা বন্দর দিয়ে সমস্যার সমাধান করেছে। ধন্যবাদ.
ম্যাথিয়াস মুলার

আমি একটি নতুন ত্রুটি পেয়েছি না, আমি আইআইএসকে ঘৃণা করি - যোগাযোগের ধারণা: সার্ভারটি কোনও অর্থবহ জবাব সরবরাহ করে নি; এটি কোনও চুক্তির অমিল, একটি অকাল সেশন বন্ধ বা কোনও অভ্যন্তরীণ সার্ভার ত্রুটির কারণে হতে পারে be
এরিসকনলি

8

আমি এসভিসি ফাইলটি অনুলিপি করে পুনরায় নামকরণ করার পরে এটি পেয়েছি। ফাইলের নাম এবং এসভিসি সি সি ফাইলের সঠিক নামকরণ করা হলেও মার্কআপ এখনও মূল ফাইলটিকে রেফারেন্স করেছে।

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


5

@ চিন্টোর মতো অন্যান্য উত্তরে যেমন উল্লেখ করা হয়েছে, এসওএপি: অ্যাকশন শিরোনাম উপাদানটি শেষ পয়েন্টের সাথে মেলে না, তখন এটি ঘটে।

আপনি সার্ভারের ডাব্লুএসডিএল দেখে সঠিক ইউআরআই খুঁজে পেতে পারেন। আপনি একটি ইনপুট সন্তানের সাথে একটি অপারেশন উপাদান দেখতে পাবেন যার "অ্যাকশন" বৈশিষ্ট্য রয়েছে। আপনার এসওএপি এটিই: ক্লায়েন্টের অনুরোধে অ্যাকশন হওয়া দরকার।

<wsdl:operation name="MethodName">
<wsdl:input wsaw:Action="http://tempuri.org/IInterface/MethodName" message="tns:IInterface_MethodName_InputMessage"/>
<wsdl:output wsaw:Action="http://tempuri.org/IInterface/MethodNameResponse" message="tns:IInterface_MethodName_OutputMessage"/>
</wsdl:operation>

গুগল করার এবং পরীক্ষার এবং পাগল হওয়ার দিনগুলি পরে - এই উত্তরটি আমাকে সাহায্য করেছিল। ধন্যবাদ।
বাবুন

আমার বিশেষ দৃশ্যে, আমি অ্যাপাচি এইচটিপিপিলেট ব্যবহার করে আমার জাভা ক্লাস থেকে ওয়েব সার্ভিসে কল করছি। সোপ অ্যাকশন শিরোনাম সেট করার জন্য, আমি সেটহ্যান্ডার পদ্ধতিটি সেট কনটেন্ট টাইপ করতে কল করার পরে ঠিক এইচটিপিপস্ট সেটহেইডার পদ্ধতিটি কল করেছি।
ভোফিলি

3

আমারো একই ইস্যু ছিল. সমস্যাটি হ'ল আমি কোডটিকে অন্য একটি পরিষেবা থেকে প্রারম্ভিক পয়েন্ট হিসাবে অনুলিপি করেছি এবং .svc ফাইলে পরিষেবা শ্রেণি পরিবর্তন করিনি did

.Svc ফাইলটি সার্ভিস অ্যাট্রিবিউটটি সঠিক কিনা তা নিশ্চিত করুন।

 <%@ ServiceHost Language="C#" Debug="true" Service="SME.WCF.ApplicationServices.ReportRenderer" CodeBehind="ReportRenderer.svc.cs" %>

2

ত্রুটিটি বলেছে যে এখানে একই অমিল আছে, ধরে নিই যে আপনার একই ডাব্লুএসডিএল ভিত্তিক একটি সাধারণ চুক্তি রয়েছে, তবে সেই অমিলটি কনফিগারেশনে রয়েছে।

উদাহরণস্বরূপ যে ক্লায়েন্ট নেটটস্কিপ ব্যবহার করছে এবং সার্ভারটি বেসিক http ব্যবহার করতে সেট আপ করা হয়েছে।


2

আমারও তেমন ত্রুটি হয়েছিল এটি এমন হতে পারে যে আপনি আপনার কনফিগারেশনের ফাইলটিকে আপনার প্রকল্পের মধ্যে পুনঃনির্দেশিত করার পরে কিছু চুক্তি সেটিংস পরিবর্তন করেছিলেন। সমাধান - আপনার উপর VSstudio প্রকল্পে ওয়েব পরিষেবাটি রেফারেন্স আপডেট করুন বা svcutil.exe ব্যবহার করে একটি নতুন প্রক্সি তৈরি করুন


1

কোডটি সঠিকভাবে স্থাপন না করা হলে এই ত্রুটিটি সাধারণত আসে।

আমার ক্ষেত্রে আমার দুটি পরিষেবা সার্ভিসএ এবং সার্ভিসবি আছে। সার্ভিসবি ফাইলগুলি যথাযথভাবে স্থাপন করা হয়নি বলে আমি সমস্যাটি পেয়েছি। যার কারণে যখন সার্ভিসটি অভ্যন্তরীণভাবে সার্ভিসকে কল করছিল তখন এটি ত্রুটিটি নীচে দিচ্ছিল।

**ত্রুটি**

ফাইল এবং রেফারেন্স সঠিকভাবে স্থাপন করা হয়েছে তা নিশ্চিত করুন।


1

আমি উত্তরটি খুঁজতে বেশ কয়েকদিন কাটিয়েছি এবং এটি পেয়েছি, তবে এই থ্রেডে নেই। আমি ডাব্লুসিএফ এবং সি # তে খুব নতুন, তাই কারও কারও কাছে উত্তর সুস্পষ্ট হতে পারে।

আমার পরিস্থিতিতে আমার কাছে একটি ক্লায়েন্ট সরঞ্জাম ছিল যা মূলত এএসএমএক্স পরিষেবার জন্য বিকাশ করা হয়েছিল এবং আমার জন্য এটি একই ত্রুটি বার্তাটি ফিরিয়ে দিচ্ছিল।

সব ধরণের সুপারিশ চেষ্টা করার পরে আমি এই সাইটটি পেয়েছি:

http://myshittycode.com/2013/10/01/the-message-with-action-cannot-be-processed-at-the-receiver-due-to-a-contractfilter-mismatch-at-the-endpointdispatcher/

এটি আমাকে সঠিক পথে ফেলেছে। বিশেষত "সাবান: অপারেশন" - ডাব্লুসিএফ সার্ভিসনামটি নামস্থানটিতে সংযোজন করছিল:

ক্লায়েন্ট প্রত্যাশিত Http://TEST.COM/Login, কিন্তু ডাব্লুসিএফ পাঠিয়েছে Http://TEST.COM/IService1/Login। সমাধানটি [OperationContract]পছন্দ করতে সেটিংস যুক্ত করতে হয় :

[OperationContract(Action = "http://TEST.COM/Login", ReplyAction = "http://TEST.COM/Login")] (এইচটিটিপি-এ ফাঁকা জায়গা উপেক্ষা করুন)


2
আমরা হব. আপনার সমাধানটি হ'ল কিছু ক্লায়েন্টের প্রত্যাশা অনুযায়ী সেবার আচরণ করা। তবে এটি ক্লায়েন্টকে প্রকৃতপক্ষে সার্ভারের চুক্তির সাথে সামঞ্জস্য রেখে সমানভাবে ভাল (বা অনেক ক্ষেত্রে, সম্ভবত) সমাধান করা যেতে পারে! সর্বোপরি, সার্ভারটি চুক্তির প্রকাশক।
দাগ

1

এটি এর জন্য 2 কারণে হতে পারে:

  1. পরিষেবা রেফ পুরানো, ডান ক্লিক পরিষেবা রেফ n এটি আপডেট।

  2. চুক্তি যা আপনি প্রয়োগ করেছেন তা ক্লায়েন্টের চেয়ে আলাদা হতে পারে। উভয় পরিষেবার সাথে তুলনা করুন ক্লায়েন্ট চুক্তি এন চুক্তিগুলি মেলে না fix


1

আপনি যদি ডাব্লুসিএফ পদ্ধতিতে কল করছেন তবে আপনার শিরোনামে ইন্টারফেস অন্তর্ভুক্ত করা উচিত।

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
if (Url.Contains(".svc"))
{
    isWCFService = true;
    req.Headers.Add("SOAPAction", "http://tempuri.org/WCF_INterface/GetAPIKeys");
}
else 
{
    req.Headers.Add("SOAPAction", "\"http://tempuri.org/" + asmxMethodName+ "\"");
}

1

এছাড়াও কোডিংয়ের মাধ্যমে যারা এটি করছেন তাদের পক্ষে এটি কার্যকর হতে পারে। আপনার যুক্ত হওয়া পরিষেবাটি শেষ পয়েন্টে আপনাকে ওয়েবএইচটিপিবিহেভিয়ার () যুক্ত করতে হবে। কিছুটা এইরকম:

restHost.AddServiceEndpoint(typeof(IRestInterface), new WebHttpBinding(), "").Behaviors.Add(new WebHttpBehavior()); 

একবার দেখুন: https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/calling-a-rest-style-service-from-a-wcf-service


এটি আমার সময় বাঁচাতে সহায়তা করেছে, ধন্যবাদ :)
সেলি লিচি

0

বোকা, তবে আমি [OperationContract]আমার পরিষেবা ইন্টারফেসে (যা চিহ্নিত করা হয়েছে [ServiceContract]) যুক্ত করতে ভুলে গিয়েছিলাম এবং তারপরে আপনিও এই ত্রুটি পান।


0

আপনার ক্লায়েন্ট আপডেট হয়নি o সুতরাং ওয়েব পরিষেবা থেকে আপনার পরিষেবাদি আপডেট করুন এবং তারপরে আপনার প্রকল্পটি পুনর্নির্মাণ করুন


0

আমি ভাল হিসাবে এই সমস্যা ছিল। দেখা গেল এটি সার্ভারের শেষে চুক্তি সিরিয়ালাইজারের কারণে হয়েছিল। এটি আমার ডেটা কন্ট্রাক্ট অবজেক্টটি ফিরিয়ে দিতে পারেনি কারণ এর কিছু ডেটােমবারগুলি কেবল পাঠযোগ্য সম্পত্তি ছিল

নিশ্চিত করুন যে আপনার অবজেক্টের ক্রমবর্ধমান হওয়ার উদ্দেশ্যে সম্পত্তিগুলির জন্য সেটটার রয়েছে।


0

অদ্ভুতভাবে যথেষ্ট হিসাবে আমরা ব্যবহৃত পথ এবং অপারেশনকন্ট্রাক্ট নামের একই কেসিং ব্যবহার করে এই ত্রুটিটি ঘিরে কাজ করেছি। স্পষ্টতই এটি কেস-সংবেদনশীল ছিল। কারও কারও জানা থাকলে কমেন্ট করুন। ধন্যবাদ!


0

সুতরাং, আমার ক্ষেত্রে নিম্নলিখিত ছিল। আমি ক্লায়েন্ট-সার্ভার মিথস্ক্রিয়া জন্য প্রক্সি ব্যবহার করি নি, আমি চ্যানেলফ্যাক্টরি ব্যবহার করেছি (এইভাবে পরিষেবা রেফারেন্সে আপগ্রেড করার সমস্ত পরামর্শ আমার কাছে অর্থহীন ছিল)।

পরিষেবাটি আইআইএস-এ হোস্ট করা হয়েছিল এবং কোনও কারণে এটির বিন ফোল্ডারে ভুল উল্লেখ রয়েছে। প্রকল্পের পুনঃসংশোধনটি সহজেই সেই ফোল্ডারে নতুন ঘর তৈরি করে না।

সুতরাং আমি কেবল সেখান থেকে সমস্ত জিনিস মুছে ফেলেছি এবং একই সমাধানে পরিষেবাটির উল্লেখ উল্লেখ করেছি, তারপরে পুনরায় সংযুক্ত এবং এখন সবকিছু কাজ করে।


0

আমার সমস্যাটি বিরল কিছুতে পরিণত হয়েছিল, তবে আমি যাইহোক এটি উল্লেখ করব।

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

তিনি যে নতুন অবস্থানটি তৈরি করেছেন তাতে হোস্টের পরে ইউআরএলটির প্রথম অংশ হিসাবে একটি মানহীন নাম ছিল:

net.tcp://dev.umbrellacorp.com/DifferentFolderName/MyProvider

আমার লোকাল মেশিনে, আমার ক্লায়েন্টটি আমার স্থানীয় পরিবেশ সহ সমস্ত পরিবেশে (উন্নয়ন ব্যতীত) সেট আপ করা হিসাবে স্ট্যান্ডার্ড ফোল্ডারের নামটির দিকে ইশারা করছিল।

net.tcp://dev.umbrellacorp.com/AppServices/MyProvider

যখন আমি উড়ে গিয়ে আমার স্থানীয় অনুলিপিটির সাথে ওয়েবকনফিগটি বিকাশের জন্য প্রতিস্থাপন করেছি, তখন ইউআরএলটির যে অংশটি বিশেষ হওয়া দরকার তা স্ট্যান্ডার্ড অংশের সাথে উড়িয়ে দেওয়া হয়েছিল, ফলস্বরূপ দেবের ক্লায়েন্টটি পুরানো অ্যাপ্লিকেশনটির দিকে ইঙ্গিত করেছিল।

পুরানো অ্যাপ্লিকেশনটির একটি পুরানো চুক্তি ছিল এবং অনুরোধটি বুঝতে পারি নি এবং এই ত্রুটিটি ছুঁড়ে ফেলেছে।


0

মোতায়েন করা ডাব্লুসিএফ পরিষেবাতে আমার একই ত্রুটি ছিল, সমস্যাটি একই বন্দরটির সাথে অন্য চুক্তিযুক্ত মোতায়েন করা অন্য পরিষেবার সাথে সম্পর্কিত ছিল।

সমাধান

আমি ওয়েবকনফাইগে বিভিন্ন পোর্ট ব্যবহার করেছি এবং বিষয়টি অদৃশ্য হয়ে গেছে।

সেবা ১

contract="Service.WCF.Contracts.IBusiness1" 
baseAddress="net.tcp://local:5244/ServiceBusiness" 

সেবা 2

contract="Service.WCF.Contracts.IBusiness2"
baseAddress="net.tcp://local:5243/ServiceBusiness"

এছাড়াও , আমি পরিষেবা এবং ভোক্তার মধ্যে একই ঠিকানার জন্য ডাইরেন্ট পোর্ট ব্যবহার করে এই পরিস্থিতিতে চলে এসেছি।


0

আমার এই ত্রুটি হয়েছিল কারণ আমার সার্ভারের জিএসি তে আমার কাছে ডিএলএল এর একটি পুরানো সংস্করণ রয়েছে। সুতরাং নিশ্চিত হয়ে নিন যে সমস্ত কিছু সঠিকভাবে রেফারেন্স করা হয়েছে এবং অ্যাসেম্বলি / জিএসি ভাল dll এর সাথে আপ টু ডেট রয়েছে।


0

আমার পরীক্ষার সার্ভারে আমার এই সমস্যাটি ছিল কারণ আমি একই অ্যাপ্লিকেশন পুলটিতে একই ডাব্লুসিএফের দুটি অনুলিপি চালাচ্ছিলাম। আমার জন্য কী সমাধান হয়েছিল তা হ'ল আমার ডাব্লুসিএফের প্রতিটি সংস্করণের জন্য পৃথক পুল তৈরি করা এবং এর পরে আইআইএস পুনরায় চালু করা।


0

এসওএপি অনুরোধ করার জন্য যারা অক্ষের সাথে নোডজেএস ব্যবহার করছেন তাদের জন্য আপনাকে অবশ্যই একটি অন্তর্ভুক্ত করতে হবে SOAPAction header। নীচের উদাহরণটি দেখুন:

axios.post('https://wscredhomosocinalparceria.facilinformatica.com.br/WCF/Soap/Emprestimo.svc?wsdl',
           xmls,
  {headers:
  {
    'Content-Type': 'text/xml',
    SOAPAction: 'http://schemas.facilinformatica.com.br/Facil.Credito.WsCred/IEmprestimo/CalcularPrevisaoDeParcelas'}
  }).then(res => {
    console.log(res)
  }).catch(err => {
    console.log(err.response.data)
  })
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.