.NETクライアントからJavaWebサービスへのWebサービス呼び出しを行っています。Webサービス要求メッセージのフィールドの1つは小数です。
プロキシリクエストオブジェクトを使用して設定されます。
decimal value = 3.0
request.DecimalValue = value ;
javaService.Process(request);
メッセージがsoapにシリアル化されると、DecimalValueは3.000000に設定されます。ただし、Java Webサービスは、小数点以下3桁しか期待していないため、エラーになります。これを解決する方法について何かアイデアはありますか?JavaWebサービスを制御できません。
添加:
Java Webサービスのスキーマは、DecimalValueを次のように定義します。
<xs:simpleType name="DecimalValue">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="9" />
<xs:fractionDigits value="3" />
<xs:pattern value="\d{1,5}\.\d{3}" />
</xs:restriction>
Webサービスプロキシは、エンドポイントへの参照を追加することによって生成されます。