You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Sergey Maslov <th...@gmail.com> on 2015/12/24 08:24:14 UTC

NPE in getMessageId() while receiving soap fault response

Hi!
I call external service via CXF client and I want to log outgoing and
incoming messages.
Requests logs successfully, but I could not log response if response
contains SoapFault. I get NPE instead.
Could you help me to log the response?

Exception and response are listed below.

java.lang.NullPointerException: null
        at
org.apache.cxf.ext.logging.event.DefaultLogEventMapper.getMessageId(DefaultLogEventMapper.java:194)
~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
        at
org.apache.cxf.ext.logging.event.DefaultLogEventMapper.map(DefaultLogEventMapper.java:61)
~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
        at
org.apache.cxf.ext.logging.LoggingInInterceptor.handleMessage(LoggingInInterceptor.java:46)
~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:112)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
[cxf-rt-bindings-soap-3.1.4.jar:3.1.4]
        at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
[cxf-rt-bindings-soap-3.1.4.jar:3.1.4]
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1669)
[cxf-rt-transports-http-3.1.4.jar:3.1.4]
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1550)
[cxf-rt-transports-http-3.1.4.jar:3.1.4]
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1347)
[cxf-rt-transports-http-3.1.4.jar:3.1.4]
        at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:215)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
[cxf-rt-transports-http-3.1.4.jar:3.1.4]
        at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
[cxf-core-3.1.4.jar:3.1.4]
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
[cxf-core-3.1.4.jar:3.1.4]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
[cxf-core-3.1.4.jar:3.1.4]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
[cxf-core-3.1.4.jar:3.1.4]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
[cxf-core-3.1.4.jar:3.1.4]
        at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
[cxf-rt-frontend-simple-3.1.4.jar:3.1.4]
        at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
[cxf-rt-frontend-jaxws-3.1.4.jar:3.1.4]
        at com.sun.proxy.$Proxy142.getEvakInfo(Unknown Source) [na:na]
        at com.smaslov.service.Service.doLoad(LoadService.java:102)
[classes/:na]
        at com.smaslov.service.Service.loadRawData(LoadService.java:91)
[classes/:na]
        at com.smaslov.service.job.LoadingDataJob$1.run(LoadJob.java:53)
[classes/:na]
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
[na:1.7.0_55]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
[na:1.7.0_55]
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
[na:1.7.0_55]
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
[na:1.7.0_55]
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_55]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_55]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]


The response message:


<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="
http://www.w3.org/2005/08/addressing"><s:Header><a:Action
s:mustUnderstand="1">
http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher/fault</a:Action><a:RelatesTo>urn:uuid:6cc79b4c-d097-4270-a153-e40d008cfbc1</a:RelatesTo></s:Header><s:Body><s:Fault><s:Code><s:Value>s:Receiver</s:Value><s:Subcode><s:Value
xmlns:a="
http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</s:Value></s:Subcode></s:Code><s:Reason><s:Text
xml:lang="ru-RU">ORA-01422: exact fetch returns more than requested number
of rows
ORA-06512: at "SCHEMA.TBL", line 115
ORA-06512: at line 1    at
Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,
OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx,
Object src, String procedure, Boolean bCheck)&#xD;
   at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode,
OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx*
pOpoSqlValCtx, Object src, Boolean bCheck)&#xD;
   at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()&#xD;
   at prognoz.siv.api.EvakService.Evak.DoRequest(EvakRequest
request)</s:Text></s:Reason><s:Detail><ExceptionDetail xmlns="
http://schemas.datacontract.org/2004/07/System.ServiceModel" xmlns:i="
http://www.w3.org/2001/XMLSchema-instance"><HelpLink
i:nil="true"/><InnerException><HelpLink i:nil="true"/><InnerException
i:nil="true"/><Message>ORA-01422: exact fetch returns more than requested
number of rows
   at SyncInvokeServiceInfo(Object , Object[] , Object[] )&#xD;
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object
instance, Object[] inputs, Object[]&amp; outputs)&#xD;
   at
System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp;
rpc)&#xD;
   at
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp;
rpc)&#xD;
   at
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&amp;
rpc)&#xD;
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean
isOperationContextSet)</StackTrace><Type>System.Exception</Type></ExceptionDetail></s:Detail></s:Fault></s:Body></s:Envelope>



-- 
*Sergey Maslov*

RE: NPE in getMessageId() while receiving soap fault response

Posted by Andrei Shakirin <as...@talend.com>.
Hi Sergey,

Yes, your proposal makes sense.
MessageID is optional element in ws-addressing and this is a valid case to have non-null addressing properties without MessageID.
Could you please create an issue for that?
Patch is welcome as well :)

Regards,
Andrei.

> -----Original Message-----
> From: Sergey Maslov [mailto:therealmasel@gmail.com]
> Sent: Freitag, 25. Dezember 2015 08:03
> To: users@cxf.apache.org
> Subject: Re: NPE in getMessageId() while receiving soap fault response
> 
> Hi all!
> NPE occurs in the following line:
> return (addrProp != null) ? addrProp.getMessageID().getValue() :
> UUID.randomUUID().toString();
> 
> We have non-null addrProp, but addrProp.getMessageID() return null.
> As I understood the idea, if we have no message id, we create random UUID.
> So could this be fixed by adding messageId null check?
> 
> 
> On Thu, Dec 24, 2015 at 1:24 PM, Sergey Maslov <th...@gmail.com>
> wrote:
> 
> > Hi!
> > I call external service via CXF client and I want to log outgoing and
> > incoming messages.
> > Requests logs successfully, but I could not log response if response
> > contains SoapFault. I get NPE instead.
> > Could you help me to log the response?
> >
> > Exception and response are listed below.
> >
> > java.lang.NullPointerException: null
> >         at
> >
> org.apache.cxf.ext.logging.event.DefaultLogEventMapper.getMessageId(De
> > faultLogEventMapper.java:194)
> > ~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.ext.logging.event.DefaultLogEventMapper.map(DefaultLogE
> > ventMapper.java:61) ~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.ext.logging.LoggingInInterceptor.handleMessage(LoggingI
> > nInterceptor.java:46) ~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> > rChain.java:308)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessa
> > ge(AbstractFaultChainInitiatorObserver.java:112)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMe
> > ssage(CheckFaultInterceptor.java:69)
> > [cxf-rt-bindings-soap-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMe
> > ssage(CheckFaultInterceptor.java:34)
> > [cxf-rt-bindings-soap-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> > rChain.java:308)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleR
> e
> > sponseInternal(HTTPConduit.java:1669)
> > [cxf-rt-transports-http-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleR
> e
> > sponse(HTTPConduit.java:1550) [cxf-rt-transports-http-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(H
> T
> > TPConduit.java:1347) [cxf-rt-transports-http-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteO
> ut
> > putStream.java:56)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:215
> > )
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56
> > )
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
> > [cxf-rt-transports-http-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndi
> n
> > gInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> > rChain.java:308)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
> > [cxf-core-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
> > [cxf-rt-frontend-simple-3.1.4.jar:3.1.4]
> >         at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139
> > ) [cxf-rt-frontend-jaxws-3.1.4.jar:3.1.4]
> >         at com.sun.proxy.$Proxy142.getEvakInfo(Unknown Source) [na:na]
> >         at com.smaslov.service.Service.doLoad(LoadService.java:102)
> > [classes/:na]
> >         at
> > com.smaslov.service.Service.loadRawData(LoadService.java:91)
> > [classes/:na]
> >         at
> > com.smaslov.service.job.LoadingDataJob$1.run(LoadJob.java:53)
> > [classes/:na]
> >         at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471
> > )
> > [na:1.7.0_55]
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > [na:1.7.0_55]
> >         at
> >
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.a
> > ccess$201(ScheduledThreadPoolExecutor.java:178)
> > [na:1.7.0_55]
> >         at
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.r
> > un(ScheduledThreadPoolExecutor.java:292)
> > [na:1.7.0_55]
> >         at
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1145)
> > [na:1.7.0_55]
> >         at
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:615)
> > [na:1.7.0_55]
> >         at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
> >
> >
> > The response message:
> >
> >
> > <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
> xmlns:a="
> > http://www.w3.org/2005/08/addressing"><s:Header><a:Action
> > s:mustUnderstand="1">
> >
> http://schemas.microsoft.com/net/2005/12/windowscommunicationfounda
> tio
> > n/dispatcher/fault</a:Action><a:RelatesTo>urn:uuid:6cc79b4c-d097-4270-
> > a153-
> e40d008cfbc1</a:RelatesTo></s:Header><s:Body><s:Fault><s:Code><s:
> > Value>s:Receiver</s:Value><s:Subcode><s:Value
> > xmlns:a="
> >
> http://schemas.microsoft.com/net/2005/12/windowscommunicationfounda
> tio
> > n/dispatcher">a:InternalServiceFault</s:Value></s:Subcode></s:Code><s:
> > Reason><s:Text
> > xml:lang="ru-RU">ORA-01422: exact fetch returns more than requested
> > number of rows
> > ORA-06512: at "SCHEMA.TBL", line 115
> > ORA-06512: at line 1    at
> > Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32
> > errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx*
> > pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)&#xD;
> >    at Oracle.DataAccess.Client.OracleException.HandleError(Int32
> > errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx,
> > OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)&#xD;
> >    at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()&#xD;
> >    at prognoz.siv.api.EvakService.Evak.DoRequest(EvakRequest
> > request)</s:Text></s:Reason><s:Detail><ExceptionDetail xmlns="
> > http://schemas.datacontract.org/2004/07/System.ServiceModel" xmlns:i="
> > http://www.w3.org/2001/XMLSchema-instance"><HelpLink
> > i:nil="true"/><InnerException><HelpLink i:nil="true"/><InnerException
> > i:nil="true"/><Message>ORA-01422: exact fetch returns more than
> > requested number of rows
> >    at SyncInvokeServiceInfo(Object , Object[] , Object[] )&#xD;
> >    at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object
> > instance, Object[] inputs, Object[]&amp; outputs)&#xD;
> >    at
> >
> System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(M
> e
> > ssageRpc&amp;
> > rpc)&#xD;
> >    at
> >
> System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessa
> ge
> > 5(MessageRpc&amp;
> > rpc)&#xD;
> >    at
> >
> System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessa
> ge
> > 1(MessageRpc&amp;
> > rpc)&#xD;
> >    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean
> >
> isOperationContextSet)</StackTrace><Type>System.Exception</Type></Ex
> ce
> > ptionDetail></s:Detail></s:Fault></s:Body></s:Envelope>
> >
> >
> >
> > --
> > *Sergey Maslov*
> >
> >
> >
> 
> 
> --
> *Sergey Maslov*

Re: NPE in getMessageId() while receiving soap fault response

Posted by Sergey Maslov <th...@gmail.com>.
Hi all!
NPE occurs in the following line:
return (addrProp != null) ? addrProp.getMessageID().getValue() :
UUID.randomUUID().toString();

We have non-null addrProp, but addrProp.getMessageID() return null.
As I understood the idea, if we have no message id, we create random UUID.
So could this be fixed by adding messageId null check?


On Thu, Dec 24, 2015 at 1:24 PM, Sergey Maslov <th...@gmail.com>
wrote:

> Hi!
> I call external service via CXF client and I want to log outgoing and
> incoming messages.
> Requests logs successfully, but I could not log response if response
> contains SoapFault. I get NPE instead.
> Could you help me to log the response?
>
> Exception and response are listed below.
>
> java.lang.NullPointerException: null
>         at
> org.apache.cxf.ext.logging.event.DefaultLogEventMapper.getMessageId(DefaultLogEventMapper.java:194)
> ~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.ext.logging.event.DefaultLogEventMapper.map(DefaultLogEventMapper.java:61)
> ~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.ext.logging.LoggingInInterceptor.handleMessage(LoggingInInterceptor.java:46)
> ~[cxf-rt-features-logging-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:112)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
> [cxf-rt-bindings-soap-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
> [cxf-rt-bindings-soap-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1669)
> [cxf-rt-transports-http-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1550)
> [cxf-rt-transports-http-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1347)
> [cxf-rt-transports-http-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:215)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
> [cxf-rt-transports-http-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
> [cxf-core-3.1.4.jar:3.1.4]
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
> [cxf-core-3.1.4.jar:3.1.4]
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
> [cxf-core-3.1.4.jar:3.1.4]
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
> [cxf-core-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
> [cxf-rt-frontend-simple-3.1.4.jar:3.1.4]
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
> [cxf-rt-frontend-jaxws-3.1.4.jar:3.1.4]
>         at com.sun.proxy.$Proxy142.getEvakInfo(Unknown Source) [na:na]
>         at com.smaslov.service.Service.doLoad(LoadService.java:102)
> [classes/:na]
>         at com.smaslov.service.Service.loadRawData(LoadService.java:91)
> [classes/:na]
>         at com.smaslov.service.job.LoadingDataJob$1.run(LoadJob.java:53)
> [classes/:na]
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> [na:1.7.0_55]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> [na:1.7.0_55]
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
> [na:1.7.0_55]
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
> [na:1.7.0_55]
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> [na:1.7.0_55]
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> [na:1.7.0_55]
>         at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
>
>
> The response message:
>
>
> <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="
> http://www.w3.org/2005/08/addressing"><s:Header><a:Action
> s:mustUnderstand="1">
> http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher/fault</a:Action><a:RelatesTo>urn:uuid:6cc79b4c-d097-4270-a153-e40d008cfbc1</a:RelatesTo></s:Header><s:Body><s:Fault><s:Code><s:Value>s:Receiver</s:Value><s:Subcode><s:Value
> xmlns:a="
> http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</s:Value></s:Subcode></s:Code><s:Reason><s:Text
> xml:lang="ru-RU">ORA-01422: exact fetch returns more than requested number
> of rows
> ORA-06512: at "SCHEMA.TBL", line 115
> ORA-06512: at line 1    at
> Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,
> OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx,
> Object src, String procedure, Boolean bCheck)&#xD;
>    at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode,
> OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx*
> pOpoSqlValCtx, Object src, Boolean bCheck)&#xD;
>    at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()&#xD;
>    at prognoz.siv.api.EvakService.Evak.DoRequest(EvakRequest
> request)</s:Text></s:Reason><s:Detail><ExceptionDetail xmlns="
> http://schemas.datacontract.org/2004/07/System.ServiceModel" xmlns:i="
> http://www.w3.org/2001/XMLSchema-instance"><HelpLink
> i:nil="true"/><InnerException><HelpLink i:nil="true"/><InnerException
> i:nil="true"/><Message>ORA-01422: exact fetch returns more than requested
> number of rows
>    at SyncInvokeServiceInfo(Object , Object[] , Object[] )&#xD;
>    at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object
> instance, Object[] inputs, Object[]&amp; outputs)&#xD;
>    at
> System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp;
> rpc)&#xD;
>    at
> System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp;
> rpc)&#xD;
>    at
> System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&amp;
> rpc)&#xD;
>    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean
> isOperationContextSet)</StackTrace><Type>System.Exception</Type></ExceptionDetail></s:Detail></s:Fault></s:Body></s:Envelope>
>
>
>
> --
> *Sergey Maslov*
>
>
>


-- 
*Sergey Maslov*