2017-09-29 13 views
0

Webサービスに問題がありますが、エラーは表示されません。 VS2017でwsdlを使用してWeb参照を生成しました。このクラスを使用する場合は、Webサービスのために使用されるXMLは、XMLAttributesは、オプションで生成されていないC#XMLシリアル化の問題

https://gist.github.com/meteora1986/b43c9750ddeb50187420edd6741301f5

:これは、生成されたクラスです。だから私は

try 
{   
    var serializer = new XmlSerializer(typeof(ari_webserviceService)); 
} 
catch (Exception ex) 
{ 
    // codes  
} 

のようなコードを使用して、より詳細なエラーメッセージを得るためにそれをシリアル化しようとしexeptionからからこれらのメッセージだ errors

: 1をデバッグしている間、私はXMLImporterことにより、以下のエラーをdiscoverd内部メッセージ:フィールド 'Site'を反映しているエラーがありました。 2.内部のMessageThereには、 'System.ComponentModel.ISite'タイプを反映するエラーがありました。

しかし、これらのフィールドまたはタイプはwebserviceクラスで使用されていませんか?誰でも助けることができますか?

+0

をあなたはデータをシリアル化したい(そしてどのように)完全に制御を持っているIXmlSerializableインターフェイスを実装する場合は、あなたの問題を解決することができるかもしれません?達成しようとしていることと何が問題なのですか? –

+0

もっと詳細なエラーメッセージを表示しようとしました。私は他の目的のためにそれをシリアル化しません。 – Stefan1986

+0

もっと詳細なエラーメッセージを表示しようとしました。私は他の目的のためにそれをシリアル化しません。私がWebサービスを使用するとき、送信されるxmlはxmlではありません。例:xml属性オブジェクト名は無視されます。たとえば、オブジェクト "ixml"は "i.xml"という名前にする必要がありますが、それはすべてのオブジェクトで機能していません。このようなコマンドはすべて無視されるようです: "[System.Xml.Serialization.XmlElementAttribute(...)]"。しかし、なぜそれが問題なのか分かりません... – Stefan1986

答えて

0

私は一般的にウェブサービスについて全く考えていません。

ただし、ウェブサービスはSoapHttpClientProtocolから派生しています。 HttpWebClientProtocolWebClientProtocolで基本クラスを上げて最後にComponentとすると、プロパティーはComponent.Siteになります。

あなたあなたは、サービスクラスをシリアル化しようとしているのはなぜ ...

+0

ありがとう、私はそれを見ていません。私はデバッグの目的でWebサービスのクラス全体を直列化するのは間違った方法だと思います。私はIXmlSerializableを実装しようとすると、アドバイスをいただきありがとうございます! – Stefan1986