我的程序应该调用“https://somepath.com/terminallocation/?msisdn=number”,但是看来后面的所有内容都被切断了。我花了最后3个小时就完成了这项工作,我只有有限的尝试次数。如果有人能做的话会很好帮助
public static play.libs.F.Promise<Result> locationControllerGET(
String number) {
String feedUrl = "https://somepath.com/terminallocation/?msisdn="
+ number;
Logger.debug(WS.url(feedUrl)
.setAuth("user", "password", com.ning.http.client.Realm.AuthScheme.BASIC).getUrl().toString());
final play.libs.F.Promise<Result> resultPromise = WS.url(feedUrl)
.setAuth("48509237274", "Y7A7HNM3EFF3LF", com.ning.http.client.Realm.AuthScheme.BASIC).get()
.map(new Function<WS.Response, Result>() {
return ok("");
});
return resultPromise;
}
记录器的控制台输出:
[debug] application - https://somepath.com/terminallocation/?msisdn=number
我还使用Logger.debug.debuf(deedUrl)
进行了检查,这是正确的。
答案 0 :(得分:2)
?
之后的部分被视为“查询参数”,需要作为WSRequestHolder
的Builder模式的一部分单独指定。因此,使用WS.WSRequestHolder
API中的setQueryParameter(String name, String value)
方法:
String feedUrl = "https://somepath.com/terminallocation/";
final play.libs.F.Promise<Result> resultPromise = WS.url(feedUrl)
.setQueryParameter("msisdn", number)
.setAuth("48509237274", "Y7A7HNM3EFF3LF", com.ning.http.client.Realm.AuthScheme.BASIC).get()
.map(new Function<WS.Response, Result>() {
return ok("");
});