‫مصائب پیاده سازی پروتکل ECE

تا زمانی که فقط صحبت از نوشتن کدهای پروتکل و تست آن با دبیرخانه خودتان است همه چیز مثل قند و عسل شیرین است. ولی وقتی که قرار شد این ارتباط با دبیرخانه‌های دیگر تست شود آن وقت می‌فهمید که زهر مار چه مزه‌ای است!

یکی از بزرگترین مشکلات و مصیبت‌ها عدم تست بیشتر دبیرخانه‌های موجود است چون بیشتر دبیرخانه‌های شرکت‌ها صرفا با خودشان تست شده و کار می‌کنند. برای این دسته از دبیرخانه‌ها هیچ وقت پیش نیامده که به دبیرخانه یا اتوماسیونی غیر از محصول شرکت خودشان نامه ECE بفرستند یا بگیرند. و در این حالت این بدبختی من برنامه نویس است که باید هم کدهای خودم را تست کنم و هم محصول شرکت‌های آن طرف خط را که بعضا مدت‌هاست روی کد مربوط به پروتکل کار نکرده‌اند و یا حتی برنامه نویس مربوطه از آن شرکت رفته است. این را هم بیفزایید که بعضی دوستان اصرار دارند از موضع برتر صحبت کرده و هیچ وقت قبول نمی‌کنند که برنامه‌ای که نوشته‌اند ایراد دارد یا این که پروتکل ارتباطی را بد فهمیده‌اند. مثلا یکی از شرکت‌ها که اتفاقا از شرکت‌های قدیمی ایران در امر نرم افزار است رشته زیر را به عنوان تاریخ نامه در XML ارسال می‌کند. در حالی که در پروتکل گفته شده که این رشته باید بر اساس استاندارد ISO 8601 باشد. در تعریف استاندارد ۸۶۰۱ هم گفته شده که این استاندارد بر مبنای تاریخ میلادی است و شامل هیچ رشته‌ای مثل +03:30 هم نمی‌باشد.

 1387-07-22T16:15:35+03:30

عدم رعایت کوچک و بزرگی حروف یا همان Case Sensitivity هم یکی دیگر از مشکلات رایج است. این مشکل در همه جا نمود دارد هم در هدرهای ایمیل و هم در XML تولیدی. مثلا فلان شرکت elementها و attirbuteهای XML را بدون توجه به این که XML به کوچک و بزرگی حروف حساس است تولید می‌کند و بهمان شرکت هم هدر ایمیل را با فرض حساس بودن به کوچک و بزرگ بودن حروف پردازش می‌کند در حالی که هدر ایمیل به حروف کوچک و بزرگ حساس نیست.

در مورد حساسیت هدر ایمیل به کوچکی و بزرگی حروف هم باید گفت که مطابق RFC 2822 و توضیحات اینجا حساس نیست. در اینجا هم گفته شده که نام هدر همیشه غیر حساس به حروف کوچک و بزرگ است ولی مقدار هدر بسته به حالت ممکن است حساس باشد یا نباشد. اگر از literal استفاده شود یعنی از حروف الفبای انگلیسی که محصور در دابل کوتیشن باشند مثل A و Header1 آن وقت حساسیتی وجود ندارد ولی اگر از از مقادیر داده‌ای که شبیه مقادیر اسکی دسیمال و… می‌باشد مثل «%d» قضیه فرق می‌کند.