import dispatch._
val h = new Http
val req = url(url).as_!(username, password)
val handler = req << (payload, "application/xml") >:> identity
handler.apply {
case (200, _, Some(entity), _) => (200, Some(entity))
case (status, _,_,_) => (status, None)
}
val response = h(handler)
我试过这个:
public static void postService(Profile user, String subject, String body){
Credentials credentials = new UsernamePasswordCredentials(userName, authToken);
AuthScope authScope = new AuthScope(baseUrl, 80, AuthScope.ANY_REALM);
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(baseUrl);
client.getParams().setAuthenticationPreemptive(true);
client.getState().setCredentials(authScope, credentials);
String payload = makePayload(user, subject, body);
RequestEntity entity = null;
try{
entity = new StringRequestEntity(payload, CONTENT_TYPE, null);
} catch(UnsupportedEncodingException e){
e.printStackTrace();
}
post.setRequestEntity(entity);
try{
client.executeMethod(post);
} catch(IOException e){
e.printStackTrace();
} catch(HTTPException e){
e.printStackTrace();
}
}
更新 - 已解决:这是对AuthScope的误解。我想通了,基本上我传递了整个网址w /协议,即“https://mysite.com”而不仅仅是“mysite.com”我解决了这个问题。
答案 0 :(得分:0)
这是对AuthScope的误解。我想通了,基本上我传递了整个网址w /协议,即“https://mysite.com”,而不仅仅是“mysite.com”我解决了这个问题。