Drupal 7 json输出错误-1与Java Camunda应用程序
我制作了一个具有单个页面的Drupal模块,仅显示json数据,如下所示: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_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
有一个可见的菜单项,否则contstantmenu\u NORMAL\u项
可能应该更改为menu CALLBACK
您试图实现的目标并不明确。您是在向Drupal发出Java请求吗(当您使用drupal_json_输出时,这是我的猜测)?顺便说一句:-我相信正确使用drupal_add_http_header
将使用$code和错误名称(例如:drupal_add_http_header('Status',404 Not Found'))
如本文所述:-除非您真的希望您的mymodule/json
有一个可见的菜单项,否则contstantmenu\u NORMAL\u项
可能应该更改为menu回调