В WebSphere Application Server 8.0 изменилось поведение, связанное с методами
SipFactory createRequest() и
createAddress(), принимающими строковые параметры адреса.
Методы javax.servlet.sip.SipFactory, связанные с данным
изменением и помечаемые этим правилом:
- Address createAddress(java.lang.String addr)
- SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
throws ServletParseException
Это правило дает возможность проверить код, на который может повлиять данное изменение. Что конкретно изменилось:
- В пакете компонентов CEA была добавлена поддержка SIP Servlet Specification 1.1 (JSR 289).
- Касательно методов createRequest() и createAddress()
в API JSR289 сказано:
"... если любой из аргументов from или to - URI SIP с параметрами, то URI должен быть заключен
в угловые скобки. В противном случае адрес будет проанализирован так, как если бы этот параметр принадлежал адресу, а не URI".
- Однако пакет компонентов CEA первоначально имел отклонения от данной спецификации.
Параметры, не заключенные в угловые скобки, интерпретировались как параметры URI. Например, согласно JSR:
- sip:asaf@ibm.com;param1=1 должен быть эквивалентен
- <sip:asaf@ibm.com>;param1=1, но читался как
- <sip:asaf@ibm.com;param1=1>.
- В обслуживающем выпуске пакета компонентов CEA было добавлено
пользовательское свойство sip.jsr289.parse.address
для включения правильного поведения.
- В WebSphere 8.0 поведение по умолчанию соответствует спецификации API.
В версии 8.0, если в том пользовательском свойстве указано значение false,
включается прежнее поведение.
Дополнительная информация приведена в документации: