c# - सबस - साबुन के नाम की लिस्ट




सी#साबुन ग्राहक समस्या-अनुबंध पर वें के लिए एक से अधिक अंतराल विन्यास पाया गया था (3)

मैं यहां से SOAP API का परीक्षण करने के लिए एक सरल सी # कंसोल एप्लिकेशन लिखने की कोशिश कर रहा हूं: https://www.imailtest.co.uk/webservice/imail_api.asmx?wsdl (या https://www.imailtest.co.uk/webservice/imail_api.asmx api विधियों को देखने के लिए https://www.imailtest.co.uk/webservice/imail_api.asmx )

इसलिए, मैंने इस संदर्भ को जोड़ा और 2 एपीआई विधियों (Authentiacate और ProcessPrintReadyPDF) को कॉल करने का प्रयास किया और इस त्रुटि को प्राप्त किया:

त्रुटि: अनुबंध 'ServiceReference1.imail_ apiSoap' अनुबंध के लिए एक एंडपॉइंट कॉन्फ़िगरेशन अनुभाग लोड नहीं किया जा सका क्योंकि अनुबंध पर वें के लिए एक से अधिक एंडपॉइंट कॉन्फ़िगरेशन मिला था। कृपया नाम से पसंदीदा एंडपॉइंट कॉन्फ़िगरेशन संप्रदाय आयन इंगित करें।

यहां मेरा सी # कोड है:

static void Main(string[] args)
{
    // Anticipate Error
    try
    {
        // Generate SOAP Client
        ServiceReference1.imail_apiSoapClient soapClient = new ServiceReference1.imail_apiSoapClient();

        // Login
        Console.WriteLine("Authenticating");
        soapClient.Authenticate(iMailUser, iMailPass);

        // Proceed If PDF File Exists
        if (File.Exists(PDFFile))
        {
            // Upload PDF File To iMail
            Console.WriteLine("Uploading PDF File");
            soapClient.ProcessPrintReadyPDF(File.ReadAllBytes(PDFFile), "", true);

            // Test Complete
            Console.WriteLine("Done");
        }
        else
        {
            // Log Error
            Console.WriteLine("PDF File [{0}] Does Not Exists", PDFFile);
        }
    }
    catch (Exception ex)
    {
        // Log Error
        Console.WriteLine("Error : "+ ex.Message);
    }

    // End Test
    Console.WriteLine("Press any key to continue ...");
    Console.ReadKey();
}

इस प्रकार मैंने अपने कंसोल ऐप के सेवा संदर्भ को जोड़ा: http://i.imgur.com/mKmRyrI.png

कोई विचार?


[हल किया! बस स्क्रीन शॉट के नीचे webservice की प्रॉक्सी क्लास एएसपी में एंड पॉइंट जोड़ें


आपके App.config में आप इस तरह की कुछ चीज़ देख सकते हैं

 <client>
      <endpoint address="https://www.imailtest.co.uk/webservice/imail_api.asmx "
        binding="basicHttpBinding" bindingConfiguration="xxxxxxxxxx"
        contract="xxxxxxxxxx" name="xxxxxxxxxxxxx" />
      <endpoint address="https://www.imailtest.co.uk/webservice/imail_api.asmx"
        binding="customBinding" bindingConfiguration="xxxxxxxxxxxxx"
        contract="xxxxxxxxxxx" name="xxxxxxxxxxxxx" />
  </client>

दूसरे एंडपॉइंट को हटा दें और अब यह इस तरह होना चाहिए

<client>
      <endpoint address="https://www.imailtest.co.uk/webservice/imail_api.asmx "
        binding="basicHttpBinding" bindingConfiguration="xxxxxxxxxxxxx"
        contract="xxxxxxxxxxxxxx" name="xxxxxxxxxxxxxxx" />      
  </client>

अब कोड चलाएं, उम्मीद है कि आपका कोड ठीक काम करता है


यदि आप अपनी कॉन्फ़िगरेशन फ़ाइल में क्लाइंट कॉन्फ़िगरेशन दोनों रखना चाहते हैं, तो बस एक एप्लिकेशन सेटिंग बनाएं।

तो आपकी App.config फ़ाइल में यह प्रविष्टि होगी जो आपको इच्छित अंतराल निर्दिष्ट करने की अनुमति देगी:

<setting name="EndPoint" serializeAs="String">
    <value>imail_apiSoap</value>
</setting>

तो आप अपने कोड में उपयोग कर सकते हैं:

ServiceReference1.imail_apiSoapClient soapClient =
    new ServiceReference1.imail_apiSoapClient(Properties.Settings.Default.EndPoint);