ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server 移行ガイド

8.5.4 CORBA/SOAPゲートウェイの移行

  以下の条件に該当するInterstage Application Server V6.0/V5.1のCORBA/SOAPゲートウェイを移行する場合、下記の対処を実施してください。

■条件

  下記の条件に該当するCORBAの構造体型/例外型、または、EJBアプリケーションのクラス型/例外型を、SOAPで送信または受信している場合。

■対処方法

  本バージョン・レベルでEJBアプリケーションを再配備またはIDLコンパイルにおいてCORBA/SOAPゲートウェイを再生成した場合、SOAPのインタフェース上で該当するメンバ名が移行前と異なったメンバ名で生成されます。再配備または再生成/再IDLコンパイルを行う場合は、下記のA)またはB)のいずれかの方法で対処してください。

A) 該当のCORBA/SOAPゲートウェイのSOAP通信先で該当のメンバ名を修正します。

  SOAPの通信先で該当する構造体のメンバ名の1文字目を大文字として処理しているかを確認し、該当する場合は1文字目を小文字として処理するように修正します。
  例) AParam → aParam

B) 再配備または再生成/ IDLコンパイルの前に、IDL上(CORBA)またはJava上(EJB)の該当のメンバ名を以下のように変更します。

  EJBアプリケーションを再配備またはCORBA/SOAPゲートウェイの再生成およびIDLコンパイルを行う前に、IDL上(CORBA)またはJava上(EJB)のメンバ名の1文字目を大文字に変更します。
  例) aParam → AParam

8.5.4.1 V5.1 RPCアプリケーションの移行

  Interstage Application Server V5.1(Interstage V5.1)では、以下のMIMEタイプの添付ファイルを受信した場合、javax.activation.DataHandlerオブジェクトとして取得後、同オブジェクトのgetContentメソッドからjava.io.InputStreamオブジェクトが返り値として返りました。

  Interstage Application Server V5.1.1(Interstage V5.1.1)以降では、それぞれ、以下のオブジェクトが返り値として返ります。

  Interstage V5.1.1以降でjavax.activation.DataHandlerオブジェクトから添付ファイルのデータをjava.io.InputStreamオブジェクトとして取得するには、javax.activation.DataHandlerオブジェクトに対して、getContentメソッドではなく、以下のメソッドを使用してください。

-------------------------------------------------------------------------------
public InputStream getInputStream()  throws IOException
-------------------------------------------------------------------------------

  上記のようにjavax.activation.DataHandlerオブジェクトの動作が異なるため、Interstage V5.1で開発した添付ファイルを扱うRPCアプリケーションは、以下のどちらかの方法で移行する必要があります。

RPCアプリケーションを移行する場合

  以下にRPCアプリケーションを移行するコーディング例を示します。

移行前
-------------------------------------------------------------------------------
DataHandler dh = ...;     //  引数
 java.io.InputStream is = (java.io.InputStream)dh.getContent();
-------------------------------------------------------------------------------
移行後
-------------------------------------------------------------------------------
DataHandler dh = ...;     //  引数
 java.io.InputStream is = dh.getInputStream();
-------------------------------------------------------------------------------

Interstage Application Server V5.1互換環境で実行する場合

  Interstage管理コンソールの[システム] > [ワークユニット] > [IJServerワークユニット名を選択] > [環境設定]タブ > [ワークユニット設定]の“JavaVMオプション”に以下のプロパティを設定します。

プロパティ

指定可能な値

-Dcom.fujitsu.interstage.soapx.DataHandlerMode=値

  • V51(英大文字・英小文字の区別なし):
    ISAPS 5.1のjavax.activation.DataHandlerオブジェクトのgetContentメソッドと同じ返り値が返ります。

  • その他(省略値):
    設定していないものとみなします。

8.5.4.2 特定のデータ型を使用するSOAPサーバアプリケーションの対応

  以下の条件に該当するInterstage Application Server V5.0(Interstage V5.0)以前のSOAPサーバアプリケーションを移行する場合、下記のA)またはB)のいずれかの方法で対処してください。

■条件

  以下のデータ型を受信している場合、または以下のデータ型を構造体のメンバまたは配列で使用している場合。

■対処方法

  下記のA)またはB)のいずれかの方法で対処してください。

A) 該当するRPCサーバアプリケーションのWebサービス情報を再登録する。
  1. 該当するRPCサーバアプリケーションのWebサービス情報ファイルを用意します。
    Webサービス情報ファイルがない場合は、以下のようにして取得してください。

    例)
    -------------------------------------------------------------------------------
    soapmodifydd -query -url http://localhost:12000/soap_admin/servlet/WSContainer -urn urn:old-app > oldappwsdl.xml
    -------------------------------------------------------------------------------
    soapmodifyddコマンドについては、“リファレンスマニュアル(コマンド編)”を参照してください。

  2. 1.のWebサービス情報ファイル(上例の場合oldappwsdl.xml)のserviceタグ配下に以下の内容のtypeMappingタグを追加します。

    -------------------------------------------------------------------------------
    <typeMapping qname="xsd:base64Binary"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     languageSpecificType="com.fujitsu.interstage.soap.util.Base64Binary"
     serializer="com.fujitsu.interstage.soapx.encoding.ser.V50Base64SerializerFactory"
     deserializer="com.fujitsu.interstage.soapx.encoding.ser.V50Base64DeserializerFactory"
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    <typeMapping qname="soapenc:base64"
     xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
     languageSpecificType="com.fujitsu.interstage.soap.util.Base64"
     serializer="com.fujitsu.interstage.soapx.encoding.ser.V50Base64SerializerFactory"
     deserializer="com.fujitsu.interstage.soapx.encoding.ser.V50Base64DeserializerFactory"
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    <typeMapping qname="xsd:unsignedInt"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     languageSpecificType="com.fujitsu.interstage.soap.util.UnsignedInt"
     serializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberSerializerFactory"
     deserializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberDeserializerFactory"
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    <typeMapping qname="xsd:unsignedShort"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     languageSpecificType="com.fujitsu.interstage.soap.util.UnsignedShort"
     serializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberSerializerFactory"
     deserializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberDeserializerFactory"
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    <typeMapping qname="xsd:unsignedLong"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     languageSpecificType="com.fujitsu.interstage.soap.util.UnsignedLong"
     serializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberSerializerFactory"
     deserializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberDeserializerFactory"
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    <typeMapping qname="xsd:unsignedByte"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     languageSpecificType="com.fujitsu.interstage.soap.util.UnsignedByte"
     serializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberSerializerFactory"
     deserializer="com.fujitsu.interstage.soapx.encoding.ser.V50UnsignedNumberDeserializerFactory"
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    -------------------------------------------------------------------------------
  3. soapmodifydd コマンドで編集したWebサービス情報ファイルを登録し直します。

    例)
    -------------------------------------------------------------------------------
    soapmodifydd -set -url http://localhost:12000/soap_admin/servlet/WSContainer oldappwsdl.xml
    -------------------------------------------------------------------------------

  4. Webサービスコンテナを運用モード(employ)で運用している場合は、Webサービスコンテナが動作しているワークユニットを再起動します。
      

B) 条件に該当するSOAPRPCサーバアプリのパラメタのデータ型を、Interstage V5.1以降で提供するデータ型に変更する。

  Interstage V5.1以降で提供されているデータ型については、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“サポートされるデータ型”を参照してください。

例)
変更前
-------------------------------------------------------------------------------
int serviceMethod(com.fujitsu.interstage.soap.util.Base64 bindata,
com.fujitsu.interstage.soap.util.UnsignedInt serialNo)
-------------------------------------------------------------------------------

変更後
-------------------------------------------------------------------------------
int serviceMethod(byte[] bindata,
com.fujitsu.interstage.soapx.types.UnsignedInt serialNo)
-------------------------------------------------------------------------------

8.5.4.3 Webサービス情報管理ファイルの移行-バックアップコマンドによる移行

  バックアップコマンドによる移行は、バックアップ(issoapbackup、issoaprestore)コマンド実行時に、Interstage Application Server V5.0/V4.x(Interstage V5.0/V4.x)と同じディレクトリにWebサービス情報管理ファイルを移行できます。
  バックアップコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。

■はじめに

  Webアプリケーション環境設定(web.xml)で指定したWebサービス情報管理ファイルが、以下のディレクトリ下にある場合は、バックアップコマンドで移行可能です。異なる場合はバックアップコマンドでInterstage SOAPサービス資源の移出と移入を行った後、“8.5.4.4 Webサービス情報管理ファイルの移行-soapdd2wsddコマンドによる移行”を行ってください。

%IS_HOME%\F3FMsoap\etc\DeployService

/opt/FJSVsoap/etc/DeployService

■移行手順

1) 環境のバックアップ

  バックアップ先のディレクトリがC:\Backupの場合の操作例を以下に示します。

  1. Webサーバを停止します。
      

  2. Interstage管理コンソール用Servletサービスを停止します。
      C:\Interstage\F3FMjs2su\bin\jssvstop
      

  3. バックアップ用ディレクトリを作成します。
      mkdir C:\Backup
      

  4. issoapbackupコマンドを実行して、Webサービス資源ファイルをバックアップします。
      issoapbackup -d C:\Backup

1) 環境のバックアップ

  バックアップ先のディレクトリが/Backupの場合の操作例を以下に示します。

  1. Webサーバを停止します。
      

  2. Interstage管理コンソール用Servletサービスを停止します。
      /opt/FJSVjs2su/bin/jssvstop
      

  3. バックアップ用ディレクトリを作成します。
      mkdir /Backup
      

  4. issoapbackupコマンドを実行して、Webサービス資源ファイルをバックアップします。
      issoapbackup -d /Backup

2) 環境のリストア

  バックアップ先のディレクトリがC:\Backupの場合の操作例を以下に示します。

  1. Webサーバを停止します。
      

  2. Interstageを停止します。
      isstop -f
      

  3. Interstage管理コンソール用Servletサービスを停止します。
      C:\Interstage\F3FMjs2su\bin\jssvstop
      

  4. issoaprestoreコマンドを実行して、ISAPS5.0/4のWebサービス資源ファイルを新バージョンにリストアします。
      issoaprestore -d C:\Backup

2) 環境のリストア

  バックアップ先のディレクトリが/Backupの場合の操作例を以下に示します。

  1. Webサーバを停止します。
      

  2. Interstageを停止します。
      isstop -f
      

  3. Interstage管理コンソール用Servletサービスを停止します。
      /opt/FJSVjs2su/bin/jssvstop
      

  4. issoaprestoreコマンドを実行して、ISAPS5.0/4のWebサービス資源ファイルを新バージョンにリストアします。
      issoaprestore -d /Backup

■移行結果の確認

Webサービス情報管理ファイルの移行結果の確認

  以下のファイルにWebサービス情報管理ファイルのWebサービス毎に移行結果が出力されます。

C:\Interstage\F3FMsoap\log\logdd2wsdd.txt

/opt/FJSVsoap/log/logdd2wsdd.txt

同名のWebサービス識別名の有無の確認

  同名のWebサービス識別名が存在していた場合、移行しなかったWebサービスのWebサービス情報をファイルに出力します。

C:\Interstage\F3FMsoap\log\log_same.wsdd

/opt/FJSVsoap/log/log_same.wsdd

8.5.4.4 Webサービス情報管理ファイルの移行-soapdd2wsddコマンドによる移行

  ここでは、Interstage Application Server V5.0/V4.x(Interstage V5.0/V4.x)の他システムからsoapdd2wsddコマンドによる移行手順について説明します。
  なおsoapdd2wsddコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。

■はじめに

  Interstage V5.0/V4.xのシステム運用で使用していた(移行する)Webサービス情報管理ファイルのディレクトリ名を確認しておいてください。

■移行手順

  以下に移行手順を示します。

  1. Interstage V5.0/V4.xシステムのWebサーバを停止します。
      

  2. Interstage V5.0/V4.xのServletサービスを停止します。
      

  3. ネットーワーク(FTP等)を経由、もしくは外部媒体を使用してWebサービス情報管理ファイルをInterstage V5.0/V4.xシステムから新バージョンのシステムに転送します。
      

  4. 本バージョン・レベルのWebサーバを停止します。
      

  5. 本バージョン・レベルのInterstageを停止します。
      isstop -f
      

  6. 本バージョン・レベルのInterstage管理コンソール用Servletサービスを停止します。
      C:\Interstage\F3FMjs2su\bin\jssvstop
      

  7. soapdd2wsddコマンドを使用して、ISAPS5.0/4のWebサービス情報を変換します。変換先のWebサービス情報管理ファイルに、変換元と同名のWebサービス識別名が存在した場合は、上書きせずにsoapdd2wsddコマンド実行ディレクトリにlog_same.wsddを出力します。
      soapdd2wsdd -none -i C:\tmp\deppath -sf log_same.wsdd -info C:\tmp\logdd2wsdd.txt

■移行手順

  以下に移行手順を示します。

  1. Interstage V5.0/V4.xシステムのWebサーバを停止します。
      

  2. Interstage V5.0/V4.xシステムのServletサービスを停止します。
      

  3. ネットーワーク(FTP等)を経由、もしくは外部媒体を使用してWebサービス情報管理ファイルをInterstage V5.0/V4.xシステムから新バージョンのシステムに転送します。
      

  4. 本バージョン・レベルのWebサーバを停止します。
      

  5. 本バージョン・レベルのInterstageを停止します。
      isstop -f
      

  6. 本バージョン・レベルのInterstage管理コンソール用Servletサービスを停止します。
      /opt/FJSVjs2su/bin/jssvstop
      

  7. soapdd2wsddコマンドを使用して、Interstage V5.0/V4.xのWebサービス情報を変換します。変換先のWebサービス情報管理ファイルに、変換元と同名のWebサービス識別名が存在した場合は、上書きせずにsoapdd2wsddコマンド実行ディレクトリにlog_same.wsddを出力します。
      soapdd2wsdd -none -i /tmp/deppath -sf log_same.wsdd -info /tmp/logdd2wsdd.txt

■移行結果の確認

Webサービス情報管理ファイルの移行結果の確認

  soapdd2wsddコマンドの-infoオプションで指定したファイルに移行結果が出力されます。-infoオプションを省略した場合は、標準出力に出力されます。

同名のWebサービス識別名の有無の確認

  同名のWebサービス識別名が存在していた場合、移行しなかったWebサービス情報をファイルに出力します。
  移行モードが-noneオプションと-sfオプションを指定した場合は、同名のWebサービス識別名が存在していたために移行しなかったWebサービス情報を-sfオプションで指定したファイルに出力します。