Interstage Application Server/Interstage Web Server 移行ガイド
目次 索引 前ページ次ページ

第8章 その他の機能の移行> 8.5 SOAPサービスの移行> 8.5.4 CORBA/SOAPゲートウェイの移行

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以降で提供されているデータ型については、“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)
-------------------------------------------------------------------------------


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

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