CXF (wsdl から pom.xml で Web サービスを自動生成する) を JBoss (Eclipse ide) で使用していますが、Web アプリケーションから Web サービスにアクセスする際に問題があります。このリソースを見つけました: http://blog.progs.be/?p=92しかし、WSDL_LOCATION = cl.getResource( "my/progam/pack/wsdl/myService.wsdl" ); を使用するのに本当に苦労しています。私のコードで正しく動作するように。
wsdl を src/main/wsdl に配置し、次の行を .classpath ファイルに追加しました: classpathentry kind="src" path="src/main/wsdl"
また、フォルダー my,program,pack,wsdl を作成し、wsdl をその場所にドロップしたので、アクセス可能になりました。
ただし、classloader.getResource 呼び出しは常に null を返します。
getResource( "/wsdl/myService.wsdl" ) を指定すると、null は返されませんが、必要なものではなく、完全なファイル パスが表示されると思います (URL の一部に wsdl ファイルへのパスがすべて含まれていることを考慮すると、 jboss サーバー ディレクトリを経由し、WEB-INF ディレクトリが含まれます。
.classpath ファイルが正しく設定されていませんか、それとも他に何か不足していますか?
WSDL の場所が正しくない場合、次のように常に ClassCast 例外がスローされます。
java.lang.ClassCastException: org.apache.cxf.jaxws.ServiceImpl at javax.xml.ws.Service.(Service.java:81)