Mohammad Goli Khatir
Mohammad Goli Khatir

Reputation: 11

created proxy with svcutil in .net core 2.2 send the request but can not get the result

I add a reference to a service in my .net core 2.2 project using svcutil 2.0.2 from here : http://sms.magfa.com/services/urn:SOAPSmsQueue?wsdl

the created service proxy send the request to server and server send reply back to the us but the proxy can not get the result !! we use this service in our asp .net web app but in .net core 2.2 using svcutil 2.0.2 we can not get the result. what is the problem ? thank you

my code :

BasicHttpBinding basicHttpBinding = null;
        EndpointAddress endpointAddress = null;
        ChannelFactory<ServiceReference1.SoapSmsQueuableImplChannel> factory = null;
        ServiceReference1.SoapSmsQueuableImplChannel serviceProxy = null;

        try
        {
            basicHttpBinding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
            endpointAddress = new EndpointAddress(new Uri("https://sms.magfa.com/services/urn:SOAPSmsQueue?wsdl"));
            factory = new ChannelFactory<ServiceReference1.SoapSmsQueuableImplChannel>(basicHttpBinding, endpointAddress);

            factory.Credentials.UserName.UserName = "**";
            factory.Credentials.UserName.Password = "****";
            serviceProxy = factory.CreateChannel();

            //((ICommunicationObject)serviceProxy).Open();
            //var opContext = new OperationContext((IClientChannel)serviceProxy);
            //var prevOpContext = OperationContext.Current; // Optional if there's no way this might already be set
            //OperationContext.Current = opContext;

            using (var scope = new OperationContextScope((IContextChannel)serviceProxy))
            {
                var result = await serviceProxy.getCreditAsync("***").ConfigureAwait(false);

            }

            factory.Close();
            ((ICommunicationObject)serviceProxy).Close();
        }
        catch (MessageSecurityException ex)
        {
            throw;
        }
        catch (Exception ex)
        {
            throw;
        }
        finally
        {
            // *** ENSURE CLEANUP (this code is at the WCF GitHub page *** \\
            CloseCommunicationObjects((ICommunicationObject)serviceProxy, factory);
        }

Upvotes: 0

Views: 194

Answers (0)

Related Questions