W produkcie WebSphere Application Server 8.0 wprowadzono zmiana zachowania powiązana z metodami SipFactory createRequest() i createAddress(), które korzystają z parametrów adresu łańcucha.
Konkretne metody javax.servlet.sip.SipFactory powiązane z tą zmianą i oznaczone flagą przez tę regułę są następujące:
- Address createAddress(java.lang.String addr)
- SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
throws ServletParseException
Ta reguła umożliwia sprawdzenie kodu, na który może mieć wpływ zmiana zachowania. Szczegóły zmiany zachowania są następujące:
- W pakiecie składników Feature Pack for Communications Enabled Applications (CEA Feature Pack) dodano obsługę specyfikacji serwletów SIP 1.1 (JSR 289).
- W odniesieniu do metod createRequest() i createAddress() specyfikacja JSR289 API stwierdza:
„... jeśli jeden z argumentów from lub to jest identyfikatorem URI protokołu SIP zawierającym parametry, identyfikator URI musi być ujęty w nawiasy trójkątne. W przeciwnym razie adres zostanie przetworzony tak, jakby ten parametr należał do adresu, a nie do identyfikatora URI".
- Jednakże pakiet składników CEA dostarczany pierwotnie nie był zgodny z interfejsem API.
W przeciwieństwie do tego, co wspomniano wcześniej, parametry, które nie są ujęte w nawiasy trójkątne, są traktowane jak parametry identyfikatora URI. Na przykład zgodnie ze specyfikacją JSR
- sip:asaf@ibm.com;param1=1 powinno mieć postać
- <sip:asaf@ibm.com>;param1=1, ale zostało odczytane jako
- <sip:asaf@ibm.com;param1=1>.
- W wydaniu serwisowym pakietu składników CEA Feature Pack dodano właściwość niestandardową sip.jsr289.parse.address, aby włączyć poprawne zachowanie.
- W produkcie WebSphere 8.0 zachowanie zostało zmienione w taki sposób, że zachowanie domyślne stało się poprawnym zachowaniem zgodnym z interfejsem API.
Jeśli w wersji 8.0 ta właściwość niestandardowa zostanie ustawiona na wartość false, zostanie uzyskane pierwotne zachowanie.
Dodatkowe informacje można znaleźć w dokumentacji: