通过3G向WCF服务发出POST请求

时间:2012-05-01 16:40:10

标签: wcf post httpwebrequest windows-phone 3g

使用我的Windows Phone(HttpWebRequest对象),我试图访问部署在IIS上的WCF REST服务。

当我通过Wi-Fi提出请求时,我得到了成功的回复。 当我尝试通过3G呼叫相同的服务时,我得到了这样的回复:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
  <card id="FEHLER" title="ERROR">
    <p>
      The requested item could not be loaded <br/>       Wrong MIME-Type
      <do type="prev" label="back">
        <prev/>
      </do>
    </p>
  </card>
</wml>

我需要修复什么才能使工作正常(客户端或服务器设置&lt; - 服务器的设置很难改变,因为我使用托管)?

2 个答案:

答案 0 :(得分:2)

原来我需要删除下面的注释行。

        HttpWebRequest hwrq = (HttpWebRequest)WebRequest.Create(url);
        //hwrq.Accept = "text/xml";   //this was causing problems (only on 3G)
        hwrq.Method = "POST";

答案 1 :(得分:0)

只需确认在wifi上发送的http请求的内容类型标头,并将其与3G请求进行比较。经由3G网络的请求可以在报头中生成不同的内容类型。 你可以用fiddler检查这个。