Grails kann die Anforderung nicht analysieren, wenn der Inhaltstyp während des Posts angegeben wird

Verwendenwget Ich mache zwei Beiträge zur gleichen URL mit XML im Körper. Das erste funktioniert. Die zweite hat den angegebenen Inhaltstyp und funktioniert nicht. Warum ist das so und wie bekomme ich Grails, um die Anforderung zu analysieren, selbst wenn der Inhaltstyp angegeben ist?

erste wget:

wget http://localhost:8080/myApp/myMoeView/save --post-file=xmltest.xml

Grails-Protokolle (beachten Sie die "geparsten Parameter"):

2014-02-27 18:44:05,465 [http-bio-8080-exec-9] INFO  httplogger.DefaultHttpLogger  - << #3425 POST http://localhost:8080/myApp/mrMoeView/save
2014-02-27 18:44:05,465 [http-bio-8080-exec-9] INFO  httplogger.DefaultHttpLogger  - << #3425 headers [Cookie: JSESSIONID=D5B2399D6FFB800130E826DCD7DB0C37]
2014-02-27 18:44:05,465 [http-bio-8080-exec-9] INFO  httplogger.DefaultHttpLogger  - << #3425 body: ''
2014-02-27 18:44:05,491 [http-bio-8080-exec-9] INFO  httplogger.DefaultHttpLogger  - << #3425 dispatched to mrMoeView/save with parsed params ['<?xml version':'{"1.0" encoding="UTF-8" standalone="yes"?><mrMoeView><absoluteTolerance>1.004</absoluteTolerance><endTime>0</endTime><id>4187</id><lastModified>2014-01-07 00:00:00.000 PST</lastModified><modelRealizationId>1193</modelRealizationId><mrMoeId>4187</mrMoeId><mrMoeName>Default MOE from Model 2140</mrMoeName><relativeTolerance>1e-4</relativeTolerance><startTime>0</startTime></mrMoeView>

zweiter wget:

wget http://localhost:8080/myApp/mrMoeView/save --post-file=xmltest.xml --header="Content-Type:application/xml"

Grails-Protokolle (beachten Sie, dass keine syntaktisch analysierten Parameter vorhanden sind und der Body die gesamte XML-Datei enthält):

2014-02-27 18:46:27,291 [http-bio-8080-exec-5] INFO  httplogger.DefaultHttpLogger  - << #3427 POST http://localhost:8080/processdb/mrMoeView/save
2014-02-27 18:46:27,291 [http-bio-8080-exec-5] INFO  httplogger.DefaultHttpLogger  - << #3427 headers [Cookie: JSESSIONID=B1FAAB54422AC7F1E243D4CE68C72B77]
2014-02-27 18:46:27,291 [http-bio-8080-exec-5] INFO  httplogger.DefaultHttpLogger  - << #3427 body: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><mrMoeView><absoluteTolerance>1.004</absoluteTolerance><endTime>0</endTime><id>4187</id><lastModified>2014-01-07 00:00:00.000 PST</lastModified><modelRealizationId>1193</modelRealizationId><mrMoeId>4187</mrMoeId><mrMoeName>Default MOE from Model 2140</mrMoeName><relativeTolerance>1e-4</relativeTolerance><startTime>0</startTime></mrMoeView>'
2014-02-27 18:46:27,320 [http-bio-8080-exec-5] INFO  httplogger.DefaultHttpLogger  - << #3427 dispatched to mrMoeView/save with parsed params [].

Grails Version 2.3.5

AKTUALISIEREN

UrlMapping:

class UrlMappings {

static mappings = {
    "/$controller/$action?/$id?"(parseRequest:true){
        constraints {
            // apply constraints here
        }
    }

    "/"(view:"/index")
    "500"(view:'/error')
}
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage