問題描述:服務器接收后臺返回的報文時,提示java.lang.negativearraysizeexception
分析:這種異常返回的原因,一般情況下沒有報文提示為返回空報文,初步分析是響應報文流長度出了問題
百度一下類似的情況:https://stackoverflow.com/questions/11207897/negative-array-size-exception
節選部分內容:
try{connection=(HttpConnection)Connector.open("http://someurl.xml",Connector.READ_WRITE);URLEncodedPostDatapostData=newURLEncodedPostData(URLEncodedPostData.DEFAULT_CHARSET,false);postData.append("username","loginapi");postData.append("password","myapilogin");postData.append("term",word);connection.setRequestMethod(HttpConnection.POST);connection.setrequestproperty("Content-Type","application/x-www-form-urlencoded");connection.setRequestProperty("User-Agent","Profile/MIDP-2.0Configuration/CLDC-1.0");requestOut=connection.openOutputStream();requestOut.write(postData.getBytes());StringcontentType=connection.getHeaderField("Content-type");detailIn=connection.openInputStream();intlength=(int)connection.getLength();ByteArrayOutputStreambaos=newByteArrayOutputStream();if(length>0){//這里長度沒有判定的情況下,bytearray長度若為-1會產生錯誤byteinfo[]=newbyte[length];intbytesRead=detailIn.read(info);while(bytesRead>0){baos.write(info,0,bytesRead);bytesRead=detailIn.read(info);}baos.close();connection.close();requestSuceeded(baos.toByteArray(),contentType);detailIn.read(info);}else{System.out.println("Negativearraysize");}requestOut.close();detailIn.close();connection.close();}
結論:HTTP服務器在返回響應報文的時候,沒有進行content.length長度判斷,按照常規流程響應了錯誤長度的報文,導致了接收方報文長度異常
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
購買的基金如何撤回?基金認購、申購、出和變換交易在成交前可撤單;假如已過交易截止時間,能夠在下一基金交易日17: 00前申請辦理撤單。只需基金公司都還沒開展市場份額確定就可以撤銷,但要是紀開展市場份額確定了,就不可以撤銷了?;鹎耙惶熨I入第二天可以撤單嗎?若投資者是在前一天下午3點前買入的,那么第二天不能撤銷,撤銷只能在交易日下午3點前進行,若投資者是在前一天下午3點后買入的,那么第二天可以撤銷,...
96669是什么銀行?96669是安徽省安慶農商銀行的服務熱線。該銀行全稱為安慶農村商業銀行股份有限公司,是安慶市第一家地方性股份制農村商業銀行,成立于2009年11月23日。安慶農商銀行的注冊地址為安徽省安慶市集賢南路40號。96669是哪家銀行電話安慶農商銀行經營業務主要包括吸收公眾存款、發放短期、中期和長期貸款;辦理國內結算;辦理票據承兌與貼現;從事銀行卡業務、代理發行、代理兌付,承銷政府債...
兩融標的是什么意思?兩融標的指中國A股金融市場中可以通過證券公司開展融資融券業務的上市公司。投資者操作這類標的需要到證券公司申開戶,開通后的帳戶叫融資融券帳戶(也稱為信用證券帳戶),申請投資者只要符合要求均可以辦理該業務,同時各個證券公司融資融劵標的不同。上市公司如何成為兩融標的股?1、在滬深交易所上市滿三個月(創業板科創板除外)。2、上市公司股東人數不得少于4000人。3、股票發行公司已完成股權...