gpt4 book ai didi

xml - Prolog Grails中不允许XML错误

转载 作者:行者123 更新时间:2023-12-02 14:23:19 25 4
gpt4 key购买 nike

我在Curl命令上有以下内容:

curl -i -H "Content-Type: text/xml" -d '<sample:WIB xmlns:sample="www.sample.com"><sample:Customer><sample:Catalog_ID>01</sample:Catalog_ID><sample:Shop_ID>01</sample:Shop_ID></sample:Customer></sample:WIB>' http://localhost:8080/app/API/

我的Grails Controller 是:
def index() {
String xml = request.XML.toString();
def workXml = new XmlSlurper().parseText(xml)
}

解析时出现错误
我也尝试过这个:
def workXml = new XmlSlurper().parseText(xml).declareNamespace(sample: 'sample')

我犯了同样的错误:

这是堆栈跟踪:
Message: Content is not allowed in prolog.
Line | Method
->> 10 | index in app.APIController$$EP3387M0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 198 | doFilter in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter in grails.plugin.cache.web.filter.AbstractFilter
| 53 | doFilter in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
| 49 | doFilter in grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter
| 82 | doFilter in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run . . . in java.lang.Thread

最佳答案

您对curl使用了错误的选项--d选项需要name=value对,并将其像浏览器中的表单发布一样对待。如果您想按原样准确发送命令行上给定的数据,则应改用--data-binary

顺便说一句,request.XML已经被解析-它是一个GPathResult与您从XmlSlurper获得的相同,因此无需尝试将其转换回字符串并再次对其进行采样。

关于xml - Prolog Grails中不允许XML错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28263748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com