Fórum

liferay 6.2: json call

Akram MONCER, modificado 10 Anos atrás.

liferay 6.2: json call

Regular Member Postagens: 106 Data de Entrada: 25/09/12 Postagens Recentes
hi
i try to make a json call to a liferay server, you can see the js code below :

$.ajax({
	    url: 'http://localhost:8080/api/jsonws/user/get-user-by-email-address/company-id/10154/email-address/test%40liferay.com',
	    type: "get",
		data: '',
		dataType: "json",
		username : "test@liferay.com",
		password : "test",
		success: function(data){
		         alert(data);
		},
		error:function(){
		   alert('error');
		}   
	});
 

test@liferay.com is an admin user.
when i make the call i get this result :
client side (alert box): {exception : 'authenticated access required'}
in server side (log):

ERROR [http-bio-9080-exec-3][AuthVerifierPipeline:331] Skipping com.liferay.portal.security.auth.BasicAuthHeaderAutoLogin
com.liferay.portal.security.auth.AuthException: com.liferay.portal.security.auth.AutoLoginException: com.liferay.portal.security.auth.AuthException
 at com.liferay.portal.security.auth.BasicAuthHeaderAutoLogin.verify(BasicAuthHeaderAutoLogin.java:116)
 at com.liferay.portal.security.auth.AuthVerifierPipeline._verifyRequest(AuthVerifierPipeline.java:325)
 at com.liferay.portal.security.auth.AuthVerifierPipeline.verifyRequest(AuthVerifierPipeline.java:75)
 at com.liferay.portal.security.ac.AccessControlImpl.verifyRequest(AccessControlImpl.java:96)
 at com.liferay.portal.security.ac.AccessControlUtil.verifyRequest(AccessControlUtil.java:69)
 at com.liferay.portal.servlet.filters.authverifier.AuthVerifierFilter.processFilter(AuthVerifierFilter.java:134)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
 at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
 at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
 at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
 at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:226)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
 at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
 at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
 at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
 at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:722)
Caused by: com.liferay.portal.security.auth.AutoLoginException: com.liferay.portal.security.auth.AuthException
 at com.liferay.portal.security.auth.BaseAutoLogin.doHandleException(BaseAutoLogin.java:56)
 at com.liferay.portal.security.auth.BaseAutoLogin.handleException(BaseAutoLogin.java:34)
 at com.liferay.portal.security.auth.BaseAutoLogin.login(BaseAutoLogin.java:46)
 at com.liferay.portal.security.auth.BasicAuthHeaderAutoLogin.verify(BasicAuthHeaderAutoLogin.java:83)
 ... 56 more
Caused by: com.liferay.portal.security.auth.AuthException
 at com.liferay.portlet.login.util.LoginUtil.getAuthenticatedUserId(LoginUtil.java:150)
 at com.liferay.portal.security.auth.BasicAuthHeaderAutoLogin.doLogin(BasicAuthHeaderAutoLogin.java:172)
 at com.liferay.portal.security.auth.BaseAutoLogin.login(BaseAutoLogin.java:43)
 ... 57 more




anyone have an idea how to resolve this problem. Thanks.
thumbnail
Nagendra Kumar Busam, modificado 10 Anos atrás.

RE: liferay 6.2: json call

Liferay Master Postagens: 678 Data de Entrada: 07/07/09 Postagens Recentes
Can you try access getting using below,add the import for AuthTokenUtil in your jsp

$.ajax({
        url: '/api/jsonws/user/get-user-by-email-address/company-id/10154/email-address/test%40liferay.com?p_auth=<%= AuthTokenUtil.getToken(request) %>',
        type: "get",
        dataType: "json",
        success: function(data){
                 alert(data);
        },
        error:function(){
           alert('error');
        }   
    });
Akram MONCER, modificado 10 Anos atrás.

RE: liferay 6.2: json call

Regular Member Postagens: 106 Data de Entrada: 25/09/12 Postagens Recentes
hi Nagendra, thank you for your responce.
the problem is i can't use this code :
<%= AuthTokenUtil.getToken(request) %>

because i'm not working in liferay envirement only the server is on liferay, the client is completely separated from liferay.
thumbnail
Nagendra Kumar Busam, modificado 10 Anos atrás.

RE: liferay 6.2: json call

Liferay Master Postagens: 678 Data de Entrada: 07/07/09 Postagens Recentes
Can you try httpclient way

https://www.liferay.com/web/james.falkner/blog/-/blogs/9308485
thumbnail
Meera Prince, modificado 9 Anos atrás.

RE: liferay 6.2: json call

Liferay Legend Postagens: 1111 Data de Entrada: 08/02/11 Postagens Recentes
HI

Use as follows

$(document).on('ready',function(){
var username ="test@liferay.com";
var password ="test";
function make_base_auth(user, password) {
var tok = user + ':' + password;
var hash = btoa(tok);
return "Basic " + hash;
}

$.ajax({
url: 'http://localhost:8080/LiferayJSONWebservices-portlet/api/jsonws/employee/get-employee/employee-id/1',
dataType: "json",
type: "get",
success: function(data){
alert(data.employeeName);
},
beforeSend: function(xhr){
xhr.setRequestHeader('Authorization',make_base_auth(username, password));
},
complete: function(){
},
error: function(){
}
});

});

Have a look into following link it may help you

http://www.liferaysavvy.com/2014/05/consuming-liferay-json-web-services.html


Regards,
Meera Prince
thumbnail
Suresh Nimmakayala, modificado 9 Anos atrás.

RE: liferay 6.2: json call

Liferay Master Postagens: 690 Data de Entrada: 18/08/04 Postagens Recentes
Hi Akram,
with the code Tweek if it works easy as,

just wondering what is you portal-ext properties for the following ?

json.service.auth.token.enabled
jsonws.servlet.hosts.allowed