Foros de discusión

Create JSONWebService without using service builder

Raghu k, modificado hace 10 años.

Create JSONWebService without using service builder

Junior Member Mensajes: 58 Fecha de incorporación: 10/08/12 Mensajes recientes
Hi All,
I have one method which does some job. I want to expose this as a JSON web service. When I googled all I found is creating JSON web services with Service builder. But to use service builder we should define an entity in service.xml and later we need to create methods in XXX-serviceImple class. But I dont have any requirement of creating a table.
How can i achieve this?
Raghu k, modificado hace 10 años.

RE: Create JSONWebService without using service builder

Junior Member Mensajes: 58 Fecha de incorporación: 10/08/12 Mensajes recientes
I tried something like this but this service is not available or registered under http://localhost:8080/api/jsonws
1. Created a portlet and written a class with
package com.raghu.portal.agcoservices;

import com.liferay.portal.kernel.jsonwebservice.JSONWebService;

@JSONWebService
public class RaghuSservices {

public String sayHello(String name){
return " Hello "+ name;
}
}


2. Modefied web.xml by adding below entries. In this link Registering Plugin JSON Web Services I found we need to change web.xml like this.

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<filter>
            <filter-name>Secure JSON Web Service Servlet Filter</filter-name>
            <filter-class>com.liferay.portal.kernel.servlet.PortalClassLoaderFilter</filter-class>
            <init-param>
                <param-name>filter-class</param-name>
                <param-value>com.liferay.portal.servlet.filters.secure.SecureFilter</param-value>
            </init-param>
            <init-param>
                <param-name>basic_auth</param-name>
                <param-value>true</param-value>
            </init-param>
            <init-param>
                <param-name>portal_property_prefix</param-name>
                <param-value>jsonws.servlet.</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>Secure JSON Web Service Servlet Filter</filter-name>
            <url-pattern>/api/jsonws/*</url-pattern>
        </filter-mapping>

        <servlet>
            <servlet-name>JSON Web Service Servlet</servlet-name>
            <servlet-class>com.liferay.portal.kernel.servlet.PortalClassLoaderServlet</servlet-class>
            <init-param>
                <param-name>servlet-class</param-name>
                <param-value>com.liferay.portal.jsonwebservice.JSONWebServiceServlet</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>JSON Web Service Servlet</servlet-name>
            <url-pattern>/api/jsonws/*</url-pattern>
        </servlet-mapping>
</web-app>

3. Deployed my portlet and checked it under */api/jsonws. I didnot find any entry for my portlet.
sravan kumar, modificado hace 10 años.

RE: Create JSONWebService without using service builder

Junior Member Mensajes: 78 Fecha de incorporación: 19/02/13 Mensajes recientes
Hi,

I tried the same am getting the same.i think you can better to use restful webservices instead of JSONWebservices.


Thanks,
Sravan Kumar K
Harsh Kanakhara, modificado hace 6 años.

RE: Create JSONWebService without using service builder

Junior Member Mensajes: 74 Fecha de incorporación: 6/04/17 Mensajes recientes
Hi Raghu,

Did you find any solution ?

Regards,
Harsh Kanakhara.
thumbnail
Neil Jin, modificado hace 6 años.

RE: Create JSONWebService without using service builder

New Member Mensajes: 17 Fecha de incorporación: 24/03/11 Mensajes recientes
ServiceBuilder is used for building a service. Database table is not required. Just create the entity without columns and localservice.