149 messaggi dal 14 settembre 2006
Ciao a tutti!
Sto cercando di fare un webservice in vb Dotnet che implementa WS-Security.
Adesso quello che ho capito della WS-Security è che dovrebbe proteggere il mio webservice da accessi indesiderati incapsulando dei metodi per le credenziali.
Ma a parte questo sono lontanissimo dalla soluzione pratica!

Qualcuno ha già avuto a che fare con webservice e WS-Security?... magari mi chiarisce un attimo le idee:)

Grazie!
Alessio
149 messaggi dal 14 settembre 2006
Grazie per la risposta!
Alla fine sono riuscito a creare un webservice utilizzando microsoft.web.services3 il problema che mi si pone adesso è che da specifiche mi devo autenticare in clear text e senza Nouce.
Cercando su internet ho scoperto per fare questo devo aggiungere sotto la configurazione del service3 nel web.config il seguente codice:
<microsoft.web.services3>
    <security>
      <securityTokenManager>
        <add type="UsernameAssertionLibrary.ServiceUsernameTokenManager" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" localName="UsernameToken" >
          <replayDetection enabled="false"  windowInSeconds="300" />
        </add>
      </securityTokenManager>
    </security>
    <policy fileName="wse3policyCache.config" />
  </microsoft.web.services3>

Ma così facendo il client mi da il seguente errore:
System.Web.Services.Protocols.SoapHeaderException: Server unavailable, please try later ---> System.ApplicationException: WSE842: The service pipeline could not be created. ---> System.Configuration.ConfigurationErrorsException: WSE032: There was an error loading the microsoft.web.services3 configuration section. ---> System.Configuration.ConfigurationErrorsException: WSE037: Type UsernameAssertionLibrary.ServiceUsernameTokenManager has no suitable constructor. (C:\inetpub\wwwroot\webservice.fastweb.fastlink\web.config line 179) in System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) in System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) in System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) in System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission) in System.Configuration.BaseConfigurationRecord.GetSection(String configKey) in System.Web.HttpContext.GetSection(String sectionName) in Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_Current() --- Fine dell'analisi dello stack dell'eccezione interna --- in Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_Current() in Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_MessagingConfiguration() in Microsoft.Web.Services3.WseProtocol.ModifyInitializedExtensions(PriorityGroup group, SoapExtension[] extensions) in System.Web.Services.Protocols.SoapServerProtocol.Initialize() --- Fine dell'analisi dello stack dell'eccezione interna --- --- Fine dell'analisi dello stack dell'eccezione interna --- 

Secondo voi dov'è che sbaglio?
Grazie ancora
Alessio
149 messaggi dal 14 settembre 2006
per essere più preciso quello che dovrebbe disabilitare il nouce sul web service è:
<replayDetection enabled="false" windowInSeconds="300" />
Senza questa configurazione il webservice funzione, aggiungendola il client mi da l'errore riportato nel precedente post.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.