FedEX Web サービスを vb.net アプリケーションに組み込んでいます。さまざまなサービス (レート、発送/作成ラベル、住所検証) の WSDL をインポートしました。それらを Web 参照として追加した後、プロジェクトのビルド時に SGEN エラーが発生します。
「名前空間 '' の最上位の XML 要素 'XXX' は、個別の型を参照しています...」
それらは明らかに別の WSDL で部分的に再利用されています。これまでのところ、次のように変更することでエラーを修正できました。
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.18034"), _
System.SerializableAttribute(), _
System.Xml.Serialization.XmlTypeAttribute([Namespace]:="http://fedex.com/ws/addressvalidation/v2")> _
Public Enum AddressValidationAccuracyType
次のような TypeName を含めます。
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.18034"), _
System.SerializableAttribute(), _
System.Xml.Serialization.XmlTypeAttribute([TypeName]:="servAddressValidationAccuracyType", [Namespace]:="http://fedex.com/ws/addressvalidation/v2")> _
Public Enum AddressValidationAccuracyType
しかし、これは面倒な作業であり、wsdl ファイルを追加した後にすべての reference.vb ファイルを更新せずに、このエラーを排除する別の/適切な/より良い方法があることを望んでいました。Web リファレンスを使用するのは初めてで、FedEx のドキュメントが役立つとは思いませんでした。