Ez a szabály a SOAP hibákat és karaktersorozatokat beolvasó metódusok hívásait jelzi. A világhálós szolgáltatások futási környezetei által visszaadott alapértelmezett hibakódok és karaktersorozatok a WebSphere Application Server 8 változatban megváltoztak.
A következő metódusok kerülnek megjelölésre:
At alapértelmezett hibakódok és karaktersorozatok változásainak oka egy potenciális biztonsági veszélyeztetettség kijavítása, amely az XML titkosítást használó világhálós szolgáltatásokhoz kapcsolódik. A javítás részeként a részletes információk eltávolításra kerültek a világhálós szolgáltatások futási környezete által előállított minden SOAP hibából. Alapértelmezésben a 8-as változatban a világhálós szolgáltatás futási környezetek a futási környezet által előállított összes hibát egyetlen hibatípusban egyesítik, amely a soapenv:Server hibakódot és az Internal Error hiba karaktersorozatot tartalmazza.
Ha az alkalmazás részletes információkat vár el a futási környezet hibakódokkal és karaktersorozatokkal kapcsolatban, akkor lehet, hogy módosítania kell az alkalmazást. A Java látszólagos gép módosít webservices.unify.faults tulajdonságát is használhatja az alapértelmezett viselkedés módosításához. Ha vissza kíván állni az előző kiadás viselkedésére, akkor állítsa be a webservices.unify.faultstulajdonságot false értékre.
A WebSphere Application Server V8 előtt az alapértelmezett viselkedés a részletes információk visszaadása volt a hibakódban és karaktersorozatokban. Ez a probléma a szolgáltatások adatfolyamaiban is javításra került (beleérve a 6.0.2, 6.1 és 7.0 változatot), de az alapértelmezett viselkedés ezen kiadásokban változatlan maradt. A szervizkiadások esetében a webservices.unify.faults alapértelmezett értéke false. Módosítsa ezt az értéket true-ra, ha ugyanazt a viselkedést szeretné kapni ezekben a kiadásokban, mint a 8-as változatban.
JAX-WS példa:|
import javax.xml.ws.soap.SOAPFaultException; import javax.xml.ws.soap.SOAPFault; try { // some code that causes a fault ... } catch (SOAPFaultException e) { SOAPFault soapFault = e.getFault(); String faultCode = soapFault.getFaultCode(); String faultString = soapFault.getFaultString(); ... } |
|
import javax.xml.rpc.soap.SOAPFaultException; import javax.xml.namespace.QName; try { // some code that causes a fault ... } catch (SOAPFaultException e) { QName faultCode = e.getFaultCode(); String faultString = e.getFaultString(); ... } |
Mindkét példában a getFaultCode() és getFaultString() metódusok hívásai kerülnek megjelölésre.
További információkért lásd: