java - 如何使用 Mtom 将 pdf 附加为soap UI 请求的一部分

标签 java spring web-services soap wsdl

我正在使用soap,作为请求的一部分,我附加了一个pdf文件。在 SOPAUI 中,我使用以下链接附加了 pdf 文件 SOAPUI DOC并按照指南启用 mtom 属性。

问题是,它甚至没有在自身之前到达服务器端点,我收到错误

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Draft//EN">
<HTML>
<HEAD>
<TITLE>Error 500--Internal Server Error</TITLE>
<META NAME="GENERATOR" CONTENT="WebLogic Server">
</HEAD>
<BODY bgcolor="white">
<FONT FACE=Helvetica><BR CLEAR=all>
<TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>
<FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 500--Internal Server Error</H2>
</FONT></TD></TR>
</TABLE>
<TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><pre>java.lang.ClassCastException: weblogic.xml.saaj.TextImpl cannot be cast to javax.xml.soap.SOAPElement
    at weblogic.xml.saaj.SOAPMessageImpl.derefMTOMAttachments(SOAPMessageImpl.java:279)
    at weblogic.xml.saaj.SOAPMessageImpl.constructMessage(SOAPMessageImpl.java:243)
    at weblogic.xml.saaj.SOAPMessageImpl.<init>(SOAPMessageImpl.java:151)
    at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:76)
    at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:63)
    at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:55)
    at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:182)
    at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:58)
    at org.springframework.ws.transport.AbstractWebServiceConnection.receive(AbstractWebServiceConnection.java:90)
    at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:86)
    at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57)
    at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:222)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
</pre></FONT></TD></TR>
</TABLE>

</BODY>
</HTML>

最佳答案

在 SOAPUI 中,将 Strip Whitespaces 切换设置为 true

关于java - 如何使用 Mtom 将 pdf 附加为soap UI 请求的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27291650/

相关文章:

java - 这个声明是什么意思?

java - 如何在年轻一代集合中找出 Activity 对象?

java - JSP trimDirectiveWhitespaces

java - 将 Groovy 与 Spring 结合使用是否会降低性能?

java - 从 PHP 向 Web 服务发送 HashMap 参数

javascript - 如何使用下拉列表中所选对象的属性自动填充文本框

java - 当我们在@Bean中创建新类,并在另一个@Bean中使用@Bean时会发生什么

spring - 使用 Tomcat 和 Spring 配置 AspectJ LTW 时遇到问题

java - 将 ksoap2 响应解析为 int 数组

python - 从我的 sql 检索数据并使用 python 将其发送到 Web 服务