突然、私のアプリケーションのリストにデータが表示されなかったという報告をユーザにもらえました。デバイス。後で私は、6.0がインストールされているすべてのアンドロイドデバイス(すべてのアンドロイドバージョン6.0(マシュマロ))で、すべてがうまく動作していることを知った。私は迷っています - 何が起こったのか、これをどのように修正するのか分かりません。SOAP WebサービスがXAMARIN.FORMSで動作していましたが、Android 6.0以下のデバイスでは動作しません
誰でもこれを認識することができますか、またはこれを修正する方法については、可能な解決策がありますか?
私はSOAPのWebサービスを処理するクラスを持っているポータブルなライブラリが、それは以下のように実装されている私のフォームアプリでは:
public class soapwebservice
{
//private Uri baseUri = new Uri("uri");
private static DataConnection _instance = null;
private HttpClient client = null;
//Contructor
private DataConnection()
{
client = new HttpClient(new NativeMessageHandler());
client.BaseAddress = baseUri;
}
public static DataConnection Instance { get { if (_instance == null) _instance = new DataConnection(); return _instance; } }
public async Task<Other.ServiceResponse> RefreshRouteList()
{
try
{
var soapString = this.constructRefreshsoap();
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("SOAPAction", "https://trolderuterne.play2know.dk/GetRoutes");
var content = new StringContent(soapString, Encoding.UTF8, "text/xml");
using (var response = await client.PostAsync("/Classes/mobileServices.asmx", content))
{
if (response.IsSuccessStatusCode)
{
var soapResponse = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<Other.ServiceResponse>(ParseSoapResponse(soapResponse));
}
return new ServiceResponse { Code = Codes.ServerError, Message = response.StatusCode.ToString() };
}
}
catch (Exception ex)
{
return new ServiceResponse
{
Code = Codes.ServerError,
Message = ex.Message
};
}
finally
{
}
}
アプリを実行しているときに私が取得エラーメッセージは次のとおりです。 「エラー:NameResolutionFailure "
私は今PCLの代わりにアンドロイドプロジェクトでWebサービスを直接消費しようとしました。
ちょうどそれを言えば、セキュリティのために私のWebサービスがプロキシを経由しています。それはまだ6.0で動作しますが、4.4を実行しているシミュレータに行くと、まだエラーが発生します: "Error:NameResolutionFailure"。
私たちのサーバーから直接、元のWebサービスをつかんでみました、私は次のようなエラーメッセージが出ます:「エラー:ConnectFailure(ネットワークが到達不能である)」
がうまくいけば、誰かがいくつかの洞察力を持っており、どのように得るために私を伝えることができます私はAndroid 6.0の下のデバイスでWebサービスから必要なデータ!
プロキシを使用していると言うと、 'java.net.Proxy'または....という意味ですか? – SushiHangover
私はプロキシWebサービスを意味します。決してインターネットから無作為なウェブサービスを試したことはありません。 http://www.webservicex.net/globalweather.asmx まったく新しいプロジェクトでも同じエラーが発生します。より多くの人がXamarinのエラー/バグであると確信しています。 –