在 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 对其描述如下:“... 如果 from 或 to 自变量是包含参数的 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 Service Release 中,已添加定制属性 sip.jsr289.parse.address 以启用正确的行为。
- 在 WebSphere V8.0 中,更改了该行为以便缺省行为是符合正确 API 的行为。
在 V8.0 中,如果定制属性设为 false,那么会获取原始行为。
有关其他信息,请参阅文档: