共通メッセージのペイロードに情報を設定したり、ペイロードから情報を取得したりするアプリケーションを作成できます。
情報の設定、情報取得には、以下のメソッドを使用します。
ペイロードに情報を設定するアプリケーションについて、例をもとに説明します。
この例では、以下の条件を満たすアプリケーションを作成します。
共通メッセージを作成
XML文書“contents”をペイロードに格納
- 指定例
ペイロードに情報を設定する場合の指定例は、以下のとおりです。
ESIMessage message = new ESIMessage();
ESIBytePayload bytePayload = message.getPayload().getBytePayload(); byte[] object = "<xmlcontents>contents</xmlcontents>".getBytes(); bytePayload.setObject(object); |
SOAPメッセージを設定する場合は、SOAPのエンベロープ全体を設定します。SOAPの仕様に従った整形式XML文書を設定してください。特に以下の文字については、エンティティ参照の指定をしてください。
表D.6 置換する文字置換する文字 | 定義済み実体参照 |
---|
< | < |
> | > |
& | & |
' | ' |
" | " |
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(); |