2016-11-10 4 views
0

Wildfly 10、JEEでアプリケーションを開発しています。 SOAP Webサービスを使用します。 BigInteger型のパラメータを渡すことを考えています。それは正常に動作しますが、これが推奨されるかどうかはわかりません。 BigIntegerはWSDLでどのように表現されていますか?Soap WebserviceでBigIntegerパラメータを渡す

@WebMethod(operationName = "myService") 
public myResult myService(
      @WebParam(name = "param1") BigInteger param1) 
      throws ServiceException { 

    } 

答えて

0

例外が原因wrkingサービスは、XSDを使用するという事実におそらくある:整数型を他のサービスにはXSDを使用しながら、あなたのBigIntegerを表現するために:int型。 (IBM Knowledge base ですから、BigIntegerのを見ることができるように:一つは、正しく次の表は、あなたのJavaタイプとその直列化されたXMLバージョン

java types xml serialization

ピクチャ参照の間で共通のマッピングを与える他の

のBigIntegerを表現することはできませんが、 xsd:integerにシリアライズする必要があります。xsd:intという別の整数型があります。符号付き32ビット整数を表すためにBigIntegerの範囲に収まらないxsd整数は代表です無限大の整数値を再送するので、BigIntegerを十分にカバーできます。

wsdlファイルからwsdlタイプを取得するためのxsdスキーマがある場合は、wsdlファイルに などの参照タイプを使用できます。たとえば、-wsdl-file.wsdlファイルに(右のwsdl後:定義タグ):yurのBigInteger型の権利表現を強制的に整数型あなたのXSDの

<wsdl:types> 
    <xsd:schema> 
     <xsd:import namespace="http://your/namespace/here" schemaLocation="your-schemafile.xsd"/> 
     </xsd:schema> 
</wsdl:types> 

あなたは、XSDを使用することができます。

関連する問題