7
Chcę ustawić wersję komunikatu dla WSHttpBinding na EnvelopeVersion.Soap11. Nie wiem, jak to zrobić. Czy ktoś może mi pomóc. Oto mój kod wiążąceUstawienie wersji komunikatu w kodzie klienta WCF
var binding = new WSHttpBinding()
{
UseDefaultWebProxy = true,
Security =
{
Mode = SecurityMode.Transport,
Transport =
{
ClientCredentialType = HttpClientCredentialType.Basic
},
},
};
EDIT: Oto kod, aby to zrobić
TransportBindingElement transportElement = null;
transportElement = new HttpsTransportBindingElement();
((HttpsTransportBindingElement)transportElement).AuthenticationScheme = AuthenticationSchemes.Basic;
((HttpsTransportBindingElement) transportElement).KeepAliveEnabled = false;
var messegeElement = new TextMessageEncodingBindingElement
{
MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None),
ReaderQuotas =
{
MaxArrayLength = 200000,
MaxBytesPerRead = 200000,
MaxDepth = 200000,
MaxNameTableCharCount = 200000,
MaxStringContentLength = 200000
}
};
var binding = new CustomBinding(messegeElement, transportElement);
return binding;
Jak achive to poprzez C# kod? – Amzath
@amz: należy ** zaktualizować ** swoje oryginalne pytanie tym rozwiązaniem; możesz go poprawnie sformatować i zaprezentować - tutaj w komentarzach jest to niechlujny romans ... –
Dodano kod źródłowy do odpowiedzi – Amzath