În WebSphere Application Server v8.0, există o modificare de comportament asociată cu metodele SipFactory
createRequest() şi createAddress() care utilizează parametri de adresă.
Metodele javax.servlet.sip.SipFactory specifice asociate cu această modificare şi care sunt semnalate de
această regulă sunt următoarele:
- Address createAddress(java.lang.String addr)
- SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
throws ServletParseException
Această regulă oferă posibilitatea de a inspecta codul care poate fi afectat de modificarea de comportament. Detaliile acestei
modificări de comportament sunt după cum urmează:
- Feature Pack for Communications Enabled Applications (CEA Feature Pack) a adăugat suport pentru
SIP Servlet Specification 1.1, JSR 289.
- Cu privire l ametodele createRequest() şi createAddress(), API-ul JSR289
specifică: "... dacă oricare dintre argumentele De la sau Către este un URI SIP ce conţine parametri, URI-ul
trebuie să fie încadrat cu paranteze unghiulare. În caz contrar, adresa va fi analizată ca și cum parametrul are ține de adresă, și nu de URI.”
- Însă CEA Feature Pack, aşa cum a fost livrat iniţial, nu respecta API-ul.
În loc să se procedeze aşa cum s-a arătat anterior, parametrii care nu erau încadraţi cu paranteze unghiulare sunt trataţi ca
parametri de URI. De exemplu, conform JSR,
- sip:asaf@ibm.com;param1=1 trebuia să fie egal cu
- <sip:asaf@ibm.com>;param1=1, dar era citit ca
- <sip:asaf@ibm.com;param1=1>.
- Într-o ediţie de service CEA Feature Pack, a fost adăugată o proprietate de personalizare,
sip.jsr289.parse.address, pentru a permite comportamentul corect.
- În WebSphere Versiunea 8.0, comportamentul a fost modificat, astfel încât comportamentul implicit este comportamentul API
compatibil.
În versiunea 8.0, dacă proprietatea de personalizare este setată la false, se revine la comportamentul original.
Pentru informații suplimentare consultaţi documentația: