Hello,

Actually we are getting correct response with Axis2 1.4.1

we are sending an xml file and receiving xml with attachment .

And that attachment is retrieving using this code


            Attachments attachments = _returnMessageContext.getAttachmentMap();
            List contentIDList = attachments.getContentIDList();
            String[] idList = attachments.getAllContentIDs();
            DataHandler pdfDataHandler;

            for (int i = 0; i < idList.length; i++)
                {
                    String temp = idList[i];
                    pdfDataHandler = _returnMessageContext.getAttachment(temp);
                    File xmlFile = null;

                    File pdfFile = null;

                    if (i == 0)
                    {
                        fileName = fileDir + timeStamp + ".xml";
                        xmlFile = new File(fileName);
                        FileOutputStream outputStream;
                        outputStream = new FileOutputStream(xmlFile);
                        pdfDataHandler.writeTo(outputStream);
                        outputStream.flush();
                        outputStream.close();

                    }
                    else
                    {
                        String type = "";
                        type = temp.substring(0, temp.indexOf("="));
                        fileName = fileDir +  "_" + type + "_" + timeStamp + ".pdf";
                        pdfFile = new File(fileName);
                        ByteArrayOutputStream byte1 = new ByteArrayOutputStream();
                        pdfDataHandler.writeTo(byte1);
                        FileOutputStream outputStream;
                        outputStream = new FileOutputStream(pdfFile);
                        Base64 decoder = new Base64();
                        byte[] decoded_data = decoder.decode(byte1.toString());
                        outputStream.write(decoded_data);
                        outputStream.flush();
                        outputStream.close();

                    }
                }



On 07/20/2018 10:42 AM, viji.mv wrote:

Hello,

In client side we are just sending a request xml , not with any attachment, From server side when response comes, there will be attachments.

So should we set the mime type from client side itself?

Thank you very much for your help. i will check with samples at https://axis.apache.org/axis2/java/core/docs/mtom-guide.html <https://axis.apache.org/axis2/java/core/docs/mtom-guide.html>



Thanks

Regards

Viji


On 07/19/2018 10:15 PM, robertlazarski wrote:


On Wed, Jul 18, 2018 at 8:02 AM, robertlazarski <robertlazar...@gmail.com <mailto:robertlazar...@gmail.com>> wrote:



    On Wed, Jul 18, 2018 at 8:01 AM, robertlazarski
    <robertlazar...@gmail.com <mailto:robertlazar...@gmail.com>> wrote:



        On Wed, Jul 18, 2018 at 7:54 AM, viji.mv <http://viji.mv>
        <viji...@beo.in <mailto:viji...@beo.in>> wrote:


            Hi,

            I am running axis client using axis2 version 1.7.8 and
            getting following
            error.

            It is found that type is null

            org.apache.axis2.AxisFault
                at
            org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
                at
            
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:122)
                at
            
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:66)
                at
            
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:347)
                at
            
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:414)
                at
            
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
                at
            
org.apache.axis2.client.OperationClient.execute(OperationClient.java:150)
                at
            
edecwebservice171.EdecServiceStub.goodsDeclarations(EdecServiceStub.java:490)
                at edecwebservice171.Test.main(Test.java:86)
            Caused by: java.lang.NullPointerException
                at



Please post to the list.

Best I can tell from the attached xml and these headers sent to my gmail account, you are using SWA for an attachment however these headers are missing the mime type aka media type.

It should look like this example from the docs, type="text/xml" :

https://axis.apache.org/axis2/java/core/docs/mtom-guide.html <https://axis.apache.org/axis2/java/core/docs/mtom-guide.html>
Content-Type: multipart/related; type="text/xml";
           start="<9D645C8EBB837CE54ABD027A3659535D>";
                 boundary="----=_Part_0_1977511.1123163571138"


The docs from the link above show some code for creating the mime type. I 
suggest starting there and if you still have problems, paste your entire client 
code.



            
org.apache.axis2.builder.MIMEBuilder.processDocument(MIMEBuilder.java:72)
                at
            
org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:203)
                at
            
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:144)
                at
            
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:107)


            Any help is appreciated.



            Thanks,

            Viji M V





            
---------------------------------------------------------------------
            To unsubscribe, e-mail:
            java-dev-unsubscr...@axis.apache.org
            <mailto:java-dev-unsubscr...@axis.apache.org>
            For additional commands, e-mail:
            java-dev-h...@axis.apache.org
            <mailto:java-dev-h...@axis.apache.org>


        Here's the source that is failing in MIMEBuilder.java, the
        quickest way to debug would be to compile from source and see
        what is null here:

         return
        builder.processDocument(attachments.getRootPartInputStream(false),
                            type, msgContext);

        Best regards,
        Robert


    Ah you said type is null.

       String type = ct.getParameter("type");

    That is content type. Maybe the request doesn't include it?




Reply via email to