[
https://issues.apache.org/jira/browse/CXF-6613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14973950#comment-14973950
]
Sebastian Krupa edited comment on CXF-6613 at 10/26/15 9:47 AM:
----------------------------------------------------------------
Working dependencies(with cxf 3.1.4-SNAPSHOT):
{code:xml}
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>1.6.18</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<!-- wymagane przez CXF - nie jawnie -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<version>1.46</version>
</dependency>
</dependencies>
{code}
was (Author: h3x0r):
Working dependencies:
{code:xml}
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>1.6.18</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<!-- wymagane przez CXF - nie jawnie -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<version>1.46</version>
</dependency>
</dependencies>
{code}
> java.lang.NoSuchFieldError: REFLECTION in CFX 3.1.4-SNAPSHOT
> ------------------------------------------------------------
>
> Key: CXF-6613
> URL: https://issues.apache.org/jira/browse/CXF-6613
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 3.1.4
> Reporter: Sebastian Krupa
> Priority: Blocker
>
> I think that i found a bug in CXF 3.1.4-SNAPSHOT - when i'm try to launch my
> dynamic client to simple mock service(generated in Soapui) i got:
> {noformat}
> Exception in thread "main" java.lang.NoSuchFieldError: REFLECTION
> at
> com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:89)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:456)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:302)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1140)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:202)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172)
> at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)
> at javax.xml.bind.ContextFinder.find(ContextFinder.java:334)
> at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:394)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:241)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:234)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:189)
> at pl.nbp.traverse.Main.main(Main.java:33)
> {noformat}
> Full log (DEBUG):
> {noformat}
> 2015-09-28 15:59:12 DEBUG LogUtils - Using
> org.apache.cxf.common.logging.Log4jLogger for logging.
> 2015-09-28 15:59:12 DEBUG DynamicClientFactory - Creating client from WSDL
> https://localhost:1081/?WSDL
> 2015-09-28 15:59:12 DEBUG DefaultResourceManager - resolving resource
> <org.apache.cxf.wsdl11.WSDLManagerImpl/bus> type <interface
> org.apache.cxf.Bus>
> 2015-09-28 15:59:12 DEBUG DefaultResourceManager - resolving resource <null>
> type <interface org.apache.cxf.Bus>
> 2015-09-28 15:59:13 DEBUG HTTPConduit - Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit' has been
> (re)configured for plain http.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Trust Decider configured for
> Conduit '{http://cxf.apache.org}TransportURIResolver.http-conduit'
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Auth Supplier configured for
> Conduit '{http://cxf.apache.org}TransportURIResolver.http-conduit'
> 2015-09-28 15:59:13 DEBUG HTTPConduit - Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit' has been
> configured for plain http.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - registering incoming observer:
> org.apache.cxf.transport.TransportURIResolver$1@27cd61b
> 2015-09-28 15:59:13 DEBUG HttpsURLConnectionFactory - The location of the key
> store has not been set via a system parameter or through configuration so the
> default value of /home/osbdev/.keystore will be used.
> 2015-09-28 15:59:13 DEBUG HttpsURLConnectionFactory - The key store password
> has not been set via a system property or through configuration, reading data
> from the keystore will fail.
> 2015-09-28 15:59:13 DEBUG HttpsURLConnectionFactory - The key password has
> not been set via a system property or through configuration, reading data
> from the keystore will fail.
> 2015-09-28 15:59:13 DEBUG HttpsURLConnectionFactory - The cipher suites have
> been set to [Ljava.lang.String;@520d8436.
> 2015-09-28 15:59:13 DEBUG Headers - Accept: */*
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Trust Decider for Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit'. An afirmative
> Trust Decision is assumed.
> 2015-09-28 15:59:13 WARN StaxUtils - Could not create a secure Stax
> XMLInputFactory. Found class com.ctc.wstx.stax.WstxInputFactory. Suggest
> Woodstox 4.2.0 or newer.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit' has been
> (re)configured for plain http.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Trust Decider configured for
> Conduit '{http://cxf.apache.org}TransportURIResolver.http-conduit'
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Auth Supplier configured for
> Conduit '{http://cxf.apache.org}TransportURIResolver.http-conduit'
> 2015-09-28 15:59:13 DEBUG HTTPConduit - Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit' has been
> configured for plain http.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - registering incoming observer:
> org.apache.cxf.transport.TransportURIResolver$1@4a3a051f
> 2015-09-28 15:59:13 DEBUG HttpsURLConnectionFactory - The cipher suites have
> been set to [Ljava.lang.String;@67de324d.
> 2015-09-28 15:59:13 DEBUG Headers - Accept: */*
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Trust Decider for Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit'. An afirmative
> Trust Decision is assumed.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit' has been
> (re)configured for plain http.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Trust Decider configured for
> Conduit '{http://cxf.apache.org}TransportURIResolver.http-conduit'
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Auth Supplier configured for
> Conduit '{http://cxf.apache.org}TransportURIResolver.http-conduit'
> 2015-09-28 15:59:13 DEBUG HTTPConduit - Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit' has been
> configured for plain http.
> 2015-09-28 15:59:13 DEBUG HTTPConduit - registering incoming observer:
> org.apache.cxf.transport.TransportURIResolver$1@3185a34
> 2015-09-28 15:59:13 DEBUG HttpsURLConnectionFactory - The cipher suites have
> been set to [Ljava.lang.String;@33ca0d82.
> 2015-09-28 15:59:13 DEBUG Headers - Accept: */*
> 2015-09-28 15:59:13 DEBUG HTTPConduit - No Trust Decider for Conduit
> '{http://cxf.apache.org}TransportURIResolver.http-conduit'. An afirmative
> Trust Decision is assumed.
> 2015-09-28 15:59:13 DEBUG WSDLServiceBuilder - Operation
> {http://www.examples.com/wsdl/HelloService.wsdl}sayHello cannot be unwrapped,
> input message must reference global element declaration with same localname
> as operation
> 2015-09-28 15:59:14 INFO DynamicClientFactory - Created classes:
> com.examples.wsdl.helloservice.ObjectFactory,
> com.examples.wsdl.helloservice.StringAndIntComplexType,
> com.examples.wsdl.helloservice.StringComplexType
> Exception in thread "main" java.lang.NoSuchFieldError: REFLECTION
> at
> com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:89)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:456)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:302)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1140)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:202)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172)
> at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)
> at javax.xml.bind.ContextFinder.find(ContextFinder.java:334)
> at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:394)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:241)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:234)
> at
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:189)
> at pl.nbp.traverse.Main.main(Main.java:33)
> {noformat}
> My pom:
> {code:xml}
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>pl.nbp</groupId>
> <artifactId>traverse</artifactId>
> <version>4.0</version>
> <packaging>jar</packaging>
> <name>${project.artifactId}</name>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-compiler-plugin</artifactId>
> <version>3.3</version>
> <configuration>
> <source>${targetJdk}</source>
> <target>${targetJdk}</target>
> </configuration>
> </plugin>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-shade-plugin</artifactId>
> <version>2.4.1</version>
> <executions>
> <execution>
> <phase>package</phase>
> <goals>
> <goal>shade</goal>
> </goals>
> <configuration>
> <filters><!-- bez tego
> java.lang.SecurityException: Invalid signature
> file
> digest for Manifest main attributes -->
> <filter>
>
> <artifact>*:*</artifact>
>
> <excludes>
>
> <exclude>META-INF/*.SF</exclude>
>
> <exclude>META-INF/*.DSA</exclude>
>
> <exclude>META-INF/*.RSA</exclude>
>
> </excludes>
> </filter>
> </filters>
> <transformers>
> <transformer
>
> implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
>
> <mainClass>pl.nbp.traverse.Main</mainClass>
> </transformer>
> </transformers>
> </configuration>
> </execution>
> </executions>
> </plugin>
> </plugins>
> <resources>
> <resource>
> <directory>src/main/resources</directory>
> <filtering>true</filtering>
> </resource>
> </resources>
> </build>
> <properties>
> <targetJdk>1.7</targetJdk>
>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> <logger>org.apache.log4j.ConsoleAppender</logger>
> <logger.severity>DEBUG</logger.severity><!-- DEBUG, INFO -->
> <do.i.need.dev.osb>TRUE</do.i.need.dev.osb>
>
> <cxf.version>3.1.4-SNAPSHOT</cxf.version>
> <!-- cxf.version>3.0.0-SNAPSHOT</cxf.version-->
>
>
> <ws.CHANNEL_SECURITY_TIME_TO_LIVE>300</ws.CHANNEL_SECURITY_TIME_TO_LIVE>
> <ws.KEY_STORE_FILE>all.jks</ws.KEY_STORE_FILE>
>
> <ws.KEY_STORE_FILE_PASSWORD>Soatest2012</ws.KEY_STORE_FILE_PASSWORD>
>
> <ws.CHANNEL_RECIPIENT_SERVER_ALIAS>[email protected]</ws.CHANNEL_RECIPIENT_SERVER_ALIAS>
> </properties>
> <dependencies>
> <!-- <cxf.version>3.1.4-SNAPSHOT</cxf.version> -->
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxws</artifactId>
> <version>${cxf.version}</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http</artifactId>
> <version>${cxf.version}</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-core</artifactId>
> <version>2.7.9</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-ws-security</artifactId>
> <version>3.1.3</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http-jetty</artifactId>
> <version>3.1.3</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-common-utilities</artifactId>
> <version>2.5.9</version>
> </dependency>
>
> <!-- <cxf.version>3.0.0-SNAPSHOT</cxf.version> -->
> <!--
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxws</artifactId>
> <version>${cxf.version}</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http</artifactId>
> <version>${cxf.version}</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http-jetty</artifactId>
> <version>${cxf.version}</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-core</artifactId>
> <version>${cxf.version}</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-ws-security</artifactId>
> <version>2.8.0-SNAPSHOT</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-common-utilities</artifactId>
> <version>2.5.12-SNAPSHOT</version>
> </dependency>
> -->
>
> <dependency>
> <groupId>org.apache.ws.security</groupId>
> <artifactId>wss4j</artifactId>
> <version>1.6.9</version>
> </dependency>
> <dependency>
> <groupId>org.apache.commons</groupId>
> <artifactId>commons-lang3</artifactId>
> <version>3.4</version>
> </dependency>
> <dependency>
> <groupId>org.membrane-soa</groupId>
> <artifactId>service-proxy-core</artifactId>
> <version>4.1.0</version>
> </dependency>
> <!-- wymagane przez CXF - nie jawnie -->
> <dependency>
> <groupId>com.eviware.soapui</groupId>
> <artifactId>bcprov-jdk15-144</artifactId>
> <version>4.5.1</version>
> </dependency>
> </dependencies>
> </project>
> {code}
> My client
> {code:java}
> public static void main(String[] args) {
> final String uri = "https://localhost:1081/?WSDL";
> Properties properties = System.getProperties();
> properties.put("org.apache.cxf.stax.allowInsecureParser","1");
> JaxWsDynamicClientFactory dcf =
> JaxWsDynamicClientFactory.newInstance();
> Client client = dcf.createClient(uri);
>
> try
> {
> Object StringAndIntComplexType =
> Thread.currentThread().getContextClassLoader().loadClass("com.examples.wsdl.helloservice.StringAndIntComplexType").newInstance();
>
> Method setString =
> StringAndIntComplexType.getClass().getMethod("setString", String.class);
> Method setInt =
> StringAndIntComplexType.getClass().getMethod("setInt", int.class);
> setString.invoke(StringAndIntComplexType, "Joe Schmoe");
> setInt.invoke(StringAndIntComplexType, 1);
>
> Object[] objects = client.invoke("sayHello",
> StringAndIntComplexType);
> for(int i=0; i < objects.length; i++)
> {
> System.out.println("An object:
> "+ToStringBuilder.reflectionToString(objects[i]));
> }
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> CreateTemplates(uri);
> }
> {code}
> Endpoint is protected with SSL and i'm using WS-Security, on version
> 3.0.0-SNAPSHOT everything works fine.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)