2016-09-29 4 views
1

Я сейчас работаю в Liferay 7 и пытаюсь построить свою первую услугу для портала.Liferay 7 - Сервисный строитель - JSON Неполадка службы не отображается

Для этого я создал новую модель построителя услуг, добавил свой первый простой метод, добавил необходимые аннотации и попробовал сейчас развернуть веб-сервис. Но сервис json, похоже, не правильно зарегистрирован. Я не вижу никакой записи в разделе «http://localhost:8080/api/jsonws».

Мой код выглядит следующим образом (только интерфейс сервиса и реализации):

ServiceInterface:

@AccessControlled 
@JSONWebService() 
@OSGiBeanProperties(property = {"json.web.service.context.name=dynamicdataasset","json.web.service.context.path=DynamicDataAsset"}, service = DynamicDataAssetService.class) 
@ProviderType 
@Transactional(isolation = Isolation.PORTAL, rollbackFor = {PortalException.class, SystemException.class}) 
public interface DynamicDataAssetService extends BaseService { 


/** 
* Returns the OSGi service identifier. 
* 
* @return the OSGi service identifier 
*/ 
public java.lang.String getOSGiServiceIdentifier(); 

}

ServiceImpl:

@ProviderType 
@JSONWebService("dynamic-data-assets") 
public class DynamicDataAssetServiceImpl extends DynamicDataAssetServiceBaseImpl { 

/** 
* Test method to see if the service is available. 
* @return 
*/ 
@JSONWebService(value = "get-availability-of-service", method = "GET") 
public String getAvailabilityOfService() { 
    return "Service is available"; 
} 

}

service.xml

<?xml version="1.0"?> 
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 7.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_7_0_0.dtd"> 

<service-builder package-path="eu.gerhards.liferay.dynamic.data.list.assets"> 
<namespace>DynamicDataAsset</namespace> 
<entity local-service="true" name="DynamicDataAsset" remote-service="true" uuid="false" human-name="DynamicDataAsset"> 
... 

Я последовал за учебник, который можно найти здесь: https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/service-builder-web-services.

Может ли кто-нибудь сказать мне, что не так, и указать мне в правильном направлении?

Большое спасибо

Udo

ответ

0
[Please see the example here][1] After service build you will get the serviceImple class to implement rest web service.. 
     please choose the context name what you have provided in service.xml file ex :-<namespace>xxx_mh</namespace> 

*********** Вот пример кода **************

@ProviderType 
     public class xxxServiceImpl extends xxxServiceBaseImpl { 
     @ProviderType 
     public class xxxServiceImpl extends xxxServiceBaseImpl { 

      public JSONObject UrmethodName(long xxId, Date startDate, 
        Date endDate) { 
     /*****Your implementation ***/ 
     return responseData; 
     } 
     } 



     ************Here is Service.xml file for reference ************** 


<entity local-service="true" name="Xxxx" table="xxx_xxx" remote-service="true" > 
Смежные вопросы