2016-04-14 18 views
0

Oyna java'yı kullanıyorum 2.4, ancak 2.5 da denedim. Gönderilen veri boyutu 1024 bayttan fazla olduğunda denetleyici herhangi bir sonuç göndermiyor. Farklı boyuttaki dosyaları gönderiyordum. Denetleyici tüm verileri okuyabilir, ancak dosya boyutu 1024 bayttan fazla olduğunda yanıt göndermez.Denetleyici, 1024 bayttan fazla veriyle sonuç göndermiyor - Oynatma Çerçevesi 2,1

yolları:

HomeController.java
POST /message      controllers.HomeController.rxmessage 

: Ben kıvrılma ile test

public Result rxmessage() { 
    Logger.warn("rxmessage"); 
    return ok("rxmessage ok\r\n"); 
} 

:

curl --header "Content-type: application/xml" --request POST -d @data.xml http://localhost:9000/message 

data.xml 1024 bayt altındadır:

~/Dev/Play/buffer-test$ curl --header "Content-type: application/xml" --request POST -d @data.xml http://localhost:9000/saetr 
rxmessage ok 

Ancak data.xml, 1024 bayttan fazla olduğunda, curl asla ulaşamayacağı bir yanıt bekliyor.

ben dosyasına koyarak eklemek çalıştı:

@BodyParser.Of(value = BodyParser.Xml.class, maxLength = 10 * 1024) 
public Result rxmessage() { 
    Logger.warn("rxmessage"); 
    return ok("rxmessage ok\r\n"); 
} 

yanlış yapıyorum:

play.http.parser.maxMemoryBuffer = 256kB 
parsers.Xml.maxLength=10240K 

Ben BodyParser ek açıklama çalıştı? Yardım ettiğiniz için teşekkür ederiz.

+0

Bu garip, varsayılan sınır 100K değil mi? – Anton

+0

Sanırım başka bir parametre yapılandırıyorsunuz. Parsers.text.maxLength' ile deneyebilirsiniz, ancak @Anton haklı. Varsayılan değer 1024 * 100'dür. –

+0

Belki de ilk metin için xml değil, basit bir metinle denemelisiniz. –

cevap

0

Başka bir bilgisayarda denedim ve çalışıyor. Bir sanal makineden bukle kullanmayı denedim ve bu da çalışıyor. Yani sorun kıvrılmış gibi görünüyor ama nedenini söyleyemem. Tuhaf.

İlgili konular