W produkcie WebSphere Application Server v8.0 występuje zmiana zachowania powiązana z
SipFactory createRequest()
oraz
createAddress()
metody, w których używane są parametry adresu w postaci łańcucha.
Szczególne
javax.servlet.sip.SipFactory
metody powiązane z tą zmianą i oznaczone 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
createRequest()
oraz
createAddress()
Interfejs API JSR289 udostępnia następujące metody:
" ... 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
powinna być równa
-
<sip:asaf@ibm.com>;param1=1
ale zamiast tego został odczytany jako
-
<sip:asaf@ibm.com;param1=1>
.
- W wersji serwisowej pakietu składników CEA właściwość niestandardowa
sip.jsr289.parse.address
, został dodany w celu włączenia poprawnego zachowania.
- 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: