Andrea,
tutte le nostre anomalie nascono dall'architettura con cui abbiamo usato classi
nate per fare da Handler Axis, dove Axis guida, in una struttura dove il flusso
di messaggi è controllato dai componenti OpenSPCoop. Questo ha permesso di
semplicare la configurazione della sicurezza riportandola all'interno di quella
delle porte, ma crea poi incongruenze come questa che mi riporti.
Per distinguere tra AxisClient ed AxisServer bisognerebbe portare la engine a
livello di WSSSender e WSSReceiver e lasciare in WSSBaseUtils solo il
MessageContext, passando al costruttore di WSSBaseUtils l'engine corretta in
fase di costruzione.
Ho provato a fare queste modifiche al volo nei file che allego, mi sembra
funzioni tutto (incluso "useReqSigCert") ma ti consiglio qualche test e
controllo sul codice.
Sono un attimino affogato di attività e non credo di poter fare ulteriori prove
per qualche tempo.
Sul fatto che non si richieda la pulizia dell'header WSS quando ci sia
AxisServer non mi sembra proprio, almeno da una prova che ho fatto, ricordati
che non siamo nella logica dell'handler Axis.
P.S
Ho visto che non hai ancora messo sotto CVS la versione modificata di
ConnettoreSAAJ con supporto per la configurazione della "prefix-optimization".
Ciao
Luciano
-----Messaggio originale-----
Da: sviluppatori-bounces@openspcoop.org
[mailto:sviluppatori-bounces@openspcoop.org] Per conto di Andrea Poli
Inviato: martedì 6 giugno 2006 12.07
A: sviluppatori@openspcoop.org
Oggetto: [OpenSPCoop-Dev] Rimozione header WSSecurity
Ciao Luciano,
ci e' stato segnalato che noi usiamo scorrettamente, nel WSSReceiver,
l'engine utilizzato per processare l'header WSSecurity. In particolare ci hanno
indicato:
- nel WSSSender deve essere utilizzato un org.apache.axis.client.AxisClient
come engine da associare nel message context (come abbiamo fatto noi,
attraverso WSSBaseUtils)
- nel WSSReceiver deve essere utilizzato un org.apache.axis.server.AxisServer
come engine.
L'utilizzo del AxisServer dovrebbe eliminare da solo l'header WSS processato,
senza il bisogno di un metodo apposto: 'clean(envelope,actor)'.
Puoi verificare questo aspetto.
p.s. comunque il message context deve essere lo stesso per un funzionamento
corretto della funzionalita ' <parameter nome="encryptionUser"
valore="useReqSigCert" /> ' .
Andrea.
_______________________________________________
Sviluppatori mailing list
Sviluppatori@openspcoop.org
http://www.openspcoop.org/mailman/listinfo/sviluppatori
WSSBaseUtils.java
Description: WSSBaseUtils.java
InoltroRisposte_eGov.java
Description: InoltroRisposte_eGov.java
InoltroBuste_eGov.java
Description: InoltroBuste_eGov.java
RicezioneEventiEGov.java
Description: RicezioneEventiEGov.java
RicezioneBusteEGovSOAP.java
Description: RicezioneBusteEGovSOAP.java
|