Basically, the JAXM library does not insert the "start=..." element in
the top level "Content-Type" HTTP header field. Should Weblogic cope
with this, or is it not designed to work with the Sun JAXM library. I
am using the latest version of the Sun WebServices Developers Kit and,
hence, the latest version of the JAXM library. Do BEA recommend a
different client library be used to invoke Weblogic WebServices? If
so which one(s) are supported?
I have another question. Assuming I can find a client which will
deliver to Weblogic an HTTP SOAP mesage that it considers to be valid,
how do attachments get passed to the "component" class? I understand
how I could iterate through the mime segments / attachments from
within the "handler", but I don't understand how / if attachments are
passed onto the actual component class. Reading from the FAQ:
Q. Does WebLogic Server 7.0 support SOAP Messages with Attachments?
A. Yes. As long as the data type of the attachment is on the list of
supported JAX-RPC data types, then WebLogic Server will automatically
handle parameters to Web services that are SOAP attachments. If you
want to do further processing of the attachment, you can use handlers
to intercept the request and response SOAP message (which includes the
attachment.)
I get the impression that attachments are "magically" available to
code within the component, but I don't understand the actual mechanics
of this.
Any thoughts would be gratefully received.
Cheers,
Steve
javax.xml.soap.SOAPException: No start attachment specified in the
Multipart/Rel
ated document
at weblogic.webservice.core.soap.SOAPMessageImpl.handleMimeMessage(SOAPM
essageImpl.java:174)
at weblogic.webservice.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.
java:118)
at weblogic.webservice.core.soap.MessageFactoryImpl.createMessage(Messag
eFactoryImpl.java:27)
at weblogic.webservice.binding.soap.HttpServerBinding.receive(HttpServer
Binding.java:50)
at weblogic.webservice.core.DefaultWebService.invoke(DefaultWebService.j
ava:216)
at weblogic.webservice.server.servlet.ServletBase.serverSideInvoke(Servl
etBase.java:362)
at weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke
(WebServiceServlet.java:269)
at weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.jav
a:346)
at weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServic
eServlet.java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5412)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:744)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3086)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2544)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
<08-Jan-03 15:22:54 GMT> <Error> <HTTP> <101017>
<[ServletContext(id=2655643,nam
e=mms_service_05.war,context-path=/mms_service_05)] Root cause of
ServletExcepti
on
javax.xml.soap.SOAPException: No start attachment specified in the
Multipart/Rel
ated document
at weblogic.webservice.core.soap.SOAPMessageImpl.handleMimeMessage(SOAPM
essageImpl.java:174)
at weblogic.webservice.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.
java:118)
at weblogic.webservice.core.soap.MessageFactoryImpl.createMessage(Messag
eFactoryImpl.java:27)
at weblogic.webservice.binding.soap.HttpServerBinding.receive(HttpServer
Binding.java:50)
at weblogic.webservice.core.DefaultWebService.invoke(DefaultWebService.j
ava:216)
at weblogic.webservice.server.servlet.ServletBase.serverSideInvoke(Servl
etBase.java:362)
at weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke
(WebServiceServlet.java:269)
at weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.jav
a:346)
at weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServic
eServlet.java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5412)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:744)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3086)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2544)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
>