2015-10-23 5 views
0

Я пробовал раздел JSON data dictionaries в справочной документации по Citrus Framework, и я получаю эту ошибку.Citrus Framework - Невозможно разобрать JSON-словарь данных

10:35:33,430 WARN ctJsonDataDictionary| Data dictionary unable to parse JSON object 
net.minidev.json.parser.ParseException: Unexpected token at position 0. 
    at net.minidev.json.parser.JSONParserBase.readFirst(JSONParserBase.java:369) 
    at net.minidev.json.parser.JSONParserBase.parse(JSONParserBase.java:154) 
    at net.minidev.json.parser.JSONParserString.parse(JSONParserString.java:58) 
    at net.minidev.json.parser.JSONParserString.parse(JSONParserString.java:39) 
    at net.minidev.json.parser.JSONParser.parse(JSONParser.java:253) 
    ... 

citrus-context.xml My имеет конечную точку и словаря JSON данных, сконфигурированный.

<citrus-http:client id="sampleEndpoint" 
        request-url="localhost:8080/test" 
        request-method="POST" 
        content-type="application/json" 
        timeout="60000" /> 

<citrus:json-data-dictionary id="samplePayload"> 
    <citrus:mappings> 
    <citrus:mapping path="TestMessage.MessageId" value="messageId"/> 
    <citrus:mapping path="TestMessage.CorrelationId" value="correlationId"/> 
    <citrus:mapping path="TestMessage.User" value="Christoph"/> 
    <citrus:mapping path="TestMessage.TimeStamp" value="citrus:currentDate()"/> 
    </citrus:mappings> 
</citrus:json-data-dictionary> 

И мой тестовый документ в XML выглядит следующим образом.

<testcase name="sampleTestCase"> 
     <meta-info> 
      <author>Varun Mulloli</author> 
      <creationdate>2015-10-23</creationdate> 
      <status>DRAFT</status> 
      <last-updated-by>Varun Mulloli</last-updated-by> 
      <last-updated-on>2015-10-23T10:35:32</last-updated-on> 
     </meta-info> 

     <description>TODO: Description</description> 

     <actions> 
      <send endpoint="sampleEndpoint"> 
       <message data-dictionary="samplePayload" type="json"> 
        <payload/> 
       </message> 
      </send> 
     </actions> 
</testcase> 

Я могу отправить полезную нагрузку и получить ответ, не используя словарь данных. Что мне здесь не хватает?

P.S. Я использую IntelliJ IDEA с Maven.

ответ

1

Вы отправляете пустое сообщение, и именно поэтому JSONParser запутывается в ошибки. Не применяйте словарь данных к пустой загрузке сообщения. Словарь данных может только перезаписывать данные элементов сообщения JSON до того, как будет выполнена операция отправки.

 Смежные вопросы

  • Нет связанных вопросов^_^