Expand my Community achievements bar.

Who Me Too'd this topic

Avatar

Level 2

Hi

I am new to AEM, I created a AEM servlet and try to call a third party API to get a Oauth Token

 

 

@SlingServlet(paths={"/bin/test01"},methods= {"POST"},metatype=false)
public class OauthAuthServlet extends SlingAllMethodsServlet {
    /**
	 * 
	 */
	private static final long serialVersionUID = -4325654356300019990L;
	
	public static String OAUTH_SERVER_URL = "https://dm-us.informaticacloud.com/authz-service/oauth/token";
	@Override
    protected void doGet( SlingHttpServletRequest request,  SlingHttpServletResponse response) {
    	
		this.doPost(request, response);  	
    }
	
	@Override
    protected void doPost( SlingHttpServletRequest request,  SlingHttpServletResponse response){
    	String cc= request.getParameter("CLIENT_CREDENTIALS");
    	String token = null;
//    	try {
//			response.getWriter().write(cc);
//		} catch (IOException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} 	
    	OkHttpClient client = new OkHttpClient();
    	String authHeader = "Basic " + cc;

		Request okrequest = new Request.Builder()
				.url(OAUTH_SERVER_URL + "?grant_type =client_credentials")
				.method("POST", RequestBody.create(MediaType.parse("text/plain"), ""))
				.addHeader("Authorization", authHeader)
				.build();

		Response okresponse;
		try {
			okresponse = client.newCall(okrequest).execute();
			Map <String, Object> jsonResponse = new Gson().fromJson(okresponse.body().string(), Map.class);
			token = (String)jsonResponse.get("access_token");
			response.getWriter().write(token);

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 	}

 

 

 and I get this error:

 

 

org.apache.sling.api.resource.PersistenceException: Unable to create node at
						/bin/test01

 

 

 

Can anyone give me some advises? Thanks

Who Me Too'd this topic