当maxCount设置为0008时,交互调用返回0建议

描述 description

环境
Adobe Campaign Adobe Campaign Classic

问题
交互调用返回 0 建议时间 maxCount 属性设置为 0008 或大于SOAP有效负载中的值。

原因
在以下有效负载中, urn:maxCount00008/urn:maxCount 标记采用数字值。
如果您使用尾部 0,它一直正常运行,直到 0007 (含义 000000010002,…0007 工作正常)

但如果您使用 0008 而且更高版本,它会返回 0 建议。

交互调用有效负载:

soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:interaction"
soapenv:Header/
soapenv:Body
urn:Propose
urn:sessiontoken/
!--Recipient Id
urn:targetIdrandom/urn:targetId--
!-Account Id-
urn:targetIdrandom/urn:targetId
!--Contact Id
urn:targetIdrandom/urn:targetId--
urn:maxCount00008/urn:maxCount
urn:uuid/
urn:nlid/
urn:noProp/
urn:categories/urn:categories
urn:themes/
urn:context
!-You may enter ANY elements at this point-
context
interaction onCallOfferFlg="Y" orgName="to be filled"/
/context
/urn:context
/urn:Propose
/soapenv:Body
/soapenv:Envelope

端点:
https://Server URL/interaction/liveRcp/offer

原因

检查 Interaction.js 库, parseInt() 函数来解析 maxCount 值至 整数.

parseInt() 默认情况下,函数返回十进制值。

var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString());*

此JS函数从C和C继承一个属性++如果传递值,则 parseInt() 开头为 0,它使用base-8返回值。
因为基数8不接受大于7的数字,所以当您传递 0008 或者更多,它将它转换为 0NaN 因此不会返回任何建议。

如果位于 maxCount,您通过 8 而不是 0008,在响应SOAP调用时导致建议。

解决方法 resolution

解决方案
修改 Interaction.js 库和使用:

var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString(),10);*

因此它适用于所有数字。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f