サポートされているXMLスキーマ型とJava型

JDeveloperでは、次のプリミティブXMLスキーマ型およびプリミティブXMLスキーマ型の配列が、Webサービスのパラメータおよび戻り値としてサポートされます。

XMLスキーマ型 Java型
string java.lang.String
boolean java.lang.Boolean
decimal java.lang.Double
float java.lang.Float
double java.lang.Double
dateTime java.util.Date
time java.util.Date
date java.util.GregorianCalendar
base64Binary java.lang.Byte[]
normalizedString java.lang.String
integer java.lang.Integer
long java.lang.Long
int java.lang.Integer
short java.lang.Short
byte java.lang.Byte
  org.w3c.dom.Element
  JavaBeans(プロパティの型が上記に含まれるもの)

制限

WebサービスでのJavaBeans

Webサービスを目的とする場合、JavaBeansは、次の制限に準拠する任意のJavaクラスになります。

charおよびchar[]のマッピング

これらの型を使用するメソッドは、JDeveloperのWebサービス公開ウィザードでは公開できません。説明を参照するには、ウィザードの「指定不可の理由」をクリックしてください。

charおよびchar[]のシリアライザを記述して登録すると、この問題を回避できます。

org.w3c.dom.Elementの配列

org.w3c.dom.Elementの配列を返すWebサービスを生成すると、JDeveloperによって適切なWSDLドキュメントが生成され、Webサービスが正常にデプロイされます。JDeveloperではこのようなWebサービスに対する適切なスタブも生成されますが、OC4Jはorg.w3c.dom.Elementの配列を返すことをサポートしていないため、エラーが返されます。

手動による型マッピング

WSDLドキュメントで記述されている型が、Webサービスのスタブおよびスケルトンのジェネレータにより解釈されない場合は、UnknownTypeというプレースホルダが生成され、クラスは正しくコンパイルされません。また、生成されたスタブ・クラスには、ファイルの先頭にコメントが記載されます。これを解決するには、手動で型マッピングを行う必要があります。独自のSOAPシリアライザ/デシリアライザを記述して、それにJava型を渡し、SOAPのエンコーディング規則を使用してSOAP表現に変換することができます。シリアライザ/デシリアライザは、Webサービスのデプロイメント・ディスクリプタの中で、各Java型に対して記述する必要があります。

Oracle9i Application Serverリリース2のドキュメント・セットに含まれている『Oracle9iAS Web Services開発者ガイド』に、参考例が記載されています。このマニュアルは、Oracle Technology Network Japan(OTN-J)のWebサイト(http://otn.oracle.co.jp/document/products/webservices/)からも参照できます。