Web服务响应显示代码而不是符号

时间:2011-11-14 12:44:11

标签: android web-services

我从android调用web服务,但作为响应它显示代码而不是符号。 例如>显示&gt<显示&lt。为什么会这样?

1 个答案:

答案 0 :(得分:0)

Web服务响应可能存在问题,可能是String。因为Web服务使用SOAP协议,它将响应包装到SOAP信封和XML编码中。

因为我在编写Web服务时遇到了这个问题而且我返回了一些对象而不是字符串来解决我的问题。

public class Product
{
   public string ProductID { get; set; }
   public string ProductName { get; set; }
}

[WebMethod(Description="Return All Current Products")]
public Product[] ReturnProducts()
{
    DataTable dataTable = getProductsFromDB();
    List<Product> products = new List<Product>();

    if (dataTable.Rows.Count > 0)
    {
        foreach (DataRow objRow in dataTable.Rows)
        {
            Product product = new Product 
            {
                ProductID = objRow["ProductID"].ToString(),
                ProductName = objRow["ProductName"].ToString()
            };
            products.Add(product); 
        }
    }
    return product.ToArray();
}

首先,ReturnProducts()的返回类型是string,在我更改代码并将类型返回到Product[]后解决了我的问题,这就产生了您所面临的问题。

希望它会对你有所帮助。