0

Citrus静的応答アダプタのペイロードでCitrus変数を使用できますか?私はリソースファイルから取得したモックサービス応答を返すために、静的な応答エンドポイント・アダプターを使用しています

  private void setAdapterResponse(StaticResponseEndpointAdapter adapter, String response) throws IOException{ 

          URL url = Resources.getResource(response); 
          adapter.setMessagePayload(Resources.toString(url, Charsets.UTF_8)); 
      } 

      @Autowired 
      private Endpoint helloSoapClient; 

      @Autowired 
      private WebServiceServer helloMockService; 

      @Autowired 
      private StaticResponseEndpointAdapter helloResponseAdapter; 

      @CitrusTest(name = "HELLO_WORLD") 
      public void sendAndReceiveMessage() throws IOException{ 

          variable("randomRequestIdentifier", "9978111203033"); 
          variable("constantDate", "201301010000"); 

          setAdapterResponse(helloResponseAdapter, "templates/helloResponses/ReqIdGenerator.xml"); 

          send(helloSoapClient) 
          .payload(new ClassPathResource("templates/helloRequests/HelloRequest028.xml")); 
          receive(helloSoapClient) 
          .payload(new ClassPathResource("templates/helloResponses/HelloResponse028.xml")); 
      } 



      private void setAdapterResponse(StaticResponseEndpointAdapter adapter, String response) throws IOException{ 

      URL url = Resources.getResource(response); 
      adapter.setMessagePayload(Resources.toString(url, Charsets.UTF_8)); 
      } 

ファイルのテンプレート/ helloResponses/ReqIdGenerator.xml内容は次のとおりです。

<xml> 
    <id>${randomRequestIdentifier}</id> 
</xml> 

は私がいることを考えました変数は現在の値に置き換えてください。私が間違っている? Citrus Endpoint Responsesの変数をサポートする組み込みメカニズムはありますか?

答えて

1

静的応答アダプターおよびエンドポイント・アダプターは一般に、現時点ではテスト変数をサポートしていません。

編集:シトラスは、あなたが静的応答アダプタにテスト変数を使用することができます2.6.2以来。以下のドキュメントを参照してください:http://www.citrusframework.org/reference/html/endpoint-adapter.html#static-response-endpoint-adapter

+0

ご回答ありがとうございます。だから、私は仕事をする検索交換機を書くつもりです。しかし、 - テストケースで定義されたすべての変数を収集できますか? getAllVariables()のようなもの? – supertramp

関連する問題