Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > ошибка Client.NoSOAPAction


Автор: Samotnik 12.3.2008, 00:02
Вылезает ошибка, не наю че делать ((    Tomcat  говорит Client.NoSOAPAction 
А  IDEA 
Цитата

Exception in thread "main" java.lang.ClassCastException: com.sun.xml.internal.messaging.saaj.soap.impl.TextImpl cannot be cast to javax.xml.soap.SOAPBodyElement

В сторке 28
Код

public class StoreMessage {

    static String fileXml;
    static SOAPMessage reqMess,respMess;


  public void createSOAPRequest() throws SOAPException, TransformerException {
    MessageFactory factory = MessageFactory.newInstance();
        reqMess = factory.createMessage();
        SOAPPart soapPart = reqMess.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPHeader header = envelope.getHeader();
            SOAPBody body = envelope.getBody();
            header.detachNode();
            Name bodyName = envelope.createName("GetFile");
        SOAPBodyElement bodyElement = body.addBodyElement(bodyName);


        Name name = envelope.createName("file");
        SOAPElement fileName = bodyElement.addChildElement(name);
        fileName.addTextNode(fileXml);

    }
        public static void displayMessage(SOAPMessage mess) throws    SOAPException{

        SOAPBody body = mess.getSOAPBody();
         Iterator it = body.getChildElements();
         SOAPBodyElement bodyElement = (SOAPBodyElement)it.next();   // вот тута 
         System.out.println(bodyElement);
    }
    public void start(){

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
                 System.out.println("Enter the file XML:");
                fileXml = br.readLine();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
        public static void main(String[] args) throws SOAPException,MalformedURLException, TransformerException {

     StoreMessage client = new StoreMessage();
         client.start();
         client.createSOAPRequest();

         SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
              SOAPConnection connection = soapConnectionFactory.createConnection();

              URL endpoint = new URL("http://localhost:8080/axis/services/StoreService");
                       
               respMess = connection.call(reqMess, endpoint);

             displayMessage(respMess);
    }
}

Автор: Samotnik 12.3.2008, 02:17
Вот прикол !!!!
У меня стоит  6-й   ждк, поэтому  не работало!     Поставил 5-й   и все зарабоало !! 
Вред, как это  возможно ??   Ведь,  должно  быть наоборот! 

Автор: Djek 27.7.2009, 10:58
у меня тож на 6 ждк, такая ошибка вылезает, а на 4 работает smile 
....кто-нить знает в чём прикол??? 

Код

MessageFactory mf = MessageFactory.newInstance();
            SOAPMessage resp =
                mf.createMessage(
                    null,
                    new ByteArrayInputStream(xml_doc.getBytes("utf-8")));
            SOAPEnvelope env = resp.getSOAPPart().getEnvelope();
                                                SOAPHeader header = env.getHeader();
            for (it = header.getChildElements(); it.hasNext();) {
                headerElm = (SOAPElement) it.next();
                elemname = headerElm.getElementName().getLocalName();
                                                }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)