Ambiente
Adobe Campaign Adobe Campaign Classic
Problema
Restituisce la chiamata di interazione 0 proposizioni quando maxCount
attributo impostato su 0008 o più di quello nel payload SOAP.
Causa
Nel payload seguente, la urn:maxCount00008/urn:maxCount
Il tag prende un valore numerico.
Se utilizzi una coda 0 funziona normalmente fino a 0007 (significato 000,0001,0002…0007 lavorare normalmente)
Ma se utilizzi 0008 e sopra, restituisce 0 proposte.
Payload della chiamata di interazione:
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
Endpoint:
https://Server URL/interaction/liveRcp/offer
Causa
Al momento del controllo Interaction.js
la libreria parseInt()
viene utilizzata per analizzare maxCount
valore a Intero.
Questo parseInt()
restituisce un valore decimale per impostazione predefinita.
var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString());*
Questa funzione JS eredita una proprietà da C e C++ che se trasmetti un valore in parseInt()
che inizia con 0, utilizza base-8 per restituire il valore.
Poiché base-8 non accetta numeri maggiori di 7, quando si passa 0008 o più, lo converte in 0 o NaN pertanto non viene restituita alcuna proposta.
Se maxCount
, passa 8 anziché 0008, restituisce la proposta nella risposta alla chiamata SOAP .
Soluzione
Modifica la Interaction.js
e utilizza:
var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString(),10);*
così che funzioni per tutti i numeri.