客户端发送了一个soap给servlet,servlet给客户端返回soap时老是出问题,用了各种办法,请大家帮帮忙,多谢了服务器端代码
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("application/soap+xml;charset=UTF-8");
        MessageFactory factory;
        try {
            factory = MessageFactory.newInstance();
            SOAPMessage r = factory.createMessage(getMimeHeaders(request), request.getInputStream());            SOAPBody sb = r.getSOAPBody();
            System.out.println("==" + sb.getAttribute("sss"));
            SOAPMessage back = factory.createMessage();
            SOAPBody soa = back.getSOAPBody();
            //soa.addAttribute(new QName("xxx"), "sdfsdfs");
           
            back.writeTo(response.getOutputStream());
            
        } catch (SOAPException ex) {
            System.out.println("错误:"+ex.getMessage());
        }
    }
客户端代码
public class SoapClient {
public static void main(String str[]){
        SOAPConnectionFactory factory;
        try {
            factory = SOAPConnectionFactory.newInstance();
            SOAPConnection conn=factory.createConnection();
            MessageFactory mf=MessageFactory.newInstance();
            SOAPMessage soapMsg=mf.createMessage();
            SOAPBody sb=soapMsg.getSOAPBody();
            sb.addAttribute(new QName("sss"), "sssssss");
            soapMsg.setContentDescription("application/soap+xml");
            SOAPMessage resp = conn.call(soapMsg,"http://localhost:8084/SoapServlet/SoapServlet");
            
            SOAPBody ss=resp.getSOAPBody();
            System.out.println(ss.getAttribute("xxx"));
        } catch (SOAPException ex) {
            Logger.getLogger(SoapClient.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedOperationException ex) {
            Logger.getLogger(SoapClient.class.getName()).log(Level.SEVERE, null, ex);
        }

}
错误信息
javax.xml.soap.SOAPException: InputStream does not represent a valid SOAP 1.2 Message
at com.sun.xml.internal.messaging.saaj.soap.ver1_2.SOAPPart1_2Impl.createEnvelopeFromSource(SOAPPart1_2Impl.java:72)
at com.sun.xml.internal.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:135)
at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.getSOAPBody(MessageImpl.java:1345)
at soap.client.SoapClient.main(SoapClient.java:35)