मैं एक ServiceStack
आधारित साबुन ग्राहक है, जो HTTP के लिए सही ढंग से संचालित लेकिन जब मैं HTTPS का उपयोग करने की कोशिश यह मुझे इस त्रुटिServiceStack साबुन 1.2 HTTPS क्लाइंट
ServiceStack.WebServiceException: The provided URI scheme 'https' is invalid; ex
pected 'http'.
Parameter name: via ---> System.ArgumentException: The provided URI scheme 'http
s' is invalid; expected 'http'.
Parameter name: via
at System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelPar
ameters(EndpointAddress remoteAddress, Uri via)
at System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannelCore(Endp
ointAddress remoteAddress, Uri via)
at System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(En
dpointAddress address, Uri via)
at System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOv
erRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
at System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(En
dpointAddress address, Uri via)
at System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type chan
nelType, EndpointAddress address, Uri via)
at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address
, Uri via)
at System.ServiceModel.ClientBase`1.CreateChannel()
at System.ServiceModel.ClientBase`1.CreateChannelInternal()
at System.ServiceModel.ClientBase`1.get_Channel()
at ServiceStack.WcfServiceClient.Send(Message message)
at ServiceStack.WcfServiceClient.Send[T](Object request)
--- End of inner exception stack trace ---
at ServiceStack.WcfServiceClient.Send[T](Object request)
at ElectronicServiceInterface.ESIClient.Login()
मैं एक आत्म हस्ताक्षरित प्रमाणपत्र का उपयोग कर रहा है, लेकिन मुझे लगता है मेरी साबुन सेवा को सफलतापूर्वक कॉल करने के लिए कर्ल का उपयोग करने में सक्षम हूं। यह मेरे लिए इंगित करता है कि यह मुद्दा ग्राहक के अंत में है।
मेरे कोड
using (var client = new Soap12ServiceClient(Uri))
{
var request = new MyRequestObject { Username = Username, Password = Password };
var response = client.Send<MyResponseObject>(request);
}
की तर्ज पर चला जाता है ऊपर के उदाहरण अनुरोध/प्रतिक्रिया डीटीओ वर्ग उपयोग दिखाता है।
कॉन्फ़िगरेशन फ़ाइलों का उपयोग किये बिना इसे HTTPS के साथ काम करने के लिए मुझे क्या करना है, केवल कोड?
सेवाओं की मेजबानी की अपनी कोड/विन्यास जोड़ें:
मैं निम्नलिखित एसएसएल-तटस्थ ग्राहक के साथ आवश्यक कार्यक्षमता को प्राप्त करने में कामयाब रहे। – silver
@silver कोई विन्यास नहीं है। मैंने थोड़ा और कोड जोड़ा है, जो कम से कम 'प्रेषण' कॉल दिखाता है जो अपवाद को ट्रिगर करता है। साबुन सेवा स्वयं सर्विसस्टैक आधारित सेवा (केवल क्लाइंट) नहीं है, लेकिन इस पर ध्यान दिए बिना कि कोड वास्तव में दूसरे छोर पर सर्वर को मारने तक नहीं मिलता है। –