Hi all,

i deploy a message level service that receive a SOAPMessage and works fine
until i send a message with attachment:

18:37:13,026 ERROR [STDERR] 15-ott-2007 18.37.13
com.sun.xml.messaging.saaj.soap.EnvelopeFactory createEnvelope
GRAVE: SAAJ0511: Unable to create envelope from given source
18:37:13,028 ERROR [STDERR] 15-ott-2007 18.37.13
org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unable to create envelope from given
source: 
        at
org.apache.cxf.jaxws.interceptors.DispatchInDatabindingInterceptor$PostDispatchSOAPHandlerInterceptor.handleMessage(DispatchInDatabindingInterceptor.java:191)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
        at
org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79)
        at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:235)
        at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:140)
        at
org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:278)
        at
org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:256)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
        at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
        at java.lang.Thread.run(Thread.java:595)
Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to create
envelope from given source: 
        at
com.sun.xml.messaging.saaj.soap.EnvelopeFactory.createEnvelope(EnvelopeFactory.java:114)
        at
com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.createEnvelopeFromSource(SOAPPart1_1Impl.java:71)
        at
com.sun.xml.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:125)
        at
org.apache.cxf.jaxws.interceptors.DispatchInDatabindingInterceptor$PostDispatchSOAPHandlerInterceptor.handleMessage(DispatchInDatabindingInterceptor.java:189)
        ... 28 more
Caused by: javax.xml.transform.TransformerException:
org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:501)
        at
com.sun.xml.messaging.saaj.util.transform.EfficientStreamingTransformer.transform(EfficientStreamingTransformer.java:390)
        at
com.sun.xml.messaging.saaj.soap.EnvelopeFactory.createEnvelope(EnvelopeFactory.java:102)
        ... 31 more
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1269)
        at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)




this is the client:

package org.openspcoop.test.client;

import java.net.URL;

import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPFactory;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.AttachmentPart;



public class Attachment {
        
        public static void main(String[] args){
                try{
                        SOAPFactory soapFac = SOAPFactory.newInstance();
                        MessageFactory msgFac = MessageFactory.newInstance();
                        SOAPConnectionFactory conFac = 
SOAPConnectionFactory.newInstance();
                        SOAPMessage msg = msgFac.createMessage();
                        
msg.getSOAPBody().addChildElement(soapFac.createElement("Test"));
                        AttachmentPart ap1 = msg.createAttachmentPart();
                    ap1.setContent("Attachment content", "text/plain");
                    msg.addAttachmentPart(ap1);
                    msg.writeTo(System.out);
                        
                        SOAPConnection con = conFac.createConnection();
                        URL endpoint = new URL("http://localhost:8080/CFX/PD";);
                        SOAPMessage response = con.call(msg, endpoint); 
                        
                        response.writeTo(System.out);
                        
                }
                catch(Exception e){
                        System.out.println("Ouch!!!! "+e.toString());
                }
        }

}



This is the service:





package org.openspcoop.pdd.services;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;

import javax.annotation.Resource;
import javax.xml.soap.MimeHeader;
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.Provider;
import javax.xml.ws.ServiceMode;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.WebServiceProvider;
import javax.xml.ws.Service.Mode;
@Resource 



@ServiceMode(value=Mode.MESSAGE)
@WebServiceProvider


public class RicezioneContenutiApplicativiWS implements
Provider<SOAPMessage>{
        WebServiceContext wsContext;
        
        public SOAPMessage invoke(SOAPMessage request){
                try{
                        System.out.println("Test write resume");
                        System.out.println("SOAPMessage class : " +
request.getClass().getName());
                        
                        File file = new File("/home/cencio/SOAPMessage.msg");
                        FileOutputStream fos = new FileOutputStream(file);
                        request.writeTo(fos);
                        fos.close();
                        
                        Iterator it = request.getMimeHeaders().getAllHeaders();
                        while(it.hasNext()){
                                MimeHeader mh = (MimeHeader) it.next();
                                System.out.println("Header >> " + mh.getName() 
+ " : " + mh.getValue());
                        }
                }
                catch(Exception e){
                        System.out.println("Qualcosa รจ andato storto!! : " + 
e.toString());
                }
                return request;
        }
}




I really need some help -.-

Thx!

-- 
View this message in context: 
http://www.nabble.com/SOAPMessage-with-Attachment-service-problems-tf4628726.html#a13216625
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to