soap Web服务中多部分请求的内容类型

时间:2014-04-01 04:43:33

标签: java web-services soap content-type mime

我正在编写一个Java客户端来调用SOAP Web服务。它接受一个文件作为附件,所以在java中,我需要将内容类型声明为multipart。我正在使用apache http库来编写Java客户端

我在Java中指定了如下

  

httppost.setHeader(“Content-Type”,“multipart / related”);

但是我收到了以下错误

Couldn't create SOAP message due to exception: javax.xml.ws.WebServiceException: MIME boundary parameter not foundmultipart/related

请告诉我如何解决此错误。应该在Java中指定什么内容类型。

当我指定为

httppost.setHeader( "Content-Type", "text/xml; charset=utf-8" ); 

再次,我得到了以下异常

 Caused by: com.sun.xml.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected '<'

我应该继续哪一个以及如何解决相应的例外?

1 个答案:

答案 0 :(得分:0)

我假设您正在尝试使用MTOM + XOP?

第一个错误是明确的:你没有边界。多部分不仅仅是一个内容类型,它要求您使用必须在标题中声明的边界标记不同的部分,并要求换行等在正确的位置。

其次,如果您正在尝试执行此操作,则不能只将文件发送到SOAP端点,您需要在第一部分中使用soap body来引用第二部分中的文件。