Ich erhielt eine aktualisierte WSDL für einen Dienst Ich raubend, die unter Politik hat hinzugefügtWCF - Einstellung Politik für Username
<wsp:Policy wssutil:Id="UsernameToken">
<ns0:SupportingTokens xmlns:ns0="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512">
<wsp:Policy>
<ns0:UsernameToken ns0:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<ns0:WssUsernameToken10 />
</wsp:Policy>
</ns0:UsernameToken>
</wsp:Policy>
</ns0:SupportingTokens>
</wsp:Policy>
ich meine Referenz von rechts aktualisiert den Service Referenz klicken -> Konfigurieren von Dienst Option in Visual Studio. Dies erzeugte eine custom
mein früheres Basichttpbinding ersetzt<customBinding>
<binding name="myBindingName">
<!-- WsdlImporter encountered unrecognized policy assertions in ServiceDescription 'http://ouaf.oracle.com/webservices/cm/CM-CustConnAcctDetailExtract': -->
<!-- <wsdl:binding name='CM-CustConnAcctDetailExtractSoapBinding'> -->
<!-- <ns0:SupportingTokens xmlns:ns0="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512">..</ns0:SupportingTokens> -->
<textMessageEncoding messageVersion="Soap11" />
<httpTransport />
</binding>
</customBinding>
Muß ich nur dieses custom benutzen? Oder gibt es eine Option in BasicBinding, die es funktioniert?
Wenn ich mein basicBinding mit TransportWithMessageCredential verwenden, erhalte ich unten Fehler:
The provided URI is Invalid; HTTPS is expected
ich dies mit SoapUI lief. Zusätzlich zu UserName und Passwrod musste ich WSS-PasswordType
als PasswordText
liefern. Ohne Versorgung diese Parameter, bekomme ich einen Fehler in SoapUI
Error on verifying message against security policy Error code:1000
Ich bin nicht sicher, wie WSS-PasswordType in meinem Basichttpbinding zu liefern.
Mein Basichttpbinding ist als unten
protected BasicHttpBinding GetBinding()
{
return new BasicHttpBinding()
{
Name = "BasicHttpBinding",
ReceiveTimeout = new TimeSpan(0, 0, 2, 0),
SendTimeout = new TimeSpan(0, 0, 2, 0),
Security =
{
Mode = BasicHttpSecurityMode.TransportCredentialOnly,
Transport =
{
ClientCredentialType = HttpClientCredentialType.Basic,
ProxyCredentialType = HttpProxyCredentialType.None,
Realm = ""
},
Message =
{
ClientCredentialType = BasicHttpMessageCredentialType.UserName,
AlgorithmSuite = SecurityAlgorithmSuite.Default
}
},
MaxBufferSize = Int32.MaxValue,
MaxReceivedMessageSize = Int32.MaxValue,
ReaderQuotas = new XmlDictionaryReaderQuotas()
{
MaxBytesPerRead = 8192
}
};
}