繁体   English   中英

在 WSO2 API 管理器中使用 POST 请求时出现错误 411

[英]Error 411 when using POST request in WSO2 API Manager

我已经通过 WSO2 API Manager ZF6E57C9DE709E45FEB085538714CA8DE634A7CE1D083A14FZ Manager 创建了 API

获取请求

但是在尝试设置 POST 请求时,我收到以下消息“错误 411:需要长度”

错误 411 消息

我尝试了不同的方法,例如禁用分块或强制内容长度 header(因为 WSO2 删除了 header 默认情况下)通过将序列文件更改为如下所示但无可用:

自定义序列文件

奇怪的是,我使用命令提示符发出相同的发布请求,即使我没有指定content-length header 这表明它是自动添加的(如果我错了,请纠正我):

命令提示符发布请求

一定是我做错了什么,你能帮帮我吗?

提前致谢。

问候,

请参阅https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/411了解您收到的 411 错误。 当 curl 请求中未传递内容长度 header 时,将抛出 411 错误。

  • 您在链接中共享的图像不清楚。 请重新上传图片或分享 curl 命令和响应更方便。
  • 以文本格式共享序列。
  • 如果删除序列,服务器是否仍然抛出错误?

您的第二个 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=auxContent-Type: multipart/form-data并且未引用-d元素。

我能够通过使用以下 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 删除内容长度 header 因此您需要确保将其添加。 该序列的作用是计算要发送的有效负载,然后添加内容长度 header 的值编号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM