Hello,

I am a new CXF (v3.0.0) user. Actually, I am new to the whole JAX-WS thing.
:)
I have set up a JAX-WS service, SOAP over JMS with ActiveMQ. The server
methods invocations are working fine, but I am having some trouble
regarding the Holder class.
I am using the holder class as a container for the outgoing SOAP header for
all web methods, as specified in the WSDL.
I started from WSDL first with Spring configuration for both clients and
servers.
I have provided an async binding to the wsdl2java tool to generate the
async method signatures, because I want to use those instead of the sync
ones.

The problem is that when I pass the Holder object to the client method and
assign the value field in the server, the client sees it as null but no
exception is thrown.
Further, if I put the @UseAsyncMethod annotation to command CXF to use the
pure async method I have implemented, CXF throws NPE at
HolderOutInterceptor class.
I noticed that if the web method has no arguments besides the SOAP headers
everything works just fine, otherwise what I have described above happens.

Below there are my configurations.

Maven plugin:

<plugin>
<groupId>org.apache.cxf</groupId>
          <artifactId>cxf-codegen-plugin</artifactId>
          <executions>
          <execution>
                    <id>generate-sources</id>
                              <phase>generate-sources</phase>
                              <configuration>
                              <defaultOptions>
                                        <bindingFiles>

<bindingFile>${basedir}/src/main/resources/oa_types-binding.xml</bindingFile>

<bindingFile>${basedir}/src/main/resources/oa_async-binding.xml</bindingFile>
                                        </bindingFiles>

<noAddressBinding>true</noAddressBinding>
                                    </defaultOptions>
                                    <sourceRoot>

${basedir}/target/generated-sources/cxf
                                    </sourceRoot>
                                    <wsdlOptions>
                                        <wsdlOption>

<wsdl>${basedir}/src/main/resources/OA_Server.wsdl</wsdl>

<wsdlLocation>classpath:OA_Server.wsdl</wsdlLocation>
                                            <extraargs>
                                                <extraarg>-p</extraarg>
                                                <extraarg>
http://www.multispeak.org/Version_4.1_Release=org.multispeak.version_4_1_6.OA
</extraarg>
                                                <extraarg>-p</extraarg>

<extraarg>cpsm_V4.1_Release=org.cspm.version_4_1.OA</extraarg>
                                                <extraarg>-p</extraarg>

<extraarg>gml_V4.1_Release=org.gml.version_4_1.OA</extraarg>
                                                <extraarg>-p</extraarg>
                                                <extraarg>
http://www.w3.org/1999/xlink=org.w3.xlink.OA</extraarg>
                                                <extraarg>-p</extraarg>
                                                <extraarg>
http://www.w3.org/2001/XMLSchema=org.w3.xmlschema.OA</extraarg>
                                                <!--
<extraarg>-p</extraarg> -->
                                                <!--
<extraarg>org.multispeak.version_4_1_6.OA</extraarg> -->
                                                <!--
<extraarg>-impl</extraarg> -->
                                                <!--
<extraarg>-server</extraarg> -->
                                                <!--
<extraarg>-client</extraarg> -->

<extraarg>-autoNameResolution</extraarg>
                                                <extraarg>-fe</extraarg>
                                                <extraarg>jaxws21</extraarg>
                                                <extraarg>-exsh</extraarg>
                                                <extraarg>true</extraarg>
                                            </extraargs>
                                        </wsdlOption>
                                    </wsdlOptions>
                                </configuration>
                                <goals>
                                    <goal>wsdl2java</goal>
                                </goals>
</execution>
</executions>
</plugin>

Spring:

    <beans:bean id="connection-factory"
class="org.apache.activemq.ActiveMQConnectionFactory">
        <beans:property name="brokerURL"
value="${outside.multispeak.jms.broker}"/>
    </beans:bean>

    <beans:bean id="pooled-connection-factory"
class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
        <beans:constructor-arg index="0" ref="connection-factory"/>
        <beans:property name="expiryTimeout"
value="${outside.multispeak.jms.pool.expiryTimeout}"/>
    </beans:bean>

<!-- multispeak call handling interface (OA) -->

        <!-- client side -->

        <jaxws:client
            id="multispeak-oa-client"
            xmlns:ns="http://www.multispeak.org/Version_4.1_Release";
            serviceClass="org.multispeak.version_4_1_6.OA.OAServerSoap"
            serviceName="ns:OA_Server"
            endpointName="ns:OA_ServerSoap"
            address="#{'jms:queue:'
                + '${outside.multispeak.oa.jms.queue}'
                + '?timeToLive=' + '${outside.multispeak.jms.timeToLive}'
                + '&amp;requestTimeout' +
'${outside.multispeak.jms.receiveTimeout}'}"
            wsdlLocation="classpath:OA_Server.wsdl">
            <jaxws:features>
                <beans:bean class="org.apache.cxf.feature.LoggingFeature "/>
                <beans:bean
class="org.apache.cxf.transport.jms.ConnectionFactoryFeature">
                    <beans:constructor-arg index="0"
ref="pooled-connection-factory"/>
                </beans:bean>
            </jaxws:features>
           </jaxws:client>

        <!-- server side -->

        <beans:bean id="forwarding-oa-server"
class="${outside.multispeak.oa.server}" />
        <beans:bean id="multispeak-oa-obj-factory"
class="org.multispeak.version_4_1_6.OA.ObjectFactory" />

        <jaxws:endpoint
            id="multispeak-oa-server"
            xmlns:tns="http://www.multispeak.org/Version_4.1_Release";
            implementor="x.x.outside.multispeak.oa.server.OAServerSoapImpl"
            serviceName="tns:OA_Server"
            endpointName="tns:OA_ServerSoap"
            address="#{'jms:queue:' + '${outside.multispeak.oa.jms.queue}'
+ ''}"
            publish="false"
            wsdlLocation="classpath:OA_Server.wsdl">
            <jaxws:features>
                <beans:bean class="org.apache.cxf.feature.LoggingFeature "/>
                <beans:bean
class="org.apache.cxf.transport.jms.ConnectionFactoryFeature">
                    <beans:constructor-arg index="0"
ref="pooled-connection-factory"/>
                </beans:bean>
            </jaxws:features>
        </jaxws:endpoint>

The Service Endpoint Interface generated.
There are two methods: pingURL and odEventNotification.
pingURLAsync, as it has no arguments besides the headers, works just fine,
but odEventNotificationAsync does not.
Note that I am using an AsyncHandler of course. In case of pingURLAsync I
can get Holder.value in the handleResponse(Response<T>) callback without
any problems.

@WebService(targetNamespace = "http://www.multispeak.org/Version_4.1_Release";,
name = "OA_ServerSoap")
@XmlSeeAlso({ObjectFactory.class, org.w3.xlink.OA.ObjectFactory.class,
org.gml.version_4_1.OA.ObjectFactory.class,
org.cspm.version_4_1.OA.ObjectFactory.class})
public interface OAServerSoap {

...

@RequestWrapper(localName = "PingURL", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.PingURL")
    @ResponseWrapper(localName = "PingURLResponse", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.PingURLResponse")
    @WebMethod(operationName = "PingURL")
    public Response<org.multispeak.version_4_1_6.OA.PingURLResponse>
pingURLAsync(
        @WebParam(name = "MultiSpeakMsgHeader", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, header = true)
        MultiSpeakMsgHeader multiSpeakMsgHeader,
        @WebParam(mode = WebParam.Mode.OUT, name = "MultiSpeakMsgHeader",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";, header =
true)
        javax.xml.ws.Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1
    );

    @RequestWrapper(localName = "PingURL", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.PingURL")
    @ResponseWrapper(localName = "PingURLResponse", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.PingURLResponse")
    @WebMethod(operationName = "PingURL")
    public Future<?> pingURLAsync(
        @WebParam(name = "MultiSpeakMsgHeader", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, header = true)
        MultiSpeakMsgHeader multiSpeakMsgHeader,
        @WebParam(mode = WebParam.Mode.OUT, name = "MultiSpeakMsgHeader",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";, header =
true)
        javax.xml.ws.Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1,
        @WebParam(name = "asyncHandler", targetNamespace = "")
        AsyncHandler<org.multispeak.version_4_1_6.OA.PingURLResponse>
asyncHandler
    );

    /**
     * Requester pings URL of OA to see if it is alive.  Returns
errorObject(s) as necessary to communicate application status.
     */
    @WebResult(name = "PingURLResult", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
    @RequestWrapper(localName = "PingURL", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.PingURL")
    @WebMethod(operationName = "PingURL", action = "
http://www.multispeak.org/Version_4.1_Release/PingURL";)
    @ResponseWrapper(localName = "PingURLResponse", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.PingURLResponse")
    public org.multispeak.version_4_1_6.OA.ArrayOfErrorObject pingURL(
        @WebParam(name = "MultiSpeakMsgHeader", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, header = true)
        MultiSpeakMsgHeader multiSpeakMsgHeader,
        @WebParam(mode = WebParam.Mode.OUT, name = "MultiSpeakMsgHeader",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";, header =
true)
        javax.xml.ws.Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1
    );

@RequestWrapper(localName = "ODEventNotification", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.ODEventNotification")
    @ResponseWrapper(localName = "ODEventNotificationResponse",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";,
className = "org.multispeak.version_4_1_6.OA.ODEventNotificationResponse")
    @WebMethod(operationName = "ODEventNotification")
    public
Response<org.multispeak.version_4_1_6.OA.ODEventNotificationResponse>
odEventNotificationAsync(
        @WebParam(name = "ODEvents", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
        org.multispeak.version_4_1_6.OA.ArrayOfOutageDetectionEvent
odEvents,
        @WebParam(name = "transactionID", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
        java.lang.String transactionID,
        @WebParam(name = "MultiSpeakMsgHeader", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, header = true)
        MultiSpeakMsgHeader multiSpeakMsgHeader,
        @WebParam(mode = WebParam.Mode.OUT, name = "MultiSpeakMsgHeader",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";, header =
true)
        javax.xml.ws.Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1
    );

    @RequestWrapper(localName = "ODEventNotification", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.ODEventNotification")
    @ResponseWrapper(localName = "ODEventNotificationResponse",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";,
className = "org.multispeak.version_4_1_6.OA.ODEventNotificationResponse")
    @WebMethod(operationName = "ODEventNotification")
    public Future<?> odEventNotificationAsync(
        @WebParam(name = "ODEvents", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
        org.multispeak.version_4_1_6.OA.ArrayOfOutageDetectionEvent
odEvents,
        @WebParam(name = "transactionID", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
        java.lang.String transactionID,
        @WebParam(name = "MultiSpeakMsgHeader", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, header = true)
        MultiSpeakMsgHeader multiSpeakMsgHeader,
        @WebParam(mode = WebParam.Mode.OUT, name = "MultiSpeakMsgHeader",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";, header =
true)
        javax.xml.ws.Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1,
        @WebParam(name = "asyncHandler", targetNamespace = "")

AsyncHandler<org.multispeak.version_4_1_6.OA.ODEventNotificationResponse>
asyncHandler
    );

    /**
     * Publisher notifies OA of a change in OutageDetectionEvents by
sending an array of changed OutageDetectionEvent objects.  OA returns
information about failed transactions using an array of errorObjects. The
message header attribute 'registrationID' should be added to all publish
messages to indicate to the subscriber under which registrationID they
received this notification data.
     */
    @WebResult(name = "ODEventNotificationResult", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
    @RequestWrapper(localName = "ODEventNotification", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, className =
"org.multispeak.version_4_1_6.OA.ODEventNotification")
    @WebMethod(operationName = "ODEventNotification", action = "
http://www.multispeak.org/Version_4.1_Release/ODEventNotification";)
    @ResponseWrapper(localName = "ODEventNotificationResponse",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";,
className = "org.multispeak.version_4_1_6.OA.ODEventNotificationResponse")
    public org.multispeak.version_4_1_6.OA.ArrayOfErrorObject
odEventNotification(
        @WebParam(name = "ODEvents", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
        org.multispeak.version_4_1_6.OA.ArrayOfOutageDetectionEvent
odEvents,
        @WebParam(name = "transactionID", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";)
        java.lang.String transactionID,
        @WebParam(name = "MultiSpeakMsgHeader", targetNamespace = "
http://www.multispeak.org/Version_4.1_Release";, header = true)
        MultiSpeakMsgHeader multiSpeakMsgHeader,
        @WebParam(mode = WebParam.Mode.OUT, name = "MultiSpeakMsgHeader",
targetNamespace = "http://www.multispeak.org/Version_4.1_Release";, header =
true)
        javax.xml.ws.Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1
    );

...

The SEI implementation.
Both pingURL and odEventNotification simply forward the call to a delegate.
Both inbound and outbound headers are placed in a common container and
handed over to the delegate.
The async methods simply execute the calls in background and end up calling
the sync methods internally.
The line
mspkHeader.setOutbound(mObjectFactory.createMultiSpeakMsgHeader());
simply calls multiSpeakMsgHeader1.value = ...

@WebService(
        serviceName = "OA_Server",
        portName = "OA_ServerSoap",
        targetNamespace = "http://www.multispeak.org/Version_4.1_Release";,
        wsdlLocation = "classpath:OA_Server.wsdl",
        endpointInterface = "org.multispeak.version_4_1_6.OA.OAServerSoap")
public class OAServerSoapImpl implements OAServerSoap {

...

@Override
    public ArrayOfErrorObject pingURL(MultiSpeakMsgHeader
multiSpeakMsgHeader, Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1) {
        LOG.entry(multiSpeakMsgHeader, multiSpeakMsgHeader1);
        try {
            Preconditions.checkNotNull(multiSpeakMsgHeader);
            Preconditions.checkNotNull(multiSpeakMsgHeader1);
            MultiSpeakInOutHeader<MultiSpeakMsgHeader> mspkHeader =
MultiSpeakInOutHeader.of(multiSpeakMsgHeader, multiSpeakMsgHeader1);

mspkHeader.setOutbound(mObjectFactory.createMultiSpeakMsgHeader());
            return
LOG.exit(Preconditions.checkNotNull(mDelegate.pingURL(mspkHeader)));
        } catch (Throwable t) {
            throw LOG.throwing(Throwables.unchecked(t));
        }
    }

@Override
@UseAsyncMethod
public ArrayOfErrorObject odEventNotification(ArrayOfOutageDetectionEvent
odEvents, String transactionID, MultiSpeakMsgHeader multiSpeakMsgHeader,
Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1) {
        LOG.entry(odEvents, transactionID, multiSpeakMsgHeader,
multiSpeakMsgHeader1);
        try {
            Preconditions.checkNotNull(odEvents, "odEvents");
            Preconditions.checkNotNull(transactionID, "transactionID");
            Preconditions.checkNotNull(multiSpeakMsgHeader,
"multiSpeakMsgHeader");
            Preconditions.checkNotNull(multiSpeakMsgHeader1,
"multiSpeakMsgHeader1");
            MultiSpeakInOutHeader<MultiSpeakMsgHeader> mspkHeader =
MultiSpeakInOutHeader.of(multiSpeakMsgHeader, multiSpeakMsgHeader1);

mspkHeader.setOutbound(mObjectFactory.createMultiSpeakMsgHeader());
            return
LOG.exit(Preconditions.checkNotNull(mDelegate.odEventNotification(odEvents,
transactionID, mspkHeader)));
        } catch (Throwable t) {
            throw LOG.throwing(Throwables.unchecked(t));
        }
    }

    @Override
    public Future<?> pingURLAsync(MultiSpeakMsgHeader multiSpeakMsgHeader,
Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1,
AsyncHandler<PingURLResponse> asyncHandler) {
        LOG.entry(multiSpeakMsgHeader, multiSpeakMsgHeader1, asyncHandler);
        try {
            PingURLAsync response = new PingURLAsync(this,
multiSpeakMsgHeader, multiSpeakMsgHeader1, asyncHandler);
            mExecutor.submit(response);
            return LOG.exit(response.getServerAsyncResponse());
        } catch (Throwable t) {
            throw LOG.throwing(Throwables.unchecked(t));
        }
    }

@Override
    public Future<?> odEventNotificationAsync(ArrayOfOutageDetectionEvent
odEvents, String transactionID, MultiSpeakMsgHeader multiSpeakMsgHeader,
Holder<MultiSpeakMsgHeader> multiSpeakMsgHeader1,
AsyncHandler<ODEventNotificationResponse> asyncHandler) {
        LOG.entry(odEvents, transactionID, multiSpeakMsgHeader,
multiSpeakMsgHeader1);
        try {
            OdEventNotificationAsync response = new
OdEventNotificationAsync(this, odEvents, transactionID,
multiSpeakMsgHeader, multiSpeakMsgHeader1, asyncHandler);
            mExecutor.submit(response);
            return LOG.exit(response.getServerAsyncResponse());
        } catch (Throwable t) {
            throw LOG.throwing(Throwables.unchecked(t));
        }
    }

...

The invocation test.

...
Holder<MultiSpeakMsgHeader> headerOut = new Holder<MultiSpeakMsgHeader>();
Future<?> future = mServer.odEventNotificationAsync(new
ArrayOfOutageDetectionEvent(), "0", new MultiSpeakMsgHeader(), headerOut,
new AsyncHandlerImpl(headerOut));
...
private static class AsyncHandlerImpl implements
AsyncHandler<ODEventNotificationResponse> {

        private static final XLogger LOG =
XLoggerFactory.getXLogger(AsyncHandlerImpl.class);

        private final Holder<MultiSpeakMsgHeader> mHeaderOut;

        public AsyncHandlerImpl(Holder<MultiSpeakMsgHeader> headerOut) {
            mHeaderOut = headerOut;
        }

        @Override
        public void handleResponse(Response<ODEventNotificationResponse>
res) {
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Callback: {}", res.toString());
                }
                ODEventNotificationResponse mspkRsp = res.get();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OA odEventNotificationAsync() >> callback:
{} > multispeak header: {}", mspkRsp.toString(), mHeaderOut.value);
//                    for (Entry<String, Object> entry :
res.getContext().entrySet()) {
//                        LOG.trace("Response context >> string > {} >>
object > {}", entry.getKey(), entry.getValue());
//                    }
                }
            } catch (Exception e) {
                LOG.catching(e);
            }
        }
    }

As I said above, a NPE is thrown in HolderOutInterceptor when the response
is returned to the client if I use the pure async method with
@UseAsyncMethod,
or mHeaderOut.value is null if I don't. Now, the stacktrace:

28-11-2014 17:15:07.997 WARN  [OA Thread-#1]
org.apache.cxf.phase.PhaseInterceptorChain doLog - Interceptor for {
http://www.multispeak.org/Version_4.1_Release}OA_Server#{http://www.multispeak.org/Version_4.1_Release}ODEventNotification
has thrown exception, unwinding now
java.lang.NullPointerException
    at
org.apache.cxf.jaxws.interceptors.HolderOutInterceptor.handleMessage(HolderOutInterceptor.java:90)
~[cxf-rt-frontend-jaxws-3.0.0.jar:3.0.0]
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:81)
[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:277)
[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.continuations.JMSContinuation.doResume(JMSContinuation.java:109)
[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.continuations.JMSContinuation.resume(JMSContinuation.java:98)
[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker$JaxwsServerHandler.handleResponse(AbstractJAXWSMethodInvoker.java:193)
[cxf-rt-frontend-jaxws-3.0.0.jar:3.0.0]
    at
x.x.outside.common.ws.cxf.endpoint.server.AbstractAsyncResponseHandler.fireResult(AbstractAsyncResponseHandler.java:55)
[classes/:?]
    at
x.x.outside.common.ws.cxf.endpoint.server.AbstractAsyncResponseHandler.fireAsyncResult(AbstractAsyncResponseHandler.java:46)
[classes/:?]
    at
x.x.outside.common.ws.cxf.endpoint.server.AbstractAsyncResponseHandler.postProcess(AbstractAsyncResponseHandler.java:41)
[classes/:?]
    at
x.x.outside.common.util.ConditionEnforcerHandlerRunnable$1.invoke(ConditionEnforcerHandlerRunnable.java:10)
[classes/:?]
    at
x.x.outside.common.util.ConditionEnforcerHandler$2.invoke(ConditionEnforcerHandler.java:25)
[classes/:?]
    at
x.x.outside.common.util.ExceptionHandler.handle(ExceptionHandler.java:7)
[classes/:?]
    at
x.x.outside.common.util.ConditionEnforcerHandler.handle(ConditionEnforcerHandler.java:20)
[classes/:?]
    at
x.x.outside.common.util.ConditionEnforcerHandlerRunnable.run(ConditionEnforcerHandlerRunnable.java:7)
[classes/:?]
    at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
[?:1.6.0_33]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
[?:1.6.0_33]
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) [?:1.6.0_33]
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
[?:1.6.0_33]
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[?:1.6.0_33]
    at java.lang.Thread.run(Thread.java:701) [?:1.6.0_33]
28-11-2014 17:15:08.044 TRACE [ActiveMQ Session Task-1]
x.x.outside.test.multispeak.OAServerTestAsyncCallback$AsyncHandlerImpl
handleResponse - Callback: org.apache.cxf.jaxws.JaxwsClientCallback$2@cc6f8c
28-11-2014 17:15:08.044 ERROR [ActiveMQ Session Task-1]
x.x.outside.test.multispeak.OAServerTestAsyncCallback$AsyncHandlerImpl
handleResponse - catching
java.util.concurrent.ExecutionException:
org.apache.cxf.binding.soap.SoapFault: Fault occurred while processing.
    at
org.apache.cxf.jaxws.JaxwsClientCallback$2.get(JaxwsClientCallback.java:99)
~[cxf-rt-frontend-jaxws-3.0.0.jar:3.0.0]
    at
x.x.outside.test.multispeak.OAServerTestAsyncCallback$AsyncHandlerImpl.handleResponse(OAServerTestAsyncCallback.java:81)
[classes/:?]
    at
org.apache.cxf.jaxws.JaxwsClientCallback.handleException(JaxwsClientCallback.java:87)
[cxf-rt-frontend-jaxws-3.0.0.jar:3.0.0]
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:821)
[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.JMSConduit.processReplyMessage(JMSConduit.java:413)
[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.JMSConduit.onMessage(JMSConduit.java:380)
[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.util.MessageListenerContainer$LocalTransactionalMessageListener.onMessage(MessageListenerContainer.java:120)
[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1361)
[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131)
[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202)
[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
[activemq-client-5.9.1.jar:5.9.1]
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
[?:1.6.0_33]
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[?:1.6.0_33]
    at java.lang.Thread.run(Thread.java:701) [?:1.6.0_33]
Caused by: org.apache.cxf.binding.soap.SoapFault: Fault occurred while
processing.
    at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:84)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
~[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
~[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
~[cxf-core-3.0.0.jar:3.0.0]
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:780)
~[cxf-core-3.0.0.jar:3.0.0]
    ... 11 more
28-11-2014 17:15:08.045 ERROR
[x.x.outside.test.multispeak.OAServerTestAsyncCallback-1]
x.x.outside.test.multispeak.OAServerTestAsyncCallback run - catching
java.util.concurrent.ExecutionException:
org.apache.cxf.binding.soap.SoapFault: Fault occurred while processing.
    at org.apache.cxf.endpoint.ClientCallback.get(ClientCallback.java:169)
~[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.jaxws.JaxwsResponseCallback.get(JaxwsResponseCallback.java:54)
~[cxf-rt-frontend-jaxws-3.0.0.jar:3.0.0]
    at
x.x.outside.test.multispeak.OAServerTestAsyncCallback$1.run(OAServerTestAsyncCallback.java:52)
[classes/:?]
    at
x.x.outside.test.multispeak.spi.AbstractMultispeakServerTest$2.run(AbstractMultispeakServerTest.java:112)
[classes/:?]
    at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
[?:1.6.0_33]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
[?:1.6.0_33]
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) [?:1.6.0_33]
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
[?:1.6.0_33]
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[?:1.6.0_33]
    at java.lang.Thread.run(Thread.java:701) [?:1.6.0_33]
Caused by: org.apache.cxf.binding.soap.SoapFault: Fault occurred while
processing.
    at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:84)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
~[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
~[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
~[cxf-rt-bindings-soap-3.0.0.jar:3.0.0]
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
~[cxf-core-3.0.0.jar:3.0.0]
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:780)
~[cxf-core-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.JMSConduit.processReplyMessage(JMSConduit.java:413)
~[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.JMSConduit.onMessage(JMSConduit.java:380)
~[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.cxf.transport.jms.util.MessageListenerContainer$LocalTransactionalMessageListener.onMessage(MessageListenerContainer.java:120)
~[cxf-rt-transports-jms-3.0.0.jar:3.0.0]
    at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1361)
~[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131)
~[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202)
~[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
~[activemq-client-5.9.1.jar:5.9.1]
    at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
~[activemq-client-5.9.1.jar:5.9.1]
    ... 3 more

Is this a configuration problem? Am I doing something stupid?
Thanks!

Regards,

André Costa Lima

Reply via email to