1

次のmessageFormatter(org.apache.axis2.json.JSONMessageFormatter)を使用しているaxis2Webサービスを使用しています。

<messageFormatter contentType="application/json" class="org.apache.axis2.json.JSONMessageFormatter"/>

および次のmessageBuilder(org.apache.axis2.json.JSONOMBuilder):

<messageBuilder contentType="application/json" class="org.apache.axis2.json.JSONOMBuilder"/>.

文字列として返す要素が1つあり、Wsdlコントラクトは次のとおりです。

<xs:element minOccurs="0" name="totalCostStr" nillable="true" type="xs:String">

ここでの私の問題は、対応するJSONを受け取ったときに、totalCostStrが0.00より大きい場合、JSONのクライアント側で文字列「0.00」としてtotalCostStrを取得することです。

値totalCostStrが0より大きい場合、クライアント側で値を取得します。JSONでは、文字列「12.65」ではなく、float(12.65など)として取得します。

軸にtotalCostStrを常にFloatまたはStringとして返すように強制する方法はありますか?

よろしくお願いします、チェタン

4

1 に答える 1

2

これは奇妙な振る舞いです:/

wsdl要素のfloat型を使用して、常にfloatとして使用できます。

<xs:element minOccurs="0" name="totalCostStr" nillable="true" type="xs:float"/> 

これはうまくいくはずです...

于 2013-02-04T14:25:52.277 に答える