В WebSphere Application Server v8.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 :
" ... если один из аргументов или аргумент является 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 Feature Pack отпустите пользовательское свойство,
sip.jsr289.parse.address
, был добавлен для включения правильного поведения.
- В WebSphere 8.0 поведение по умолчанию соответствует спецификации API.
В версии 8.0, если в том пользовательском свойстве указано значение false,
включается прежнее поведение.
Дополнительная информация приведена в документации: