Axis を使用して SOAP ベースの Web サービスを呼び出しています。次に、Google Gson ライブラリを使用して、返されたリモート オブジェクトを JSON としてシリアル化しようとしています。
JSON へのシリアル化は失敗し、Gson は「__equalsCalc() という名前の要素が複数ある」と不平を言っています。
IDE (Eclipse) で返されたオブジェクトを調べると、これが正しいことがわかります。返されたオブジェクトには、__equalsCalc() という名前の 3 つのメンバーと、__hashCode という名前の別の 3 つのメンバーがあります。
再帰を避けるために、これらが WSDL2Java によって追加されていることを知っています (私はそう思います)。私の質問は、なぜそれぞれが 3 つあるのですか? また、シリアライザーにこれらを無視させるにはどうすればよいですか? これらは、実際にはオブジェクトの定義の一部ではありません (参照用に RemoteProject と呼ばれます)。RemoteProject を RemoteProject にキャストして、それらのメンバーをドロップさせるようなハックなことはできますか?