Web サービスを参照する C#/WPF プロジェクトがあります。ただし、NullReferenceException
それを表す自動生成されたクラスのインスタンスを作成するときに、次のようになることがあります。
var service = new SSO();
スタックトレースは次のとおりです。
System.NullReferenceException: Object reference not set to an instance of an object.
in System.Xml.Serialization.XmlSerializer.GetSerializersFromCache(XmlMapping[] mappings, Type type)
in System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Type type)
in System.Web.Services.Protocols.SoapClientType..ctor(Type type)
in System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()
in MyNamespace.SSO..ctor()
ここで何が起こっているのか知っている人はいますか?サーバーには短い期間のダウンタイムがあるかもしれませんが、ネットワーク接続の問題が発生した場合に見られる例外ではありません!
SSO
更新:誰かが関連性を見つけた場合に備えて、自動生成されたクラスのコード:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.17929")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="SSOSoap", Namespace="http://schemas.example.com/SSO")]
public partial class SSO : System.Web.Services.Protocols.SoapHttpClientProtocol
{
public SSO()
{
this.Url = "http://example.com/SSO.asmx";
if ((this.IsLocalFileSystemWebService(this.Url) == true))
{
this.UseDefaultCredentials = true;
this.useDefaultCredentialsSetExplicitly = false;
}
else
{
this.useDefaultCredentialsSetExplicitly = true;
}
}
// a lot of methods here
}