Drupal 7 json输出错误-1与Java Camunda应用程序

Drupal 7 json输出错误-1与Java Camunda应用程序,java,json,drupal-7,camunda,Java,Json,Drupal 7,Camunda,我制作了一个具有单个页面的Drupal模块,仅显示json数据,如下所示: drupal_add_http_header('Status', $code); drupal_json_output($data); $items['mymodule/json'] = array( 'title' => t('Page title'), 'page callback' => array('mymodule_pagejson'), '

我制作了一个具有单个页面的Drupal模块,仅显示json数据,如下所示:

drupal_add_http_header('Status', $code);
drupal_json_output($data);
$items['mymodule/json'] = array(
    'title'             => t('Page title'),
    'page callback'     => array('mymodule_pagejson'),
    'access callback'   => TRUE,
    'type'              => MENU_NORMAL_ITEM,
    'delivery callback' => 'drupal_json_output',
  );
return $items;
$code
可以是200、204、401、404等

当邮递员呼叫我的页面时,一切正常

当Java应用程序调用我的页面时,它返回-1

我得到了完整的堆栈跟踪,并将其上传到pastebin:

有什么想法吗


我将我的菜单设置为:

drupal_add_http_header('Status', $code);
drupal_json_output($data);
$items['mymodule/json'] = array(
    'title'             => t('Page title'),
    'page callback'     => array('mymodule_pagejson'),
    'access callback'   => TRUE,
    'type'              => MENU_NORMAL_ITEM,
    'delivery callback' => 'drupal_json_output',
  );
return $items;

问题是,drupal_json_output()的传递回调返回4个字符,即使是204状态

但是204 status不允许内容长度超过0(正如RFC中所说的),因此java的html数据层崩溃了


Postman显示内容长度大于0,但允许正常执行查询。

问题在于,使用drupal\u json\u output()的传递回调返回4个字符,即使是204状态

但是204 status不允许内容长度超过0(正如RFC中所说的),因此java的html数据层崩溃了


Postman显示内容长度大于0,但允许正常执行查询。

您试图实现的目标并不明确。您是否从Java向Drupal发出请求(这是我使用Drupal\u json\u输出时的猜测)?顺便说一下:-我相信正确使用
drupal\u add\u http\u header
会使用$code和错误名称(比如:
drupal\u add\u http\u header('Status','404 Not Found'))
如本文所述:-除非您真的希望您的
mymodule/json
有一个可见的菜单项,否则contstant
menu\u NORMAL\u项
可能应该更改为
menu CALLBACK
您试图实现的目标并不明确。您是在向Drupal发出Java请求吗(当您使用drupal_json_输出时,这是我的猜测)?顺便说一句:-我相信正确使用
drupal_add_http_header
将使用$code和错误名称(例如:
drupal_add_http_header('Status',404 Not Found'))
如本文所述:-除非您真的希望您的
mymodule/json
有一个可见的菜单项,否则contstant
menu\u NORMAL\u项
可能应该更改为
menu回调