sviluppatori@openspcoop.org
<prev [Datenext>
<prev [Threadnext>

[OpenSPCoop-Dev] Re:Modalità d'integrazi

To: sviluppatori@openspcoop.org
Subject: [OpenSPCoop-Dev] Re:Modalità d'integrazione dei servizi applicativi
From: Andrea Poli <apoli@link.it>
Date: Thu, 22 Mar 2007 18:30:07 +0100
List-archive: </pipermail/sviluppatori>
List-help: <mailto:sviluppatori-request@openspcoop.org?subject=help>
List-id: sviluppatori.openspcoop.org
List-post: <mailto:sviluppatori@openspcoop.org>
List-subscribe: <http://www.openspcoop.org/mailman/listinfo/sviluppatori>,<mailto:sviluppatori-request@openspcoop.org?subject=subscribe>
List-unsubscribe: <http://www.openspcoop.org/mailman/listinfo/sviluppatori>,<mailto:sviluppatori-request@openspcoop.org?subject=unsubscribe>
Reply-to: sviluppatori@openspcoop.org
User-agent: Thunderbird 1.5.0.10 (X11/20070221)
Domenico Loiacono wrote:

...
in contesti applicativi in cui è definita una politica di sicurezza per cui è 
richiesto lo scambio di token di
autenticazione/autorizzazione all'interno di messaggi soap attraverso
header WS-Security, i test hanno evidenziato un blocco dei messaggi
sulla porta delegata in quanto la stessa ne ha tentato l'interpretazione.
.....
.....

In breve, per migliore fruizione, si riporta la sola sezione del log che riporta il trace dell'errore applicativo:

........
2007-03-20 09:58:49,343 DEBUG [org.apache.axis.EXCEPTIONS] AxisFault:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand 
<http://schemas.xmlsoap.org/soap/envelope/%7DMustUnderstand>
faultSubcode:
faultString: Did not understand &quot;MustUnderstand&quot;
header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security
 
<http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd%7DSecurity>
.......


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.

Per risolvere il tuo problema dovrebbe quindi essere sufficente introdurre un actor nell'header WSSecurity prodotto dal client, oppure specificare il mustUnderstand=0, che rende legale il fatto che la Porta di Dominio ignori l'header in questione.

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. Se vuoi fare cosi', ti basta agire sul file:

'deploy/pdd/deploy_axis/web_app/WEB-INF/server-config.wsdd'

aggiungendo la riga:

'<handler name="WSBypassMustUnderstand" type="java:org.openspcoop.wssecurity.WSBypassMustUnderstandHandler"/>' al servizio 'RicezioneContenutiApplicativi'. La definizione del servizio diventa quindi:

<!-- Servizio di ricezione Richieste Interne -->
<service name="PD" provider="java:MSG" style="wrapped" use="literal">
<requestFlow>
<handler name="WSBypassMustUnderstand" type="java:org.openspcoop.wssecurity.WSBypassMustUnderstandHandler"/>
<handler type="IdentificazioneParametriPD"/>
<handler type="Authentication"/>
</requestFlow>
<responseFlow>
<handler type="EsitoInvocazione"/>
</responseFlow>
<parameter name="allowedMethods" value="OpenSPCoop_PD"/>
<parameter name="FullMessageService" value="true"/>
<parameter name="className" value="org.openspcoop.pdd.services.RicezioneContenutiApplicativiWS"/>
</service>
<!-- Servizio di ricezione Richieste Interne -->


Dopo la modifica va ovviamente rifatto il deploy di OpenSPCoop.

Andrea.
<Prev in Thread] Current Thread [Next in Thread>
Previous by Date:  Re: [OpenSPCoop-Dev] Re: [OpenSPCoop] Modalità d'integrazione dei servizi applicativi, Domenico Loiacono
Next by Date:  Re: [OpenSPCoop-Dev] Re: Modalità d'integrazione dei servizi applicativi, Domenico Loiacono
Previous by Thread:  [OpenSPCoop-Dev] Modalità d'integrazione dei servizi applicativi, Domenico Loiacono
Next by Thread:  Re: [OpenSPCoop-Dev] Re: Modalità d'integrazione dei servizi applicativi, Domenico Loiacono
Indexes:  [Date] [Thread]