【问题标题】:Liferay 7 - Service builder - JSON restful service is not shownLiferay 7 - 服务构建器 - 未显示 JSON restful 服务
【发布时间】:2016-09-29 22:27:59
【问题描述】:

我目前正在使用 Liferay 7 并尝试为门户构建我的第一个服务。

为此,我创建了一个新的服务构建器模型,添加了我的第一个简单方法,添加了必要的注释并尝试现在部署 web 服务。但是 json 服务似乎没有正确注册。我在“http://localhost:8080/api/jsonws”下看不到任何条目。

我的代码如下(只有服务接口和实现):

服务接口:

@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

谁能告诉我,出了什么问题并指出正确的方向?

非常感谢

乌多

【问题讨论】:

    标签: java rest service liferay


    【解决方案1】:
        [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" >
    

    【讨论】:

      猜你喜欢
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 2015-04-03
      • 2014-01-26
      • 2015-02-01
      • 1970-01-01
      • 2011-08-12
      相关资源
      最近更新 更多