2013-05-24 26 views
9

Eclipse Juno SR2ウィザードを使用してWebサービス・クライアントを作成しようとしています。このサービスはGlassfish 3.1.2サーバー上に正しくデプロイされて実行されており、WSDLファイルが表示されたり、Axisを使用してクライアントが作成されます。私はGlassFishの3.1.2用に作成された動的Webプロジェクト内のクライアントを作成するためにCXF(CXF 2.6.8および2.7.5を試してみました)を使用しようとすると 問題が発生する:Eclipse Webサービス・クライアント・ウィザードおよびCXF

Loading FrontEnd jaxws ... 
Loading DataBinding jaxb ... 
wsdl2java -client -d /Users/dude/Documents/SOA/workspace/gf/.cxftmp/src -classdir /Users/dude/Documents/SOA/workspace/gf/build/classes -p http://testservice.csiaf.unifi.it/=it.unifi.csiaf.testservice -impl -validate -exsh false -dns true -dex true -wsdlLocation http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl -verbose -defaultValues -fe jaxws -db jaxb -wv 1.1 http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl 
wsdl2java - Apache CXF 2.6.8 

SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/Users/dude/glassfish3/glassfish/modules/weld-osgi-bundle.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/local/apache-cxf-2.6.8/lib/slf4j-jdk14-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 

WSDLToJava Error: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition from : http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl 
Caused by : WSDLException: faultCode=PARSER_ERROR: java.lang.RuntimeException: Cannot create a secure XMLInputFactory 

org.apache.cxf.tools.common.ToolException: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition from : http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl 
Caused by : WSDLException: faultCode=PARSER_ERROR: java.lang.RuntimeException: Cannot create a secure XMLInputFactory 
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:420) 
    at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103) 
    at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113) 
    at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86) 
    at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184) 
Caused by: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition from : http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl 
Caused by : WSDLException: faultCode=PARSER_ERROR: java.lang.RuntimeException: Cannot create a secure XMLInputFactory 
    at org.apache.cxf.wsdl11.WSDLDefinitionBuilder.parseWSDL(WSDLDefinitionBuilder.java:97) 
    at org.apache.cxf.wsdl11.WSDLDefinitionBuilder.build(WSDLDefinitionBuilder.java:69) 
    at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:82) 
    at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:59) 
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:198) 
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:164) 
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:412) 
    ... 4 more 
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: java.lang.RuntimeException: Cannot create a secure XMLInputFactory 
    at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:243) 
    at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:192) 
    at org.apache.cxf.wsdl11.WSDLDefinitionBuilder.parseWSDL(WSDLDefinitionBuilder.java:78) 
    ... 10 more 
Caused by: java.lang.RuntimeException: Cannot create a secure XMLInputFactory 
    at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:299) 
    at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:254) 
    at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1423) 
    at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1317) 
    at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:233) 
    ... 12 more 

私が実行しようとした場合コマンドラインなどのWSDL2Javaそれが動作し、.javaファイルが作成されます。

macpro:glassfish3 dude$ /usr/local/apache-cxf-2.6.8/bin/wsdl2java -client -d /Users/dude/Documents/SOA/workspace/gf/.cxftmp/src -classdir /Users/dude/Documents/SOA/workspace/gf/build/classes -p http://testservice.csiaf.unifi.it/=it.unifi.csiaf.testservice -impl -validate -exsh false -dns true -dex true -wsdlLocation http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl -verbose -defaultValues -fe jaxws -db jaxb -wv 1.1 http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl 
Loading FrontEnd jaxws ... 
Loading DataBinding jaxb ... 
wsdl2java -client -d /Users/dude/Documents/SOA/workspace/gf/.cxftmp/src -classdir /Users/dude/Documents/SOA/workspace/gf/build/classes -p http://testservice.csiaf.unifi.it/=it.unifi.csiaf.testservice -impl -validate -exsh false -dns true -dex true -wsdlLocation http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl -verbose -defaultValues -fe jaxws -db jaxb -wv 1.1 http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl 
wsdl2java - Apache CXF 2.6.8 

私は、コマンドラインで動作しますので、いくつかの問題は、Eclipseの+ CXFコンボでありますと仮定し、私はそれを解決する方法についての手掛かりをしたん。何か案が ?

答えて

10

Woodstox 4.2.0が確実にピックアップされていることを確認する必要があります。また、真の

+0

私はあなたが正しいと思います:問題は、プロジェクトビルドパスにWoodstox JARを追加しても(ランタイムを追加するときにEclipseでピックされるようにCXFディレクトリに追加しても)十分ではないことです。それらを無視してください。これまでのところ、Woodstoxは必要ない古いCXFに戻ることを決意しました。私はEclipseバグを提出して、ウィザードの仕組みを確認するよう依頼しました。 – Marco

+0

Woodstoxを必要としないバージョンは? – pacoverflow

+1

CXF 3.0.0以降にアップグレードする場合、** woodstock **(woodstox-core-aslおよびstax2-api)の依存関係を**追加するべきではありません。あなたがすれば有名な例外を得るでしょう –

2

にシステムプロパティorg.apache.cxf.stax.allowInsecureParserを設定glassfish\modulesディレクトリからこれら2つのjarファイルを削除してください:

  • woodstoxコア-asl.jar
  • stax2- api.jar

デプロイ後にCXFプロジェクトの2つのJARファイル(woodstoxとstax2)が使用されないようになると思います。それはどこかに依存関係として存在し、Woodstox 4.2.0を使用する場合は、この除く

0

てみ:

<artifactId>wstx-asl</artifactId> 
<groupId>org.codehaus.woodstox</groupId> 
0

私は、JDeveloperで同じ問題に直面し、それは「woodstoxコア-ASL-4.2を追加することで解決しまいました.1.jar "をクラスパスに追加します。

0

私は同じ問題に直面しますが、ウェブ球にそれを展開し、数時間の調査後にも役立った。このhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=409070リンクはそれを考え出しすなわち

<dependency> 
    <groupId>org.codehaus.woodstox</groupId> 
    <artifactId>woodstox-core-asl</artifactId> 
    <version>4.2.0</version> 
</dependency> 

の下、woodstoxのための正確なバージョンを考え出しました。 。

Javaと.Netクライアントの両方がうまく動作します。