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

第4章 Interstage Application Server V4からの移行> 4.3 SOAPサービスの移行

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

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

−条件

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

−対処方法

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

A) 該当するRPCサーバアプリケーションのWebサービス情報を再登録する。

 A-1) 該当するRPCサーバアプリケーションのWebサービス情報ファイルを用意します。

 Webサービス情報ファイルがない場合は、以下のようにして取得してください。

例)

soapmodifydd -query -url http://localhost:12000/soap_admin/servlet/WSContainer -urn urn:old-app > oldappwsdl.xml


 soapmodifyddコマンドについては、“リファレンスマニュアル(コマンド編)”を参照してください。

 A-2) A-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/" />

 A-3) soapmodifydd コマンドで編集したWebサービス情報ファイルを登録し直します。

例)

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

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

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

 V6.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)


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

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