我只是尝试将凭据发送到一个带有json格式的用户名和密码的restful服务,并返回一个访问令牌。无论我尝试什么,我都会收到400错误,而服务器返回的错误是#34;必须提供一个正文。"这是我尝试过的最后一个片段:
@Component
public class LoginRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
String jsonCredentials = "{\"username\":\"username\",\"password\":\"password\",\"grant_type\":\"password\",\"scope\":\"admin\"}";
from("timer://login?repeatCount=1")
.setBody(constant(jsonCredentials))
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
.to("http://URL");
}
}
我已确认我的凭据在Postman中正常工作,并通过访问令牌收到正确的响应。我相信我尝试连接的服务是使用Oauth2。
答案 0 :(得分:0)
尝试编组。对我来说这很有效:
// your custom defined bean
Credentials creds = new Credentials(username, password, ...);
from(...).setBody(creds).marshal().json(JsonLibrary.Jackson).to(...