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();
}
}
<>UPDATED - SOLVED: 这是对AusthScope的误解。 我将其说得很远,基本上,我通过的是整个陶尔沃/protocol,即“https://mysite.com”,而不是仅仅“mysite.com”。 我解决这个问题。