@ ডক_৮৮০ এর সঠিক ধারণা ছিল, কেবলমাত্র তিনি সংখ্যার উপর দৃষ্টি নিবদ্ধ রেখেই রয়েছেন, যেখানে মূল পোস্টারে স্ট্রিংয়ের সমস্যা রয়েছে।
সমাধানটি mx.rpc.xml.XMLEncoder
ফাইলটি পরিবর্তন করা । এটি 121 লাইন:
if (content != null)
result += content;
(আমি ফ্লেক্স ৪.৫.১ এসডিকে দেখলাম; অন্যান্য সংস্করণে লাইন নম্বরগুলি পৃথক হতে পারে))
মূলত, বৈধতা ব্যর্থ হয় কারণ 'সামগ্রী নাল' এবং অতএব আপনার যুক্তি বহির্গামী এসওএপি প্যাকেটে যুক্ত হয় না; এভাবে অনুপস্থিত পরামিতি ত্রুটি ঘটায়।
বৈধতা অপসারণ করতে আপনাকে এই শ্রেণিটি প্রসারিত করতে হবে। তারপরে চেইন অবধি একটি বড় স্নোবল রয়েছে, আপনার পরিবর্তিত এক্সএমএলএনসি কোডারটি ব্যবহার করতে এসওএপিএনকোডারকে সংশোধন করুন এবং তারপরে আপনার পরিবর্তিত এসওএপিএনকোডার ব্যবহারের জন্য অপারেশন পরিবর্তন করুন এবং তারপরে আপনার বিকল্প অপারেশন ক্লাসটি ব্যবহার করার জন্য ওয়েব সার্ভিসকে মাইফাইফিং করুন।
আমি এটিতে কয়েক ঘন্টা ব্যয় করেছি, তবে আমার এগিয়ে যাওয়া দরকার। এটি সম্ভবত এক বা দুই দিন সময় লাগবে।
আপনি কেবল এক্সএমএলএনএলকোডার লাইনটি ঠিক করতে এবং নিজের ক্লাসটি ব্যবহার করতে কিছু বানর প্যাচিং করতে সক্ষম হতে পারেন।
আমি আরও যোগ করব যে আপনি যদি কোল্ডফিউশন সহ রিমোটঅবজেক্ট / এএমএফ ব্যবহার করতে যান, সমস্যা ছাড়াই নালটি পাস হয়ে যাবে।
11/16/2013 আপডেট :
রিমোটঅবজেক্ট / এএমএফ সম্পর্কে আমার সর্বশেষ মন্তব্যে আমার আরও সাম্প্রতিক সংযোজন রয়েছে। আপনি যদি কোল্ডফিউশন 10 ব্যবহার করছেন; তারপরে কোনও বস্তুর নাল মানযুক্ত বৈশিষ্ট্যগুলি সার্ভার-সাইড অবজেক্ট থেকে সরানো হবে। সুতরাং, আপনাকে বৈশিষ্ট্য অ্যাক্সেস করার আগে অস্তিত্বের জন্য যাচাই করতে হবে বা আপনি রানটাইম ত্রুটি পাবেন।
এটি যাচাই করুন:
<cfif (structKeyExists(arguments.myObject,'propertyName')>
<!--- no property code --->
<cfelse>
<!--- handle property normally --->
</cfif>
এটি হ'ল কোল্ডফিউশন 9 থেকে আচরণের পরিবর্তন; যেখানে নাল বৈশিষ্ট্যগুলি খালি স্ট্রিতে পরিণত হবে।
12/6/2013 সম্পাদনা করুন
যেহেতু নালগুলি কীভাবে চিকিত্সা করা হয় সে সম্পর্কে একটি প্রশ্ন ছিল, তাই স্ট্রিং "নাল" কীভাবে সংরক্ষিত শব্দ নলের সাথে সম্পর্কিত হবে তা প্রদর্শনের জন্য এখানে একটি দ্রুত নমুনার প্রয়োগ রয়েছে।
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" initialize="application1_initializeHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function application1_initializeHandler(event:FlexEvent):void
{
var s :String = "null";
if(s != null){
trace('null string is not equal to null reserved word using the != condition');
} else {
trace('null string is equal to null reserved word using the != condition');
}
if(s == null){
trace('null string is equal to null reserved word using the == condition');
} else {
trace('null string is not equal to null reserved word using the == condition');
}
if(s === null){
trace('null string is equal to null reserved word using the === condition');
} else {
trace('null string is not equal to null reserved word using the === condition');
}
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:Application>
ট্রেস আউটপুটটি হ'ল:
নাল স্ট্রিংটি! = শর্তটি ব্যবহার করে নাল সংরক্ষিত শব্দের সমান নয়
নাল স্ট্রিং == শর্তটি ব্যবহার করে নাল সংরক্ষিত শব্দের সমান নয়
নাল স্ট্রিং === শর্তটি ব্যবহার করে নাল সংরক্ষিত শব্দের সমান নয়