You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Paul Jamason <pj...@gpsmail.ucsd.edu> on 2005/08/19 22:21:12 UTC
attachment problem: no carriage return before content-type
Hi,
I'm running the attachments sample found in the Axis 1.2
samples/attachments directory. I'm able to successfully execute the
client on the host that the service resides on. However, when I
run the client on another host (all axis and supplemental jars
are in the classpath, including activation.jar and mail.jar), the
following error is shown in the apache catalina.out log:
In echo
Received "javax.activation.DataHandler".
In echo
Received "javax.activation.DataHandler".
- InvocationTargetException:
java.lang.reflect.InvocationTargetException
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.axis.Message.setup(Message.java:341)
at org.apache.axis.Message.<init>(Message.java:232)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:628)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: Error reading data stream: Error in MIME data stream,
start boundary not found, expected:
------=_Part_0_23886295.1124479565789
at
org.apache.axis.attachments.MultiPartRelatedInputStream.<init>(MultiPartRelatedInputStream.java:339)
at
org.apache.axis.attachments.AttachmentsImpl.<init>(AttachmentsImpl.java:111)
... 36 more
>From tcpmon, I see the problem: there's no carriage return before
"Content-type" in the soap header:
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><echo xmlns=""><source href="cid:6AADE35DF8C361C9F4726A3017B7CFA1"
xmlns=""/></echo></soapenv:Body></soapenv:Envelope>------=_Part_0_21479899.1124481915585Content-Type: text/plain
Executing the client on the service host results in a carriage
return before "Content-type", and thus no error.
This problem is discussed on sourceforge in a perl SOAP::Mime context:
http://sourceforge.net/tracker/index.php?func=detail&aid=685570&group_id=71173&atid=530394
I can post the source code if necessary. Is there anything I can
add to the client to force a carriage return above, assuming this is
not a classpath/jar issue?
Thanks,
Paul
-----------------------------------------------------------------
Paul Jamason
Programmer/Analyst
Scripps Orbit and Permanent Array Center (http://sopac.ucsd.edu)
California Spatial Reference Center (http://csrc.ucsd.edu)
Institute of Geophysics and Planetary Physics
Scripps Institution of Oceanography
University of California, San Diego work: 858-822-4472
9500 Gilman Dr. cell: 619-961-7260
La Jolla, CA 92093-0225 fax: 858-534-9873
-----------------------------------------------------------------