Poli Andrea wrote:
> Il problema e' dovuto al fatto che il client sta usando mustUnderstand=1
> e Actor non specificato. Questo puo' andar bene in un'interazione SOAP
> peer to peer, ma non va bene se ci sono dei nodi intermediari che non
> devono interpretare l'header, come avviene in questo caso per le Porte
> di Dominio.
In alternativa, se non puoi intervenire sugli applicativi, puoi fare in
> modo che la PdD ignori comunque l'header, aggiungendo un handler che
> marchi l'header WSS come gestito.
Domenico Loiacono wrote:
Questa seconda alternativa, già utilizzata nel post
http://www.openspcoop.org/pipermail/sviluppatori/msg00092.html in
riferimento alla PA, in effetti è quella che abbiamo utilizzato nei
nostri scenari di test per ovviare al problema e ci sembra la strada
preferibile per non intervenire sui servizi applicativi ed evitare di
aggiungere complessità nell'integrazione dei client.
Nel caso in cui la situazione, actor non specificato e
mustUnderstand=1, si verificasse per altri tipi di header,
occorrerebbe per quanto detto aggiungere ulteriori "bypass". E' corretto ?
La versione 0.9 appena rilasciata permette una configurazione
personalizzata dei bypass handler.
La configurazione e' attuabile nel file 'openspcoop.properties'
attraverso le proprieta' con suffisso/
//org.openspcoop.pdd.services.BypassMustUnderstandHandler/.
Un filtro, e' stato inserito in testa ai servizi axis di OpenSPCoop (in
un handler) e permette di bypassare il problema degli header con
mustUnderstand=1 senza actor, segnalando come /processed/ l' header.
L'opzione
/org.openspcoop.pdd.services.BypassMustUnderstandHandler.allHeaders/
(default /false/) impostata a /true/ abilita l'utilizzo del filtro per
qualsiasi HeaderElement che possiede mustUnderstand=1 e non possiede un
actor.
Se si desidera invece abilitare un filtro piu' selettivo, e' possibile
operare con la proprieta'
/org.openspcoop.pdd.services.BypassMustUnderstandHandler.header/
fornendo nome e namespace uri dell'header. Esempi di filtri abilitati
per default sono i seguenti:
1. /org.openspcoop.pdd.services.BypassMustUnderstandHandler.header.Security/,
abilita gli header di WS-Security (namespace uri:
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd).//
2. /org.openspcoop.pdd.services.BypassMustUnderstandHandler.header.Sequence/,
abilita gli header di WS-Reliability (namespace uri:
http://schemas.xmlsoap.org/ws/2005/02/rm).
Andrea.
|