2017-11-10 18 views
0

POSTリクエストでXMLデータをサーバーに送信しようとしています。しかし、500エラーを取得します。Android HttpURLConnection xmlエンコード

URL url = new URL(AFConstants.ServerEndPoint); 
      HttpURLConnection http = (HttpURLConnection) url.openConnection(); 
      http.setRequestMethod("POST"); 
      http.setRequestProperty("Content-Type", 
        "application/xml;charset=utf-8"); 
      http.setDoOutput(true); 
      http.setDoInput(true); 
      http.connect(); 
      DataOutputStream dataOutputStream = new DataOutputStream(http.getOutputStream()); 
      String encoded = URLEncoder.encode(xml,"UTF-8"); 
      dataOutputStream.writeBytes(encoded); 
      dataOutputStream.flush(); 
      dataOutputStream.close(); 

何か問題が起こっていますか? 時間のほとんどは、 "間違った" HTTP 500エラーの内部サーバーエラー

原因で問題を意味します -

<?xml version=“1.0” encoding=“utf-8"?> 
<AddSalesOrder revision=“8.0” environment=“Production” lang=“en-US” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=“C:\Data2\Ntp\shoprvparts\AddSalesOrder.xsd”> 
    <ApplicationArea> 
     ... 
    </ApplicationArea> 
    <DataArea> 
     <Add confirm=“Always”/> 
     <SalesOrder> 
      <Header> 

      </Header> 
      <Line> 
    <LineNumber>1</LineNumber> 
    <OrderItem> 
     ... 
    </OrderItem> 
    <OrderQuantity uom=“string”></OrderQuantity> 
</Line> 
     </SalesOrder> 
    </DataArea> 
</AddSalesOrder> 
+0

500エラーはサーバーエラーを意味します。サーバーを開発した人に尋ねてください。 –

+0

@VladMatvienkoは不可能です。これが正常に動作するのはiOS(objective-C)コードだけです。 –

+0

それは問題ではありません。なぜそれが動作しないのか、バックエンドの開発者に尋ねなければなりません。 –

答えて

0

500内部サーバーエラーまたはHTTP 500:

文字列のXMLは、これが含まれていますページやサイトのプログラミング、しかし確かに問題があなたの最後にある可能性があります 私はそこにサーバー上のエラーログがあると思うし、アクセスがあればあなたはサーバーのログを提供することができ、問題を識別しやすくなります

+0

応答には「無効なファイル」というメッセージも含まれています。だから私はこれは私の側からのエンコーディングが間違っているためです。 –

関連する問題