Hi,

we implemented a webservice under Geronimo using CXF. We transmit almost 
identical data e.g. 4 times. 3 times everything works fine, but in one 
case we get the following error:

com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to get header stream 
in saveChanges
(full stack trace further down)

When we uncomment the( WS-Security-Stuff) following client code:

//              org.apache.cxf.endpoint.Endpoint cxfEndpoint = 
client.getEndpoint();
//              Map<String,Object> outProps = new 
HashMap<String,Object>();
//              outProps.put(WSHandlerConstants.ACTION, 
WSHandlerConstants.USERNAME_TOKEN 
//                              + " " + WSHandlerConstants.SIGNATURE);

//              outProps.put(WSHandlerConstants.USER, "system");
//              outProps.put(WSHandlerConstants.PASSWORD_TYPE, 
WSConstants.PW_DIGEST);
//              outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, 
ClientPasswordCallback.class.getName());
//              outProps.put(WSHandlerConstants.SIG_PROP_FILE, 
"client_sign.properties");
//
//
//              WSS4JOutInterceptor wssOut = new 
WSS4JOutInterceptor(outProps);
//              cxfEndpoint.getOutInterceptors().add(wssOut);
//              cxfEndpoint.getOutInterceptors().add(new 
SAAJOutInterceptor()); // 2.0.x only; not needed in 2.1+

everything works fine. We tried more than 3000 calls without any error.

 Any ideas ??


------Geworfene Exception(s): javax.xml.ws.soap.SOAPFaultException: 
SOAPEXCEPTION
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:175)
$Proxy292.getData(Unknown Source)
mypath.ws.SourceReadWSClientImpl.callWebservice(SourceReadWSClientImpl.java:360)
mypath.ws.SourceReadWSClientImpl.leseDatenbestand(SourceReadWSClientImpl.java:144)
mypath.schedule.SourceReadWSQuartzJob.execute(SourceReadWSQuartzJob.java:36)
org.quartz.core.JobRunShell.run(JobRunShell.java:202)
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:531)
------Geworfene Exception(s): org.apache.cxf.binding.soap.SoapFault: 
SOAPEXCEPTION
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:122)
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:103)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
$Proxy292.getData(Unknown Source)
mypath.ws.SourceReadWSClientImpl.callWebservice(SourceReadWSClientImpl.java:360)
mypath.ws.SourceReadWSClientImpl.leseDatenbestand(SourceReadWSClientImpl.java:144)
mypath.schedule.SourceReadWSQuartzJob.execute(SourceReadWSQuartzJob.java:36)
org.quartz.core.JobRunShell.run(JobRunShell.java:202)
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:531)
------Geworfene Exception(s): 
com.sun.xml.messaging.saaj.SOAPExceptionImpl: Error during saving a 
multipart message
com.sun.xml.messaging.saaj.soap.MessageImpl.saveChanges(MessageImpl.java:1126)
com.sun.xml.messaging.saaj.soap.MessageImpl.writeTo(MessageImpl.java:1218)
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:116)
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:103)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
$Proxy292.getData(Unknown Source)
mypath.ws.SourceReadWSClientImpl.callWebservice(SourceReadWSClientImpl.java:360)
mypath.ws.SourceReadWSClientImpl.leseDatenbestand(SourceReadWSClientImpl.java:144)
mypath.schedule.SourceReadWSQuartzJob.execute(SourceReadWSQuartzJob.java:36)
org.quartz.core.JobRunShell.run(JobRunShell.java:202)
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:531)
------Geworfene Exception(s): 
com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to get header stream 
in saveChanges: 
com.sun.xml.messaging.saaj.soap.MessageImpl.saveChanges(MessageImpl.java:1096)
com.sun.xml.messaging.saaj.soap.MessageImpl.writeTo(MessageImpl.java:1218)
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:116)
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:103)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
$Proxy292.getData(Unknown Source)
mypath.ws.SourceReadWSClientImpl.callWebservice(SourceReadWSClientImpl.java:360)
mypath.ws.SourceReadWSClientImpl.leseDatenbestand(SourceReadWSClientImpl.java:144)
mypath.schedule.SourceReadWSQuartzJob.execute(SourceReadWSQuartzJob.java:36)
org.quartz.core.JobRunShell.run(JobRunShell.java:202)
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:531)
------Geworfene Exception(s): java.io.IOException: 
org.apache.xml.serializer.ToXMLSAXHandler
com.sun.xml.messaging.saaj.soap.impl.EnvelopeImpl.output(EnvelopeImpl.java:298)
com.sun.xml.messaging.saaj.soap.impl.EnvelopeImpl.output(EnvelopeImpl.java:309)
com.sun.xml.messaging.saaj.soap.SOAPPartImpl.getContentAsStream(SOAPPartImpl.java:305)
com.sun.xml.messaging.saaj.soap.MessageImpl.getHeaderBytes(MessageImpl.java:942)
com.sun.xml.messaging.saaj.soap.MessageImpl.saveChanges(MessageImpl.java:1093)
com.sun.xml.messaging.saaj.soap.MessageImpl.writeTo(MessageImpl.java:1218)
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:116)
mypackage.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:103)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
$Proxy292.getData(Unknown Source)
mypath.ws.SourceReadWSClientImpl.callWebservice(SourceReadWSClientImpl.java:360)
mypath.ws.SourceReadWSClientImpl.leseDatenbestand(SourceReadWSClientImpl.java:144)
mypath.schedule.SourceReadWSQuartzJob.execute(SourceReadWSQuartzJob.java:36)
org.quartz.core.JobRunShell.run(JobRunShell.java:202)
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:531)

- Josef

BGS Beratungsgesellschaft 
Software Systemplanung AG 
  
  
  
  
Niederlassung Rhein/Main 
Robert-Koch-Straße 41 
55129 Mainz 
Fon: +49 (0) 6131 / 914-0 
Fax: +49 (0) 6131 / 914-400 
www.bgs-ag.de 
Geschäftssitz Mainz 
Registergericht 
Amtsgericht Mainz 
HRB 62 50 
  
Aufsichtsratsvorsitzender 
Klaus Hellwig 
Vorstand 
Hanspeter Gau 
Hermann Kiefer 
Nils Manegold 


  

Reply via email to