Transact XML Errors and Exceptions

Exception:javax.xml.bind.UnmarshalException: Attribute name "XXXXX" associated with an element type "XXXXX" must be followed by the "= " character.

Resolution
This error is caused by an additional word or character within an xml element tag. XML is perceiving this as an attribute of the element. It should be removed.
Check the formatting of your XML Elements to ensure there are no erroneous characters.

Exception:javax.xml.bind.UnmarshalException: The content of elements must consist of well-formed character data or markup.

Resolution
There is likely a symbol, blank space or other issue with an element name. For example, if you entered an element called <$AFW></$AFW> within the XML code, this error would occur because there is a $ symbol in the element tag which is an invalid character.

Exception Error: javax.xml.bind.JAXBException - with linked exception: [java.io.UTFDataFormatException: Invalid byte # of #-byte UTF-8 sequence.]

Overview
You receive the error:
Exception:javax.xml.bind.JAXBException ? with linked exception: [java.io.UTFDataFormatException: Invalid byte # of #-byte UTF-8 sequence.]
Resolution
XML has a high-bit character in it that has not been ASCII encoded. Accented characters, non-ISO characters, etc., fall into this category. Check the character encoding for your submission to ensure it's UTF-8 encoded.

Exception Error: javax.xml.bind.UnmarshalException: a pseudo attribute name is expected.

Overview
When submitting a Transact XML request you receive the error:
Exception Error: javax.xml.bind.UnmarshalException: a pseudo attribute name is expected.
Resolution
You have left out the required question mark within the XML declaration string:

Exception Error: javax.xml.bind.UnmarshalException: Content is not allowed in prolog.

Overview
When submitting a Transact XML request you receive the following error:
Exception Error: javax.xml.bind.UnmarshalException: Content is not allowed in prolog.
Resolution
You cannot include any content (text characters) outside of the tags, even a blank space is not allowed. You also must make sure that the % symbol is encoded to prevent the error.

Exception Error: javax.xml.bind.UnmarshalException: The entity name must immediately follow the "&" in the entity reference.

Overview
When submitting a Transact XML request you receive the following error:
Exception Error: javax.xml.bind.UnmarshalException: Content is not allowed in prolog.
Resolution
This error is caused by either not including CDATA tags around a value that includes an ampersand: &, or if you are passing the XML as part of the query string. It can indicate that you need to URL encode the XML part of the URL.

Exception Error: javax.xml.bind.UnmarshalException: The value following "version" in the XML declaration must be a quoted string.

Overview
When submitting a Transact XML request you receive the following error:
Exception Error: javax.xml.bind.UnmarshalException: The value following "version" in the XML declaration must be a quoted string.
Resolution
You must include the required quotes around the 1.0 within the XML declaration string.
For example:

Exception Error: javax.xml.bind.UnmarshalException: Unexpected element {}:TAGNAME

Resolution
If you have received this error you are more than likely missing the forward-slash (/) within the closing tag (ex: ) of one of your elements, which is specified in the TAGNAME area of the error. Correct the element and retry the transmission.

Exception Error: javax.xml.bind.UnmarshalException: XML document structures must start and end within the same entity

Overview
You receive the Transact XML Error:
Exception:javax.xml.bind.UnmarshalException: XML document structures must start and end within the same entity.
Resolution

  1. One of your XML declarations is missing its closing quote.
  • Incorrect:
  • Correct:
  1. You are missing a bracket in the closing CDATA tag.
  • Incorrect: <![CDATA]>
  • Correct:
  1. You are missing tags in the closing of your XML file.
  • Incorrect:
  • Correct:

How do I resolve the "CampaignID is not numeric" error?

Resolution
There is a non-numeric character in the CampaignID element. All CampaignIDs are numeric. Verify the ID entered in the XML data and make needed changes.
To confirm the CampaignID, login to the Transact Interface and locate the Transactional Message Group and click on the group name. You will see the Group ID which corresponds to the CampaignID.
If the error persists, please submit a Support ticket.

Transact mailing not sent

Overview
Transact XML is returning the following error when trying to send a transactional email.
<XTMAILING_RESPONSE>
<CAMPAIGN_ID>00000000</CAMPAIGN_ID>
<RECIPIENTS_RECEIVED>1</RECIPIENTS_RECEIVED>
<EMAILS_SENT>0</EMAILS_SENT>
<NUMBER_ERRORS>0</NUMBER_ERRORS>
2
<ERROR_CODE>0</ERROR_CODE>
<ERROR_STRING/>
</XTMAILING_RESPONSE>

Resolution
This can be resolved by making sure that the correct IP address is added within the organization's security settings as well as making sure there is a domain configured within the domain settings under organization settings.

Transact returns an error code of 5 and the message "Access not allowed to application for this ip x.x.x.x", what does it mean?

Resolution
Transact XML restricts access to its campaigns by the IP address. With an Org Admin account, navigate to Settings > Security Settings, then expand the Access Restrictions section. Use the controls to add the IP address of the machine that will be accessing the Transact application. You DO NOT need to turn on the options for Allow UI Access or Allow API Access as these have no effect for Transact.

What two XML tag elements are required within the tag element?

Overview
If Personalization in Transact XML is not working or you receive the following error "Exception:javax.xml.bind.UnmarshalException: Content is not allowed in prolog. - with linked exception: ... " when submitting your Transact XML code.
Resolution
In order for personalization to work correctly within Transact XML, you must provide the TAG_ NAME and VALUE. Below is an example:

<TAG_NAME>ax_recv_flst</TAG_NAME>
0

Why am I receiving the "CampaignID number not found" when attempting to execute a Transact call?

Resolution
This error can occur due to any of the following reasons:

  • The CampaignID does not exist in your organization. When you try to execute against a CampaignID (Transactional Message Group ID) that does not exist in your organization, you should verify the Campaign is located within the correct Transact organization, is active, and has a mailing template attached. To verify the ID number, hover over the campaign name in the campaign list view or click the campaign name and view the ID on the campaign summary page. Correct the data within the XML and try to send the mailing again.
  • The Campaign has not had time to synchronize. The sync delay could be due to updating the downtime DB's materialized views, which happens every 10 minutes. For example, if a user sets up a new Transact AMG at 9:42 and the next mv refresh is set for 9:50, but the app goes into downtime mode at 9:45, then that new campaign ID for the Transact AMG causes an error because that data didn't make it to the DB yet.
  • The Campaign has no active automated mailing associated with it.
  • The Transact AMG is not activated, or a mailing is not automated against it. Transact will respond with campaign id xxxxx not found error. That failure for that campaign ID is cached. If you fix the problem immediately, the error may still appear as the failed attempt may need to expire from the cache.

Why do I keep receiving the "BatchWorker error java.io.IOException: Not in GZIP format" during a file upload?

Resolution
The XML file uploaded was not in either the required .xml or .gz format. Change the format and attempt the file upload again.