我已经通过WSO2 API管理器curl创建了一个API,如下面所示,GET请求程序运行良好:
但是,在尝试设置POST请求时,我会收到以下消息:“错误411:长度要求”
我尝试过不同的方法,例如禁用分块或强制内容长度标题(默认情况下WSO2会删除该标题),方法是更改序列文件,如下所示,但没有效果:
奇怪的是,我使用命令提示符来发出相同的post请求--即使我没有指定content-length
头,这意味着它是自动添加的(如果我错了,请更正我):
一定是我做错了什么,你能帮帮我吗?
提前谢谢。
致以敬意,
发布于 2021-01-26 08:05:51
您的第二个cUrl请求看起来有点奇怪,原因有两个:
有效的NGSI-v2 POST请求如下所示:
curl -L -X POST 'http://localhost:1026/v2/entities/' \
-H 'Content-Type: application/json' \
--data-raw '{
Body Goes HERE
}'
您的图像包含标头Content-Length=aux
和Content-Type: multipart/form-data
,-d
元素没有引用。
发布于 2021-01-29 13:14:10
通过使用以下inSequence (中介文件),我能够对此问题进行排序:
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse"
name="contentLengthadd">
<property name="COPY_CONTENT_LENGTH_FROM_INCOMING" value="true" scope="axis2"/>
<property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"></property>
</sequence>
默认情况下,WSO2删除内容长度标题,因此您需要确保它将被添加。这个序列的作用是计算要发送的有效负载,然后添加内容长度标头的值号。
发布于 2021-01-22 18:24:18
请参考https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/411获得的411错误。当内容长度标头未在curl请求中传递时,会引发411错误。
https://stackoverflow.com/questions/65849907
复制相似问题