ページの先頭行へ戻る
Interstage Service Integrator V9.5.0 アプリケーション開発ガイド
FUJITSU Software

D.5.3 ペイロードの作成・操作

共通メッセージのペイロードに情報を設定したり、ペイロードから情報を取得したりするアプリケーションを作成できます。
情報の設定、情報取得には、以下のメソッドを使用します。

ペイロードの設定

ペイロードに情報を設定するアプリケーションについて、例をもとに説明します。
この例では、以下の条件を満たすアプリケーションを作成します。

指定例

ペイロードに情報を設定する場合の指定例は、以下のとおりです。

ESIMessage message = new ESIMessage();

ESIBytePayload bytePayload = message.getPayload().getBytePayload();
byte[] object = "<xmlcontents>contents</xmlcontents>".getBytes();
bytePayload.setObject(object);

SOAPメッセージを設定する場合は、SOAPのエンベロープ全体を設定します。SOAPの仕様に従った整形式XML文書を設定してください。特に以下の文字については、エンティティ参照の指定をしてください。

表D.12 置換する文字

置換する文字

定義済み実体参照

<

&lt;

>

&gt;

&

&amp;

'

&apos;

"

&quot;

SOAPメッセージの指定例

ESIMessage message = new ESIMessage();

ESIBytePayload bytePayload = message.getPayload().getBytePayload();
byte[] object = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\"><soapenv:Body><ns1:countWord xmlns:ns1=\"urn:WordServer\"><countWord_1_1 xsi:type=\"xsd:string\">12345</countWord_1_1><countWord_1_2 xsi:type=\"xsd:string\"></countWord_1_2></ns1:countWord></soapenv:Body></soapenv:Envelope>".getBytes();
bytePayload.setObject(object);

ペイロードからの情報取得

ペイロードから情報を取得するアプリケーションについて、例をもとに説明します。
この例では、以下の条件を満たすアプリケーションを作成します。

指定例

ペイロードから情報を取得する場合の指定例は、以下のとおりです。

ESIService service = ESIServiceFactory.getService("endpointRMI");
ESIMessage returnMessage = service.send(message);

ESIBytePayload returnBytePayload = returnMessage.getPayload().getBytePayload();
byte[] returnObject = returnBytePayload.getObject();