Sebastian krupa created CXF-6613:
------------------------------------
Summary: 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)