簡體   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