0

何百人もの顧客が使用する asmx Web サービスがあります。最近、.NET 4.0 へのアップグレードを含むいくつかのリファクタリングを行いました。

ログからのデータをパラメーターとして使用して多くのリクエストを実行することにより、リファクタリングされたバージョンをテストし、古い Web サービスとリファクタリングされた Web サービスの生の結果を比較しました。見つかった唯一の違いは、結果の名前空間が別の順序であったことです。古い W​​eb サービスとリファクタリングされた Web サービスは別のサーバー上にあることに注意してください。名前空間の異なる順序は安全にリリースできるように思われるため、それを行いました...

今日、私たちの結果を読み取ることができず、この名前空間の問題が原因であると指摘するお客様から連絡がありました。このような問題が発生するには、多かれ少なかれ壊れた XML パーサーが必要なので、これは私には非常に奇妙に思えます。しかし、私たちは毎時間多くのお金を失うので、これを分離しようとします.

プロジェクトを .NET 3.5 に戻しましたが、名前空間の順序は同じです。ただし、サーバー間で名前空間の順序に違いがあるようです。

なぜ順番が違うのか分かる人いますか?.NET のバージョン、他のコンポーネントのバージョンと関係がありますか、それともランダムですか?

サーバー 1 から:

<?xml version="1.0" encoding="utf-8"?>
<result xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mydomain.com/">
...

サーバー 2 から:

<?xml version="1.0" encoding="utf-8"?>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://mydomain.com/">
...

私は少し立ち往生しています...

4

0 に答える 0