我正在尝试在我的代码中使用WSO2 StoreAPI来执行WSO2中的验证。这是一个片段
def wso2Subscription(){
println "Inside Subscription"
def serverName = grailsApplication.config.grails.wsoconfig.serverName.toString()
println serverName
withHttp(uri: serverName) {
def resp = post(path : '/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag', query : [action:'addAPISubscription',name:'NewAPI',version:'1.0.0',provider:'admin',tier:'Unlimited',applicationName:'DefaultApplication'])
println "Subscription Response from WS02 ="+resp
resp.each { h -> println " ${h.key} : ${h.value}" }
}
}
每次resp的值都为null。这里缺少什么?我已登录并执行此操作。此外,用户之前未订阅此API。 "内部订阅"显示,因此,函数被调用。但是,响应始终为null。出了什么问题?
答案 0 :(得分:2)
问题是会话管理在这里是不可能的。一个非常好的参考是这个解决这个问题的链接。它对我有用!
http://refaktor.blogspot.in/2013/01/how-to-keep-session-in-httpbuilder-with.html
答案 1 :(得分:1)
您应该将以下信息作为正文发送,而不是作为查询字符串。
action:'addAPISubscription',name:'NewAPI',version:'1.0.0',provider:'admin',tier:'Unlimited',applicationName:'DefaultApplication'
最好从cURL发送请求并查看回复。