2012-02-15 5 views
2

私は、SalesforceのSOAPスタックがサポートしていないApexからSOAP Webサービスを使用しています。したがって、HTTP経由でXMLとして扱います。ApexでXMLスキーマの値をアンマーシャリングする方法はありますか?

私はApexにアンマーシャリングする必要があるdateTime 2008-03-30T00:00:00-05:00のようなXMLスキーマの値を持っています。内蔵のサポート、またはこれを実行できるライブラリがありますか?このための簡単な解決策は、おそらくすぐにしようとしたとして、Datetime.valueOf()はここで少しの助けであり、

+0

あなたはdatetimeのサポートを解析するだけですか?enchilada(スキーマからクラスジェネリック、シリアライゼーション、およびデシリアライゼーション)全体を意味しますか? – mmix

+0

私の現在の関心は日付です。しかし、より広範な質問は、どのような基本的なXMLスキーマ・タイプでも問題ありません。http://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes –

答えて

1

ありませんが、あなたはaddHoursを呼び出して、文字列を分析し、6-のparams newInstanceGmt静的メソッドを使用して、ベース日時を構成する必要があります/ addMinutesを使用して、タイムゾーンを補正します。

ガバナーを無視しても(そして、日付の多い大きなセットがあれば簡単に実行できると思われます)、他のプリミティブ型も特別な処理が必要です。定義済みの派生型、およびファセットを使用してすべてのカスタム派生型の上に配置することができます。そしてそれをまとめて複合型にします。そして、あなたがすべてこれで済むと、ApexにカスタムSOAPスタックがあるでしょう:)どうすればそれをしないと納得できるでしょうか?

私は同様の問題を抱えていましたが、カスタムSOAPスタックを構築するアイデア(私は既にJSON libraryとガバナリミッタで大きな問題を抱えていました)。私が使った解決策は、ソースに近い会社のサーバーにASMXの "プロキシ"をインストールすることです(MSテクニカルである必要はありませんが、Axisと同じプロキシを同じように構築することができます)、WSDLを完全に消費しますセールスフォースSOAPが消化できるベビーフードへの操作を強制してください。別のWebサービスのピギーバックの遅れがあっても、それはまだ何もないよりも優れていました。

関連する問題