【トラブル】【Axis2】WSDLから Webサービス/クライアントを作成時に発生したトラブル

目的

http://blogs.yahoo.co.jp/dk521123/31984636.html
http://blogs.yahoo.co.jp/dk521123/32003685.html
等で発生したトラブルおよび解決方法をまとめる

■ エラー

ビルドエラー「Error running javac.exe compiler」が表示される

エラー内容

BUILD FAILED
C:\Xxxx\build.xml:43: Error running javac.exe compiler

原因

 * Eclipseのインストール済みのJREJREになっているため

解決方法

 * [ウィンドウ]-[設定]-[Java]-[インストール済みのJRE]でJDKを指定

 ※名前はそのままにしておくこと(例えば「jre7」のまま) 

参考文献

http://kusataku-gae.seesaa.net/article/148645585.html

ビルドエラー「{env.AXIS2_HOME} does not exit」が表示される

エラー内容

BUILD FAILED
C:\Xxxx\build.xml:30: C:\Xxxxx\${env.AXIS2_HOME} does not exist.

原因

 * 環境変数AXIS2_HOME」が設定されていない

つまり、
http://blogs.yahoo.co.jp/dk521123/31944955.html
の「axis2 の設定」の手順[8]を行っていない

解決方法

環境変数で、以下を追加する
  * 変数名:AXIS2_HOME
  * 変数値:【AXIS2が置いてあるパス】(例「C:\pg\axis2-1.6.2」)

エラー「The AXIS2_HOME enviroment variable is not defined correctly」が表示される

原因

 * 環境変数AXIS2_HOME」が正しく設定されていない
 * 例えば「C:\pg\axis2-1.6.2\bin」ってなっていた

解決方法

環境変数AXIS2_HOME」を正しく修正する
  * 変数値:【AXIS2が置いてあるパス】(例「C:\pg\axis2-1.6.2」)

エラー「UnmatchedTypeException: No type was mapped to the name Xxxxx」が表示される

 * WSDLファイルを修正し、自動生成を行ったところ、以下のエラー内容の例外が発生した。

エラー内容

org.apache.axis2.wsdl.databinding.UnmatchedTypeException: No type was mapped to the name Xxxxx

原因

 * WSDLファイルの以下の「wsdl:types要素」配下にクラスを定義していなかったため
 * XSDLファイルについては、以下の関連記事を参照のこと
http://blogs.yahoo.co.jp/dk521123/31950737.html

解決方法

 * WSDLファイルの以下の「wsdl:types要素」配下にクラスを定義する

■ 警告


Ant でビルドする時に「includeAntRuntime」に関する警告が出る

警告内容

build.xml:43: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

解決方法

 * 警告が出る箇所にbuild.xmlの行に、「includeAntRuntime="false"」or「includeAntRuntime="no"」を付加する

サンプル

<javac debug="on" memoryMaximumSize="256m" memoryInitialSize="256m" fork="true" destdir="${classes}" srcdir="${src}" includeantruntime="no">

参考文献

http://www.techscore.com/tech/Java/ApacheJakarta/Ant/7/
http://epian-wiki.appspot.com/wiki/Memo/20100822030535/Ant%201.8%E3%81%8B%E3%82%89%E5%87%BA%E3%82%8BincludeAntRuntime%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%83%AF%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0

警告「log4j:WARN No appenders could be found for logger」が表示される

現象詳細

http://blogs.yahoo.co.jp/dk521123/31984636.html
などで、wsdl2javaで自動生成した際に、以下の警告内容が表示される

■警告内容
log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AsixService).
log4j:WARN Please initialize the log4j system properly.

解決方法

 [1] AXIS2が置いてあるパス\webapp\WEB-INF\classes\log4j.properties
   (例「C:\pg\axis2-1.6.2\webapp\WEB-INF\classes\log4j.properties」)などから
    log4j.propertiesをコピー
 [2] AXIS2が置いてあるパス(AXIS2_HOME。例「C:\pg\axis2-1.6.2」)以下に、[1]をペーストする
 [3] 再度、コマンドプロンプトを立ち上げて、wsdl2javaを実行する 

参考文献

http://d.hatena.ne.jp/learn/20100108/p1
http://tunes.sakura.ne.jp/tipi/?Java%2Flog4j%2F%A5%A8%A5%E9%A1%BC%2FWARN%20No%20appenders%20could%20be%20found%20for%20logger
http://affi0.blog61.fc2.com/blog-entry-909.html

関連記事

Axis2を実行時に、エラーが表示され、実行できない

http://blogs.yahoo.co.jp/dk521123/32932322.html

WSDL について ~知識編~

http://blogs.yahoo.co.jp/dk521123/31950737.html