0
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)
私はこれを試してみた:このDispatch Scalaの同等のHttpClient Javaコードは何ですか?
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 - 解決しよう:これはAuthScopeの誤解でした。私はそれを理解しました、基本的に私はこの問題を解決したばかりの "mysite.com"ではなく "https://mysite.com"というURLのプロトコル全体を渡していました。
それで、どのように動作しないのですか? –