サードパーティ プロバイダーがホストする Web サービスに接続しています。プロジェクトのサービス参照を Web サービスに追加しました。VS は必要なすべての参照とクラスを生成しました。
このコードで接続しています (クライアント名とメソッドは匿名化されています):
using (var client = new Client())
{
try
{
client.Open();
var response = client.Method(...);
return response.Status;
}
catch (SoapException ex)
{
throw CreateServiceException(ex);
}
finally
{
client.Close();
}
}
client.Open() に到達すると、次のメッセージで例外が発生します。
名前空間 '' の最上位の XML 要素 '_return' は、個別の型 System.Boolean および Service.Status を参照しています。XML 属性を使用して、要素または型の別の XML 名または名前空間を指定します。
reference.cs では、「_return」変数が次のように装飾されていることがわかります。
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="", Order=0)]
wsdl、生成されたサービス参照、またはコードに問題がありますか?
更新:古い学校の Web サービスとしてサービスを生成すると、問題が解決します。今のところ、Sixtoの回答を承認済みとしてマークしましたが、何が問題を引き起こしたのか、サービスジェネレーターへのパラメーターが元の問題を解決できるかどうか、まだ興味があります.