I recorded a NeoLoad XML API script that has %%some text%% and it recorded fine and my application processes it fine. BUT when I playback, it doesn't work in that my application doesn't appear to have received the request and the response returns to NeoLoad does not contains the expected result. Here's a sample of the XML body:
<Envelope><Body>
<ScheduleMailing>
<TEMPLATE_ID>3442987</TEMPLATE_ID>
<LIST_ID>1791819</LIST_ID>
<MAILING_NAME>API Scheduled Mailing personalization xyz</MAILING_NAME>
<SEND_HTML/>
<SEND_AOL/>
<SEND_TEXT/>
<SUBJECT>API Scheduled Mailing %%First Name%%</SUBJECT>
<FROM_NAME>API Test Harness</FROM_NAME>
<FROM_ADDRESS>fromname@company.com</FROM_ADDRESS>
<REPLY_TO>sender@domain.com</REPLY_TO>
<VISIBILITY>0</VISIBILITY>
<SCHEDULED>11/20/2017 06:00:00 AM</SCHEDULED>
</ScheduleMailing>
</Body></Envelope>
And here is the response when doing the playback:
HTTP/1.1 200 OK
Date: Mon, 20 Nov 2017 12:24:14 GMT
Server: Apache-Coyote/1.1
Content-Length: 0
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/plain; charset=UTF-8
If it's working properly, the response should be something like this:
<Envelope>
<Body>
<RESULT>
<SUCCESS>TRUE</SUCCESS>
<MAILING_ID>3443688</MAILING_ID>
</RESULT>
</Body>
</Envelope>
I'm using NeoLoad 4.2.3
Your application did receive the request sent by NeoLoad otherwise you should not get that HTTP 200 OK response.
Now maybe the server expects a different content in the request that the one you sent back. Do you know if there are some data that need to be customized like the TemplateID?
I figured out what was wrong. The "Enable URL rewriting" was enabled on the server. Once I unchecked it (and make sure that the XML "Encode value" is checked), the problem went away.