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;
  }
 }


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

Copyright 2003 FUJITSU LIMITED