【问题标题】:Android HttpURLConnection xml encodingAndroid HttpURLConnection xml 编码
【发布时间】:2018-04-23 19:52:42
【问题描述】:

我正在尝试通过 POST 请求向服务器发送 XML 数据。但收到 500 错误。

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();

有什么想法吗?

字符串 xml 包含以下内容:

<?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>

【问题讨论】:

  • 500 错误表示服务器错误。询问开发服务器的人。
  • @VladMatvienko 不可能。只有 iOS (objective-C) 代码可以正常工作。
  • 没关系。您必须询问后端开发人员为什么它不起作用。

标签: android xml utf-8


【解决方案1】:

500 内部服务器错误或 HTTP 500 - 内部服务器错误

HTTP 500 错误的原因 大多数情况下,“错误”是指页面或网站的编程存在问题,但问题肯定出在您自己身上 所以我认为服务器上会有错误日志,如果您有权访问,您可以提供服务器日志并且很容易识别问题

【讨论】:

  • 响应还包含消息“无效文件”。所以我这是因为我这边的编码错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-12
  • 2015-07-19
  • 2013-10-16
  • 1970-01-01
相关资源
最近更新 更多