Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用liferay service builder的web服务从curl URL获取JSON字符串_Java_Json_Web Services_Curl_Liferay - Fatal编程技术网

Java 如何使用liferay service builder的web服务从curl URL获取JSON字符串

Java 如何使用liferay service builder的web服务从curl URL获取JSON字符串,java,json,web-services,curl,liferay,Java,Json,Web Services,Curl,Liferay,我已经使用ServiceBuilder创建了服务,并将示例实体放在liferayservice.xml文件中 My service.xml 我构建了服务,并能够通过localhost:8080/api/jsonws和管理员凭证访问它 现在,当我使用下面的curl命令调用此服务时 卷曲 -utest@liferay.com:测试 -d动作class='temp' 我能够在我的实现方法中获得动作参数值。 现在我想得到curl发布的值以下 卷曲 -utest@liferay.com:测试 -d'{操作

我已经使用ServiceBuilder创建了服务,并将示例实体放在liferayservice.xml文件中

My service.xml

我构建了服务,并能够通过localhost:8080/api/jsonws和管理员凭证访问它

现在,当我使用下面的curl命令调用此服务时

卷曲 -utest@liferay.com:测试 -d动作class='temp'

我能够在我的实现方法中获得动作参数值。 现在我想得到curl发布的值以下

卷曲 -utest@liferay.com:测试 -d'{操作:验证}'

我无法在我的web服务中获取此json

我尝试添加以下内容

curl-H内容类型:application/json-H Accept:application/json -XPOST

将参数类型从string更改为jsonObject,但运气不好


这里有我遗漏的注释吗?

您想要的是将JSON对象作为参数传递给远程服务,对吗?我可以通过下面的URL curl \-u获得它test@liferay.com:test \-d action='{action:verify}'。但如果我像描述中所示的第二个CURL命令一样点击,那么我就无法获得this{action:verify}。URL参数是键值对。所以,您需要像action={action:verify}一样传递它,其中左侧的action是param的名称。只需像action=verify那样传递它
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.2.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_2_0.dtd">
<service-builder package-path="com.temp">
  <namespace></namespace>

  <entity name="Student" local-service="true" remote-service="true">
  </entity>

  <entity name="Foo" uuid="true" local-service="true" remote-service="true">
    <!-- PK fields -->
    <column name="fooId" type="long" primary="true" />

    <!-- Group instance -->
    <column name="groupId" type="long" />

    <!-- Audit fields -->
    <column name="companyId" type="long" />
    <column name="userId" type="long" />
    <column name="userName" type="String" />
    <column name="createDate" type="Date" />
    <column name="modifiedDate" type="Date" />

    <!-- Other fields -->
    <column name="field1" type="String" />
    <column name="field2" type="boolean" />
    <column name="field3" type="int" />
    <column name="field4" type="Date" />
    <column name="field5" type="String" />

    <!-- Order -->
    <order by="asc">
      <order-column name="field1" />
    </order>

    <!-- Finder methods -->
    <finder name="Field2" return-type="Collection">
      <finder-column name="field2" />
    </finder>

    <!-- References -->
    <reference package-path="com.liferay.portlet.asset" entity="AssetEntry" />
    <reference package-path="com.liferay.portlet.asset" entity="AssetTag" />
  </entity>
</service-builder>
@JSON
public JSONObject verifyService (String action){
  System.out.println("action----->"+action);
  JSONObject actionData=JSONFactoryUtil.createJSONObject();

  actionData.put("success", true);
  return actionData;
}