Ciao sspintux...ce l'ho fatta.
Partendo dal codice che mi avevi postato (con alcune variazioni alla stringa di Header) e senza modificare il file app.config.
Ecco il codice:
codice:
Private Sub GetWS(StringaUriEndpoint as string, StringaUsername as string, StringaPassword as string)
Dim binding As New CustomBinding()
Dim security As TransportSecurityBindingElement = TransportSecurityBindingElement.CreateUserNameOverTransportBindingElement()
security.IncludeTimestamp = False
security.DefaultAlgorithmSuite =ServiceModel.Security.SecurityAlgorithmSuite.Basic256
security.MessageSecurityVersion = MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10
security.SetKeyDerivation(False)
Dim encoding As New TextMessageEncodingBindingElement
encoding.MessageVersion = MessageVersion.Soap11
Dim transport As New HttpsTransportBindingElement()
binding.Elements.Add(security)
binding.Elements.Add(encoding)
binding.Elements.Add(transport)
Dim EP As New EndpointAddress(StringaUriEndpoint)
Dim proxy As New Autoveicolo.dettaglioAutoveicoloComproprietariTrasferimentiResClient(binding, EP)
proxy.ClientCredentials.UserName.UserName = StringaUsername
proxy.ClientCredentials.UserName.Password = StringaPassword
Using New OperationContextScope(proxy.InnerChannel)
Dim strHeader As String = "<wsse:Security xmlns:wsse=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd""> " & _
"<wsse:UsernameToken> " & _
"<wsse:Username>{0}</wsse:Username> " & _
"<wsse:Password>{1}</wsse:Password> " & _
"</wsse:UsernameToken> " & _
"</wsse:Security>"
strHeader = String.Format(strHeader, StringaUsername, StringaPassword)
Dim MyDoc As New XmlDocument
MyDoc.LoadXml(strHeader)
Dim MyElement As XmlElement = MyDoc.DocumentElement
Dim Header As MessageHeader = MessageHeader.CreateHeader("Security", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", MyElement, True)
OperationContext.Current.OutgoingMessageHeaders.Add(Header)
Dim rq As New Autoveicolo.DettaglioAutoveicoloBaseType
Dim tg As New Autoveicolo.TargaType
tg.numeroTarga = "AJ307EY"
rq.dettaglioAutoveicoloBaseInput = New Autoveicolo.DettaglioAutoveicoloBaseInputType
rq.dettaglioAutoveicoloBaseInput.Item = tg
Dim lg As New Autoveicolo.LoginType
lg.codicePin = ""
rq.login = lg
rq.pdf = False
Dim rs As Autoveicolo.DettaglioAutoveicoloComproprietariTrasferimentiResResponseType
rs = proxy.dettaglioAutoveicoloComproprietariTrasferimentiRes(rq)
End Using
End Sub