Stiamo eseguendo la migrazione di un'app Web WebLogic 10.3.5 a WebLogic 12.1.3 e abbiamo riscontrato un problema che riteniamo possa essere correlato alla sicurezza dei servizi Web. L'app utilizza Axis 1.5.6 per chiamare un servizio SOA Suite SOA (ancora in esecuzione su WebLogic 10.3.5). Quando la sicurezza del servizio Web è disattivata, torniamo la risposta attesa:Dati da SOA Suite a Axis2 interrotti
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:getNamesResponse
xmlns:ns2="http://www.example.com/ABC/Common"
xmlns:ns3="http://www.example.com/ABC/Profile">
<ns3:OperatingName>
<ns3:Number>123456789</ns3:Number>
<ns3:Name>Company Name, Inc.</ns3:Name>
</ns3:OperatingName>
</ns3:getNamesResponse>
Ma non appena la sicurezza servizio web è abilitata (usando Apache Rampart 1.5.2, Apache Neethi 2.0.5), abbiamo iniziare a ricevere risposte vuote :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:getNamesResponse
xmlns:ns2="http://www.example.com/ABC/Profile"
xmlns:ns4="http://www.example.com/ABC/Common" />
la cosa strana è che quando si guarda attraverso la console SOA Suite, la risposta di SOA di nuovo alla web app (con la sicurezza abilitata) appare corretta:
<message>
<properties>
<property name="tracking.compositeInstanceId" value="2110209"/>
<property name="tracking.ecid" value="0058XKIkdpHFw00Fzzw0w00004Et005Kmk"/>
<property name="ws.wsu.id" value="Body-Body_tTzuB5XmRNQPR7Y7"/>
</properties>
<parts>
<part name="getNamesResponse">
<bp:getNamesResponse>
<bp:OperatingName>
<bp:Number>123456789</bp:Number>
<bp:Name>Company Name, Inc.</bp:Name>
</bp:OperatingName>
</bp:getNamesResponse>
</part>
</parts>
</message>
Nessuna eccezione registrata. Qualcun altro ha sperimentato e risolto questo tipo di problemi?
Avete controllato i log per gli errori? Weblogic ha le sue librerie XML, quindi potrebbe essere un conflitto di libreria. –
Stai usando la stessa richiesta di sapone? Capisco che dovrebbe avere nuovi tag per la sicurezza (WS - Security 1.1, ecc.) E probabilmente il client interno SOA sta andando direttamente al tuo endpoint (bypassando il livello di sicurezza). – devwebcl
I registri non indicano alcun tipo di errore. Il codice del client SOAP non è stato modificato, né le versioni dei componenti client come descritto sopra (rampart, ecc.). Mi sembra che SOA stia bypassando la sicurezza, quindi avremmo ottenuto un'eccezione di sicurezza. Tutto sembra funzionare da un punto di vista della sicurezza. È semplicemente l'XML di risposta che viene eliminato. – 6006604