0

SAP インストールによって呼び出される WCF Web サービスを開発していますが、負の数のシリアル化に関連する問題が発生しています。「-123.45」ではなく「123.45-」のような値を渡しているため、デシリアライゼーションが停止します。XML ですべてを文字列として定義し、手動で末尾の記号を探すことで回避できると思います。

私の質問は、これも有効な XML 数値表現ですか? このページを見つけました。これは、記号 (存在する場合) が数字の前になければならないことを示しているようです。結局のところ、彼らが送信するものを処理するために必要なものは何でも追加する必要があります。仕様の観点からこれが実際には間違っていることを知りたいのはただのエゴだと思います;)

4

1 に答える 1

1

これは、 XML スキーマの厳密な意味での有効な数値表現ではありません。SOAP エンドポイントについて話している場合は、サービスの WSDL ファイルを参照し、要求と応答で期待されるスキーマへのリンクをたどることができます。WCF は通常、xs:int、xs:decimal、xs:double などを使用します。 . 数値型を表します。

次に何をすべきかは、「有効な」番号を送信するようクライアントにどの程度影響を与えることができるかによって異なります。それができず、既存のリクエストをサポートする必要がある場合、それはシナリオに対して「有効」になり、何らかの方法でそれらに対処する必要があります。理想的な世界ではないかもしれませんが、相互運用性がこの種の問題を引き起こすことがあります。

于 2012-10-04T20:15:36.697 に答える