2016-03-14 9 views
6

I zur Ausgabe Bindung dieser Art von Header-XML eine eigene zu erstellen habe versucht:eine benutzerdefinierte Bindung in C# erstellen

<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> 

hier so weit mein Code:

 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); 

Ich bekomme jedoch weiterhin eine Nachricht:

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.

Ich bin mir ziemlich sicher, dass es mit meiner Kundenbindung zu tun hat, aber ich habe eine schrecklich schwierige Zeit zu versuchen, herauszufinden, welche Eigenschaften zu was gesetzt werden müssen. Schätze jede Anleitung !!!

+0

Ihre Bindung sieht aus wie meine benutzerdefinierte Bindung, die funktioniert - obwohl ich ein BinaryMessageEncoding verwendet .., die einen Versuch – BugFinder

+0

Dank wert wäre - neue Fehlermeldung: 'Die Der Inhaltstyp text/html der Antwortnachricht stimmt nicht mit dem Inhaltstyp der Bindung überein (application/soap + msbin1). Wenn Sie einen benutzerdefinierten Encoder verwenden, stellen Sie sicher, dass die IsContentTypeSupported-Methode ordnungsgemäß implementiert ist. – 99823

+0

Sie wissen, wenn Sie den Verweis in vs laden, werden Sie gefragt, wie Sie mit verschiedenen Sammlungen umgehen möchten - ich frage mich, ob dies für Sie getan wird ... http://stackoverflow.com/questions/11135392/webservice-returns-wrong-content-type-response-header spricht von diesem Fehler – BugFinder

Antwort

2

Ich denke, dass die Client-Zeit und die Serverzeit unpassende, zumindest der Fehler scheint, wie es ...

Können Sie Ihre Timer überprüfen?

Wenn ich dieses Rechts sind: How to: Set a Max Clock Skew

Verwandte Themen