Interstage Application Server SOAPサービス ユーザーズガイド
目次 索引 前ページ次ページ

第8章 サポートされるデータ型> 8.2 XMLとCORBAのデータ型マッピング

8.2.3 構造体型/例外型

 以下の表にCORBAの構造体(struct)型、および例外(exception)型とXMLのデータ型の対応を示します。
 RPCアプリケーション上のJavaのデータ型は、inパラメタ/返り値(return)はIDLコンパイラが生成した“データ名(struct型名またはexception型名)SOAPGWType”クラスになり、outパラメタ/inoutパラメタはIDLコンパイラが生成した“データ名(struct型名)SOAPGWTypeHolder”クラスを使用します。
 RPCアプリケーションでは、連携するCORBAアプリケーションのstruct型およびexception型に対して、inパラメタ/返り値(return)は“データ名SOAP SOAPGWType”クラスを使用し、outパラメタ/inoutパラメタはIDLコンパイラが生成した“データ名(struct型名)SOAPGWTypeHolder”クラスを使用します。

XMLのデータ型

RPCアプリケーション上のJavaのデータ型

CORBAのデータ型

in/return

out/inout

構造体

データ名SOAPGWType

データ名SOAPGWTypeHolder

struct

構造体

データ名SOAPGWType

exception


 以下のIDL定義をIDLコンパイルした場合

 module fujitsu {
   module sample {
     struct Human {
       string name;
       long age;
     };
   };
 };

 

 以下のstruct名+SOAPGWTypeクラスが生成されます。

 package fujitsu.sample;
 final public class HumanSOAPGWType implements java.io.Serializable
 {
   public java.lang.String name;
   public int age;
   public HumanSOAPGWType() {}
   public HumanSOAPGWType( org.omg.CORBA.ORB _orb, fujitsu.sample.Human Human_corba )
   {
     this.setCORBAType( _orb, Human_corba );
   }
   public void setCORBAType( org.omg.CORBA.ORB _orb, fujitsu.sample.Human Human_corba )
   {
     this.name = Human_corba.name;
     this.age = Human_corba.age;
     return;
   }
   public fujitsu.sample.Human getCORBAType( org.omg.CORBA.ORB _orb )
   {
     fujitsu.sample.Human _ret = new fujitsu.sample.Human();
     _ret.name = this.name;
     _ret.age = this.age;
     return _ret;
   }
   public java.lang.String getName(){
     return( this.name );
   }
   public void setName(java.lang.String _name){
     this.name = _name;
   }
   public int getAge(){
     return( this.age );
   }
   public void setAge(int _age){
     this.age = _age;
   }
 }

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005