Interstage Application Server 移行ガイド
|
目次
索引

|
4.3.5 特定のデータ型を使用するSOAPサーバアプリケーションの対応
以下の条件に該当するSOAPサーバアプリケーションを移行する場合、下記のA)またはB)のいずれかの方法にて対処してください。
−条件
以下のデータ型を受信している場合。または以下のデータ型を構造体のメンバ又は配列で使用している場合。
- com.fujitsu.interstage.soap.util.Base64
- com.fujitsu.interstage.soap.util.Base64Binary
- com.fujitsu.interstage.soap.util.UnsignedInt
- com.fujitsu.interstage.soap.util.UnsignedShort
- com.fujitsu.interstage.soap.util.UnsignedLong
- com.fujitsu.interstage.soap.util.UnsignedByte
−対処方法
下記の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