2016-03-14 16 views
6

Ho cercato di creare un legame con l'uscita di questo tipo di XML intestazione personalizzata:Creazione di un personalizzato Legatura in C#

<soapenv:Header> 
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <wsse:UsernameToken wsu:Id="UsernameToken-BEC9D84D8B68A3118D14543420311491"> 
     <wsse:Username>user</wsse:Username> 
     <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">pass</wsse:Password> 
     <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">hBcjVXk/NxiSiva5xXKphA==</wsse:Nonce> 
     <wsu:Created>2016-02-01T15:53:51.146Z</wsu:Created> 
    </wsse:UsernameToken> 
    </wsse:Security> 

Ecco il mio codice finora:

 var customBinding= new CustomBinding(); 

     var securityBindingElement = SecurityBindingElement.CreateUserNameOverTransportBindingElement(); 
     securityBindingElement.IncludeTimestamp = false; 
     customBinding.Elements.Add(securityBindingElement); 
     customBinding.Elements.Add(new TextMessageEncodingBindingElement()); 

     var transportElement = new HttpsTransportBindingElement(); 

     customBinding.Elements.Add(transportElement); 

Tuttavia continuo a ricevere un messaggio che indica:

The message could not be processed. This is most likely because the action is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings.

Sono abbastanza certo che abbia a che fare con la mia personalizzazione, ma sto passando un momento terribilmente difficile cercando di capire quali proprietà devono essere impostate su cosa. Apprezzo qualsiasi guida !!!

+0

tuo assomiglia molto il mio legame personalizzato che sta lavorando vincolante - anche se ho usato un BinaryMessageEncoding .. che sarebbe la pena di provare – BugFinder

+0

Grazie - nuovo messaggio di errore: 'I il tipo di contenuto text/html del messaggio di risposta non corrisponde al tipo di contenuto del bind (application/soap + msbin1). Se utilizzi un codificatore personalizzato, assicurati che il metodo IsContentTypeSupported sia implementato correttamente ' – 99823

+0

sai quando carichi il riferimento in vs, ti viene chiesto come vuoi gestire varie raccolte - Mi chiedo se questo è ciò che questo sta facendo per te ... http://stackoverflow.com/questions/11135392/webservice-returns-wrong-content-type-response-header parla di questo errore – BugFinder

risposta

2

penso che l'ora del client e l'ora del server sono mismatching, almeno l'errore sembra che ...

Potrebbe controllare i timer?

se ho ragione vedo questo: How to: Set a Max Clock Skew