@Published(tag="architect") public class HttpMessagingClient extends java.lang.Object implements MessageSenderClient
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SYNCMESSAGE_STATUS_CODE
SyncMessageのヘッダレコードからステータスコードを取り出すために使用するキー
|
Modifier and Type | Method and Description |
---|---|
protected void |
addCommonValue(nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod,
MessageSenderSettings settings,
SyncMessage requestMessage)
要求電文に、共通プロトコルヘッダ相当部分及びフレームワーク制御ヘッダ部で使用する要素を追加する。
|
protected nablarch.core.dataformat.SimpleDataConvertResult |
bodyStringToMap(java.lang.String uri,
nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod,
SyncMessage requestMessage,
HttpResult httpResult)
返信のボディ部分を解析し、応答電文に設定するデータを生成する。
|
protected HttpInputStreamReader |
createCharHttpStreamReader()
HTTPリクエストを発行後、OutputStreamを読み取り結果を返却させるためのIFを生成する。
|
protected HttpOutputStreamWriter |
createCharHttpStreamWritter(java.lang.String charset,
java.lang.String bodyText)
HTTPリクエストを発行時の送信内容を保持するオブジェクトを生成する。
|
protected HttpProtocolClient |
createHttpProtocolClient()
HTTPプロトコルを実装したクラスのインスタンスを生成する。
|
protected HttpResult |
execute(HttpProtocolClient httpProtocolClient,
nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod,
java.lang.String uri,
java.util.Map<java.util.List> headerInfo,
java.util.Map urlParams,
java.lang.String charset,
java.lang.String bodyText)
HTTPリクエストを送出する。
|
protected java.lang.String |
getAccept()
レスポンスの本文として受信可能なタイプを取得します
|
protected java.util.List |
getExistBodyHttpMethod()
送信にbody部が存在するHTTPメソッドのリストを取得する。
|
java.lang.String |
getQueryStringEncoding()
クエリストリングをエンコードする際に使用する文字コードを取得する。
|
protected java.lang.String |
getRequestContentsType(nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod,
nablarch.core.dataformat.SimpleDataConvertResult requestBodyDataConvertResult)
送信時に設定するコンテンツタイプを取得する。
|
protected java.lang.String |
getRequestMessageFormatFileNamePattern()
要求電文のフォーマット定義ファイル名のパターンを取得する。
|
protected java.lang.String |
getResponseMessageFormatFileNamePattern()
応答電文のデータフォーマット定義ファイル名パターンを取得する。
|
java.lang.String |
getUserIdToFormatKey()
ユーザIDとフォーマット定義ファイル上のキーとの対応を取得する。
|
protected java.util.Map |
headerToMap(SyncMessage requestMessage,
HttpResult httpResult)
返信のヘッダ部分を解析し、応答電文に設定するデータを生成する。
|
protected void |
initHttpProtocolClient(HttpProtocolClient argHttpProtocolClient,
MessageSenderSettings settings,
java.lang.String mimeType)
HTTPプロトコルを実装したクラスのインスタンスの初期化を行う。
|
protected nablarch.core.dataformat.SimpleDataConvertResult |
mapToBodyString(java.lang.String uri,
nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod,
SyncMessage requestMessage)
HTTP通信のボディ部を生成する。
|
protected java.util.Map<java.util.List> |
mapToHeaderMap(SyncMessage requestMessage)
HTTPヘッダに含める内容を生成する。
|
protected java.util.Map |
mapToQueryMap(java.lang.String preUri,
nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod,
SyncMessage requestMessage)
クエリストリングを生成する。
|
protected java.lang.String |
mapToUriString(java.lang.String preUri,
nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod,
SyncMessage requestMessage)
URIを生成する。
|
SyncMessage |
sendSync(MessageSenderSettings settings,
SyncMessage requestMessage)
HTTPを使用したリアルタイム通信通信を行う。
|
void |
setQueryStringEncoding(java.lang.String queryStringEncoding)
クエリストリングをエンコードする際に使用する文字コードを設定する。
|
void |
setUserIdToFormatKey(java.lang.String userIdToFormatKey)
ユーザIDとフォーマット定義ファイル上のキーとの対応を設定する。
|
public static final java.lang.String SYNCMESSAGE_STATUS_CODE
public SyncMessage sendSync(MessageSenderSettings settings, SyncMessage requestMessage) throws MessagingException
sendSync
in interface MessageSenderClient
settings
- MessageSender
の設定情報requestMessage
- 要求電文MessagingException
- 通信に失敗した際に送出される。protected void addCommonValue(nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod, MessageSenderSettings settings, SyncMessage requestMessage)
httpMethod
- HTTPメソッドsettings
- MessageSender
の設定情報requestMessage
- 要求電文protected HttpProtocolClient createHttpProtocolClient()
protected void initHttpProtocolClient(HttpProtocolClient argHttpProtocolClient, MessageSenderSettings settings, java.lang.String mimeType)
argHttpProtocolClient
- 初期化対象のHttpProtocolClientのインスタンスsettings
- MessageSender
の設定情報mimeType
- 送信するデータの種別protected java.lang.String getAccept()
protected java.lang.String mapToUriString(java.lang.String preUri, nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod, SyncMessage requestMessage)
このメソッドはURI生成ルールのカスタマイズのために存在している。本クラスの実装では、引数preUriを返却する。
preUri
- メッセージ送信定義に記述されているURIhttpMethod
- HTTPメソッドrequestMessage
- 要求電文protected java.util.Map mapToQueryMap(java.lang.String preUri, nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod, SyncMessage requestMessage)
このメソッドはクエリストリング生成ルールのカスタマイズのために存在している。本クラスの実装では、空のMapを返す。
preUri
- メッセージ送信定義に記述されているURIhttpMethod
- HTTPメソッドrequestMessage
- 要求電文protected java.util.Map<java.util.List> mapToHeaderMap(SyncMessage requestMessage)
requestMessage
- 要求電文protected nablarch.core.dataformat.SimpleDataConvertResult mapToBodyString(java.lang.String uri, nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod, SyncMessage requestMessage) throws HttpMessagingInvalidDataFormatException
uri
- 接続先httpMethod
- HTTPメソッドrequestMessage
- 要求電文HttpMessagingInvalidDataFormatException
- 電文フォーマット変換に失敗した場合に送出される。protected java.lang.String getRequestContentsType(nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod, nablarch.core.dataformat.SimpleDataConvertResult requestBodyDataConvertResult)
httpMethod
- HTTPメソッドrequestBodyDataConvertResult
- 本文のデータ変換結果protected HttpResult execute(HttpProtocolClient httpProtocolClient, nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod, java.lang.String uri, java.util.Map<java.util.List> headerInfo, java.util.Map urlParams, java.lang.String charset, java.lang.String bodyText)
httpProtocolClient
- HTTPリクエストを発行するオブジェクトhttpMethod
- HTTPメソッドuri
- 送信先headerInfo
- HTTPリクエストのヘッダ情報urlParams
- URLパラメータcharset
- 文字コードbodyText
- HTTPリクエストの本文protected HttpInputStreamReader createCharHttpStreamReader()
protected HttpOutputStreamWriter createCharHttpStreamWritter(java.lang.String charset, java.lang.String bodyText)
charset
- 文字コードbodyText
- 送信時の本文protected java.util.Map headerToMap(SyncMessage requestMessage, HttpResult httpResult)
requestMessage
- 要求電文httpResult
- 送信結果protected nablarch.core.dataformat.SimpleDataConvertResult bodyStringToMap(java.lang.String uri, nablarch.fw.messaging.realtime.http.client.HttpProtocolClient.HttpRequestMethodEnum httpMethod, SyncMessage requestMessage, HttpResult httpResult) throws HttpMessagingInvalidDataFormatException
uri
- 接続先httpMethod
- HTTPメソッドrequestMessage
- 要求電文httpResult
- 送信結果HttpMessagingInvalidDataFormatException
- 電文フォーマット変換に失敗した場合に送出される。protected java.lang.String getResponseMessageFormatFileNamePattern()
protected java.lang.String getRequestMessageFormatFileNamePattern()
public java.lang.String getUserIdToFormatKey()
public void setUserIdToFormatKey(java.lang.String userIdToFormatKey)
userIdToFormatKey
- フォーマット定義ファイル上のキーprotected java.util.List getExistBodyHttpMethod()
public java.lang.String getQueryStringEncoding()
public void setQueryStringEncoding(java.lang.String queryStringEncoding)
queryStringEncoding
- 文字コード