在 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
此规则可让您有机会检查可能受行为更改影响的代码。 行为更改的详细信息如下所示:
- Feature Pack for Communications Enabled Applications (CEA Feature Pack) 已添加对 SIP Servlet Specification 1.1 (JSR 289) 的支持。
- 关于
createRequest()
和
createAddress()
JSR289 API 声明的方法:
" ... 如果源自变量或源自变量是包含参数的 SIP URI ,那么该 URI 必须用尖括号括起。 否则,将解析该地址,就像该参数属于地址而非 URI 一样。”
- 然而,CEA Feature Pack 在最初交付时并没有遵循该 API。
不会执行先前所述的操作,而是将未使用尖括号括住的参数视为 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 V8.0 中,更改了该行为以便缺省行为是符合正确 API 的行为。
在 V8.0 中,如果定制属性设为 false,那么会获取原始行为。
有关其他信息,请参阅文档: