Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-4342

javax.xml.soap.SOAPException: org.apache.axis2.AxisFault: Mapping qname not fond for the package: org.apache.axis2.saaj

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 1.4.1
    • None
    • saaj
    • None
    • Ubuntu 8.10 (Linux Kernel: 2.6.27-11-generic), jdk1.6.0_10, axis2-1.4.1, apache-tomcat-6.0.16

    Description

      Hi!
      I do not know if here is the good place to post this message. Please, I need help

      I'm making a JAX-WS Web Service. The service must return a .ZIP file. I thus use the SAAJ API.

      I deployed the service using Eclipse Plugin Axis2 Code Service Archiver, and stored it in axis2's repository in /CATALINA_HOME/webapps/axis2/WEB-INF/services

      HERE IS THE SERVICE'S CODE:

      /**

      • */
        package dialogue;

      import java.io.InputStream;
      import java.net.MalformedURLException;
      import java.net.URL;
      import java.util.ArrayList;
      import java.util.Collection;
      import java.util.Iterator;

      import javax.activation.DataHandler;
      import javax.jws.WebMethod;
      import javax.jws.WebParam;
      import javax.jws.WebService;
      import javax.swing.JOptionPane;
      import javax.xml.namespace.QName;
      import javax.xml.soap.AttachmentPart;
      import javax.xml.soap.MessageFactory;
      import javax.xml.soap.SOAPBody;
      import javax.xml.soap.SOAPBodyElement;
      import javax.xml.soap.SOAPConstants;
      import javax.xml.soap.SOAPElement;
      import javax.xml.soap.SOAPEnvelope;
      import javax.xml.soap.SOAPException;
      import javax.xml.soap.SOAPHeader;
      import javax.xml.soap.SOAPMessage;
      import javax.xml.soap.SOAPPart;

      /**

      • @author root
      • @since Mercredi 06 Mai 2009 11:27
      • @version 1.0
        */

      @WebService
      public class FileService {
      private String fileName = null;
      private MessageFactory messageFactory = null;
      private SOAPMessage message = null;
      private SOAPPart part = null;
      private SOAPEnvelope envelope = null;
      private SOAPHeader header = null;
      private SOAPBody body = null;
      private QName name = null;
      private SOAPBodyElement soapBodyElement = null;
      private QName nameContenu = null;
      private SOAPElement soapElement = null;
      private AttachmentPart attachmentPart = null;
      private Collection<String> collection = null;

      public FileService() {
      }

      /**

      • @param filesToGet
      • @return
        */
        @WebMethod
        public SOAPMessage recupererFile(@WebParam(name="filesToGet") String fileToGet){

      dialFiles = new DialFiles();

      dialFiles.setFileToGet(fileToGet);
      try

      { fileName = dialFiles.returnRequestedFileName(); }

      catch (Exception e1)

      { e1.printStackTrace(); //send SOAPFault }

      try

      { messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL); message = messageFactory.createMessage(); part = message.getSOAPPart(); envelope = part.getEnvelope(); header = envelope.getHeader(); header.detachNode(); body = envelope.getBody(); name = new QName("http://dialogue","Thanx", "rm"); soapBodyElement = body.addBodyElement(name); nameContenu = new QName("speech"); soapElement = soapBodyElement.addChildElement(nameContenu); soapElement.addTextNode("Thank u!"); URL url = new URL("file:////temp/"+fileName); DataHandler dataHandler = new DataHandler(url); attachmentPart = message.createAttachmentPart(dataHandler); attachmentPart.setContentId("attached_file"); message.addAttachmentPart(attachmentPart); }

      catch (SOAPException e)

      { e.printStackTrace(); //send SOAPFault }catch (MalformedURLException e) { e.printStackTrace(); //send SOAPFault }

      return message;
      }
      }

      HERE IS THE CLIENT'S CODE:

      package client;

      import java.io.FileNotFoundException;
      import java.io.FileOutputStream;
      import java.io.IOException;
      import java.io.InputStream;
      import java.net.MalformedURLException;
      import java.net.URL;
      import java.util.Iterator;

      import javax.xml.namespace.QName;
      import javax.xml.soap.AttachmentPart;
      import javax.xml.soap.MessageFactory;
      import javax.xml.soap.SOAPBody;
      import javax.xml.soap.SOAPBodyElement;
      import javax.xml.soap.SOAPConnection;
      import javax.xml.soap.SOAPConnectionFactory;
      import javax.xml.soap.SOAPElement;
      import javax.xml.soap.SOAPException;
      import javax.xml.soap.SOAPFault;
      import javax.xml.soap.SOAPHeader;
      import javax.xml.soap.SOAPMessage;

      /**

      • @author root
      • @since Vendredi 08 Mai 2009 23:08
      • @version 1.0
        */
        public class ClasseCliente {
        private SOAPConnectionFactory soapConnectionFactory = null;
        private SOAPConnection soapConnection = null;
        private MessageFactory messageFactory = null;
        private SOAPMessage soapMessage = null;
        private SOAPHeader soapHeader = null;
        private SOAPBody soapBody = null;
        private QName bodyName = null;
        private SOAPBodyElement soapBodyElement = null;
        private QName name = null;
        private SOAPElement soapElement = null;
        private URL endpointUrl = null;
        private SOAPMessage reponse = null;
        private AttachmentPart attachmentPartReponse = null;
        private SOAPBody soapBodyreponse = null;
        private Iterator<SOAPBodyElement> iterator = null;
        private SOAPBodyElement soapBodyElementReponse = null;
        private String contenuReponse = null;
        private Iterator<AttachmentPart> iterator2 = null;

      public void recupererFile(){
      try {
      soapConnectionFactory = SOAPConnectionFactory.newInstance();
      soapConnection = soapConnectionFactory.createConnection();
      messageFactory = MessageFactory.newInstance();
      soapMessage = messageFactory.createMessage();
      soapHeader = soapMessage.getSOAPHeader();
      soapHeader.detachNode();
      soapBody = soapMessage.getSOAPBody();

      bodyName = new QName("http://dialogue", "recupererFile", "rm");
      soapBodyElement = soapBody.addBodyElement(bodyName);

      name = new QName("FileName");
      soapElement = soapBodyElement.addChildElement(name);
      soapElement.addTextNode("MyFile-1.1");

      try

      { endpointUrl = new URL("http://localhost:8080/axis2/services/ServiceEntrepotService"); }

      catch (MalformedURLException e)

      { e.printStackTrace(); }

      soapMessage = soapConnection.call(soapMessage, endpointUrl);
      soapConnection.close();

      soapBody = soapMessage.getSOAPBody();
      if(soapBody.hasFault()){
      System.out.println("There's a fault!");
      SOAPFault faute = soapBody.getFault();
      QName code = faute.getFaultCodeAsQName();
      String stringFaute = faute.getFaultString();
      String actor = faute.getFaultActor();
      System.out.println("Fault content:");
      System.out.println("Code: "+code.toString());
      System.out.println("Local name: "+code.getLocalPart());
      System.out.println("Namespace Prefix= "code.getPrefix()", bound to "+code.getNamespaceURI());
      System.out.println("Fault String: "+stringFaute);
      if(actor!=null)

      { System.out.println("Actor: "+actor); }

      }
      iterator = soapBody.getChildElements();
      while(iterator.hasNext())

      { System.out.println("Message:"); soapBodyElement = iterator.next(); System.out.println(soapBodyElement.getNodeName()); contenuReponse = soapBodyElement.getValue(); System.out.println("The message is: "+contenuReponse); }

      iterator2 = soapMessage.getAttachments();
      while(iterator2.hasNext()){
      attachmentPartReponse = iterator2.next();
      String id = attachmentPartReponse.getContentId();
      System.out.println("Attachment's Content ID: "+id);
      String type = attachmentPartReponse.getContentType();
      System.out.println("Attachment's Content Type: "+type);
      InputStream theFileRequested = (InputStream)attachmentPartReponse.getContent();
      Integer nb =null;
      try

      { nb = theFileRequested.available(); }

      catch (IOException e1)

      { e1.printStackTrace(); }

      byte[] b = null ;
      try

      { FileOutputStream fileOutputStream = new FileOutputStream("/root"); fileOutputStream.write(theFileRequested.read(b, 0, nb)); }

      catch (FileNotFoundException e)

      { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

      }
      } catch (UnsupportedOperationException e)

      { e.printStackTrace(); } catch (SOAPException e) { e.printStackTrace(); }

      }

      public static void main(String[] args)

      { ClasseCliente classeCliente = new ClasseCliente(); classeCliente.recupererFile(); }

      }

      I GET THIS EXCEPTION when I execute The client:

      javax.xml.soap.SOAPException: org.apache.axis2.AxisFault: Mapping qname not fond for the package: org.apache.axis2.saaj
      at org.apache.axis2.saaj.SOAPConnectionImpl.handleSOAPMessage(SOAPConnectionImpl.java:194)
      at org.apache.axis2.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:130)
      at client.ClasseCliente.recupererFile(ClasseCliente.java:77)
      at client.ClasseCliente.main(ClasseCliente.java:145)
      Caused by: org.apache.axis2.AxisFault: org.apache.axis2.AxisFault: Mapping qname not fond for the package: org.apache.axis2.saaj
      at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
      at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
      at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
      at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
      at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
      at org.apache.axis2.saaj.SOAPConnectionImpl.handleSOAPMessage(SOAPConnectionImpl.java:188)
      ... 3 more

      Whitch qname is missing? where to find it?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dinoo dinoo
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: