intra-mart Accel Platform Webサービス 認証・認可 仕様書 第5版 2017-04-01

認証・認可のSOAPフォルト・コード

認証・認可およびログイン時にエラーが発生した場合、そのエラー内容に対応する SOAPフォルト・コード が Webサービス・クライアント に返却されます。
以下に SOAPフォルト・コード とその原因を記述します。
以下に記述されていない SOAPフォルト・コード が送信された場合、業務処理内で何らかのエラーが発生している可能性があります。
業務処理で SOAPフォルト・コード が明示的に指定されていない場合は SOAPフォルト・コード は名前空間 http://www.w3.org/2003/05/soap-envelope で定義されている Receiver として送信されます。

コラム

Webサービス・プロバイダ の認証・認可の設定<showSoapFaultDetail>タグfalse に設定されている場合、Webサービス・クライアント にはエラー詳細情報が通知されません。

注意

エラーメッセージの内容はロケールごとに異なるため注意してください。
SOAP Fault Code や SOAP Fault Reasonのコード([E.IWP.WEBSERVICE.AXIS2.XXXXX]など)はロケールに影響しません。

wsse:InvaildRequest

SOAP Fault Code wsse:InvalidRequest
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00005] 要求が無効か、形式が間違っています。
SOAP Fault Detail(発生時の例)
java.lang.IllegalStateException: [E.IWP.WEBSERVICE.AXIS2.00007] wsUserInfo が見つかりませんでした。

java.lang.NullPointerException: [E.IWP.WEBSERVICE.AXIS2.00006] 要素が null です。
SOAPボディ に ユーザ情報 が存在しない、または ユーザ情報が格納されている要素名が規定の文字列(標準では wsUserInfo)ではない場合に発生します。
ユーザ情報 が格納されている要素名が param0 等の場合は、Webサービス として公開しているJavaクラスが -g オプションなしでコンパイルされている可能性があります。
公開するJavaクラスはデバッグ情報を生成するようにコンパイルしてください。これは SOAPボディ に含まれる ユーザ情報の名称を規定の文字列で取得するために必要な処理です。

コラム

デバッグ情報を生成するには javac コマンドのオプション -g を利用してコンパイルを行います。

wsse:BadRequest

SOAP Fault Code wsse:BadRequest
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00009] 指定された RequestSecurityToken を理解できません。
SOAP Fault Detail(発生時の例)
java.lang.IllegalStateException: [E.IWP.WEBSERVICE.AXIS2.00008] WSAuthModule が見つかりませんでした。 認証タイプ = PlainTextPassword
Webサービス・クライアント から送信された ユーザ情報 の認証タイプに対応する認証モジュールが存在しない場合に発生します。
その他に、平文パスワード用認証モジュール を利用しない設定が行われている状態で認証タイプを未指定で Webサービス を実行した場合もこのエラーが発生します。

コラム

平文パスワード用認証モジュール の利用可否は

コラム

平文パスワード用認証モジュール 以外の対応する認証モジュールは

wsse:AuthenticationBadElements

SOAP Fault Code wsse:AuthenticationBadElements
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00010] ダイジェスト要素が不足しています。
SOAP Fault Detail(発生時の例)
jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationBadElementsException: [E.IWP.WEBSERVICE.AUTH.00016] WSSE認証文字列が不正です。

java.lang.IllegalStateException: No match found
Webサービス・クライアント にて指定された認証タイプにおける WSSE認証文字列 が間違っている場合に発生します。
例えば、認証タイプが WSSE の場合、送信された パスワード・ダイジェスト が WSSE認証文字列 として正しくない場合にこのエラーが発生します。
例) WSSE認証文字列 内にNonce項目が存在しない、等

コラム

WSSE認証文字列 の詳細については「WSSE認証モジュール」を参照してください。

wsse:ExpiredData

SOAP Fault Code wsse:ExpiredData
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00003] 要求データが最新ではありません。
SOAP Fault Detail(発生時の例) jp.co.intra_mart.foundation.web_service.auth.exception.ExpiredDataException: [E.IWP.WEBSERVICE.AUTH.00018] 有効期限が過ぎています。
Webサービス・クライアント から送信されたデータの期限を過ぎている場合に発生します。
例えば、認証タイプが WSSE の場合、システム日時と WSSE認証文字列 のCreatedを比較し、設定された期限が過ぎている場合にこのエラーが発生します。

コラム

WSSE認証文字列 の有効期限は

wsse:InvalidSecurityToken

SOAP Fault Code wsse:InvalidSecurityToken
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00004] セキュリティ トークンが拒否されました。
SOAP Fault Detail(発生時の例) jp.co.intra_mart.foundation.web_service.auth.exception.InvalidSecurityTokenException: [E.IWP.WEBSERVICE.AUTH.00018] 有効期限内で2回以上受信されました。 Created = 1966-12-01T12:34:56Z
Webサービス・クライアント から送信されたデータが既に受信済みの場合に発生します。
例えば、認証タイプが WSSE の場合、WSSE認証文字列 のCreatedとNonceを有効期限で設定された期間だけサーバ側で保持しています。既に保持されているCreatedとNonceで認証しようとした場合、このエラーが発生します。

コラム

WSSE認証文字列 の有効期限は

wsse:FailedAuthentication

SOAP Fault Code wsse:FailedAuthentication
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00001] 認証に失敗しました。
SOAP Fault Detail(発生時の例)
jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationException: [E.IWP.WEBSERVICE.AUTH.00014] 認証に失敗しました。 ユーザCD = aoyagi
...
このエラーはいくつかの発生原因が存在します。以下にそれらの原因について記述します。

アカウントが登録されていません。

SOAP Fault Detail (発生時の例)
jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationException: [E.IWP.WEBSERVICE.AUTH.00014] 認証に失敗しました。 ユーザCD = aoyagi
jp.co.intra_mart.foundation.security.exception.AccessSecurityException: [E.IWP.WEBSERVICE.AUTH.00004] アカウントが登録されていません。 ユーザCD = aoyagi
ユーザ情報で指定されたユーザIDを持つアカウントが存在しない場合に発生します。ユーザIDが正しいことを確認してください。

アカウントライセンスが登録されていません。

SOAP Fault Detail(発生時の例)
jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationException: [E.IWP.WEBSERVICE.AUTH.00014] 認証に失敗しました。 ユーザCD = aoyagi
jp.co.intra_mart.foundation.security.exception.AccessSecurityException: [E.IWP.WEBSERVICE.AUTH.00005] アカウントライセンスが登録されていません。 ユーザCD = aoyagi
ユーザ情報で指定されたユーザIDを持つアカウントのアカウントライセンスが無い場合に発生します。

アカウントの有効期限が切れています。

SOAP Fault Detail(発生時の例)
jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationException: [E.IWP.WEBSERVICE.AUTH.00014] 認証に失敗しました。 ユーザCD = aoyagi
jp.co.intra_mart.foundation.security.exception.AccessSecurityException: [E.IWP.WEBSERVICE.AUTH.00006] アカウントの有効期限が切れています。 ユーザCD = aoyagi
ユーザ情報で指定されたユーザIDを持つアカウント有効期限が切れている場合に発生します。

アカウントがロックされています。

SOAP Fault Detail(発生時の例)
jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationException: [E.IWP.WEBSERVICE.AUTH.00014] 認証に失敗しました。 ユーザCD = aoyagi
jp.co.intra_mart.foundation.security.exception.AccessSecurityException: [E.IWP.WEBSERVICE.AUTH.00007] アカウントがロックされています。 ユーザCD = aoyagi
ユーザ情報で指定されたユーザIDを持つアカウントがロックされている場合に発生します。

パスワードが間違っています。

SOAP Fault Detail(発生時の例)
jp.co.intra_mart.foundation.web_service.auth.exception.AuthenticationException: [E.IWP.WEBSERVICE.AUTH.00014] 認証に失敗しました。 ユーザCD = aoyagi
jp.co.intra_mart.foundation.security.exception.AccessSecurityException: [E.IWP.WEBSERVICE.AUTH.00015] パスワードが間違っています。 ユーザCD = aoyagi
ユーザ情報で指定されたユーザIDを持つパスワードと指定されたパスワードが間違っている場合に発生します。

wsse:RequestFailed

SOAP Fault Code wsse:RequestFailed
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00002] 指定した要求に失敗しました。
SOAP Fault Detail(発生時の例) jp.co.intra_mart.foundation.web_service.auth.exception.AuthorizationException: [E.IWP.WEBSERVICE.AUTH.00001] アクセス権限がありません。 Webサービス名 = MenuService, オペレーション名 = getAvailbleMenuTree
指定された Webサービス・オペレーション を実行する権限がない場合に発生します。

コラム

管理者による認可設定方法については、「Webサービス・オペレーション への認可設定」を参照してください。

wsse:TenantNotResolved

SOAP Fault Code wsse:TenantNotResolved
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00018] 指定した要求に失敗しました。
SOAP Fault Detail(発生時の例) java.lang.IllegalStateException: [E.IWP.WEBSERVICE.AUTH.00017] テナントIDを解決できません。
指定された Webサービス・オペレーション が呼び出された環境で、テナントIDが解決できない場合に発生します。

wsse:InvalidLoginGroupID

SOAP Fault Code wsse:InvalidLoginGroupID
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00020] 要求が無効か、形式が間違っています。
SOAP Fault Detail(発生時の例) java.lang.IllegalStateException: [E.IWP.WEBSERVICE.AUTH.00019] loginGroupIDパラメータが null です。
ユーザ情報でログイングループIDが指定されていない場合に発生します。

wsse:TenantIdNotMatch

SOAP Fault Code wsse:TenantIdNotMatch
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00022] 要求が無効か、形式が間違っています。
SOAP Fault Detail(発生時の例) java.lang.IllegalStateException: [E.IWP.WEBSERVICE.AUTH.00021] 解決されたテナントID(secondary)と、ユーザ情報に指定されたテナントID(default)が一致しません。
指定された Webサービス・オペレーション が呼び出された環境で解決されたテナントIDと、ユーザ情報で指定されたログイングループIDが一致しない場合に発生します。

wsse:FailedTenantSwitch

SOAP Fault Code wsse:FailedTenantSwitch
SOAP Fault Reason [E.IWP.WEBSERVICE.AXIS2.00023] テナントID(secondary)の切り替えに失敗しました。
SOAP Fault Detail(発生時の例) jp.co.intra_mart.foundation.admin.exception.AdminException: [E.IWP.ADMIN.TENANT.10057] ログインユーザはテナントの切り替えができません。
Webサービスを実行するための一時的なテナントの切り替えに失敗した場合に発生します。