Hi,
My Requirement is to receive a PDF file from a server which sends a pdf file
as an attachment. I am able to download the pdf as an attachment but not
with the correct file name. And also whenever i try to receive the PDF using
a client program, a copy of the file with .ATT attachment is stored in temp
folder. 
Can anyone help me on this ? 
I have attached the Service class, Client and WSDD.

Service Class
---------------
import java.net.MalformedURLException;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;

public class PDFAttachmentsService {

        public DataHandler sendPdfs() throws MalformedURLException {            
                DataSource ds = new FileDataSource("C:/XYZ.pdf");
                DataHandler dataHandler = new DataHandler(ds);          
                return dataHandler;
        }
}
--------------------------------------------------------------------------
Client Class
-----------
public class PDFAttachment {
        
        public static void main(String args[]) {
                try {
                        Service service = new Service();

                        Call call = (Call) service.createCall();

                        call
                                
.setTargetEndpointAddress("http://localhost:8080/axis/services/urn:PDFAttachmentsService";);

                        call.setOperationName(new 
QName("urn:PDFAttachmentsService",
                                        "sendPdfs")); 

                        QName qnameAttachment = new 
QName("urn:PDFAttachmentsService",
                                        "DataHandler");
                        call.registerTypeMapping(PDFAttachment.class, 
qnameAttachment,
                                        JAFDataHandlerSerializerFactory.class,
                                        
JAFDataHandlerDeserializerFactory.class);

                        call.setReturnType(qnameAttachment);

                        Object ret = call.invoke(new Object[] {});

                        if (null == ret) {
                                System.out.println("Received null ");
                                throw new AxisFault("", "Received null", null, 
null);
                        }

                        if (ret instanceof String) {
                                System.out.println("Received problem response 
from server: "
                                                + ret);
                                throw new AxisFault("", (String) ret, null, 
null);
                        }

                        if (!(ret instanceof DataHandler)) {
                                // The wrong type of object that what was 
expected.
                                System.out.println("Received problem response 
from server:"
                                                + ret.getClass().getName());
                                throw new AxisFault("",
                                                "Received problem response from 
server:"
                                                                + 
ret.getClass().getName(), null, null);

                        }

                        DataHandler rdh = (DataHandler) ret;
                        FileOutputStream outputStream = new 
FileOutputStream("D:/CopiedPDF.pdf");
                        rdh.writeTo(outputStream);
                        outputStream.flush();
                        outputStream.close();
                } catch (Exception e) {
                        System.err.println(e);
                        e.printStackTrace();
                }
        }
}
---------------------------------------------------------------------------------
WSDD file
----------
<!-- This deploys PDF attachment service.  -->
<deployment xmlns="http://xml.apache.org/axis/wsdd/";
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";
xmlns:ns1="urn:PDFAttachmentsService" >
  <service name="urn:PDFAttachmentsService" provider="java:RPC" >
    <parameter name="className"
value="samples.pdfattachments.PDFAttachmentsService"/>
    <parameter name="allowedMethods" value="sendPdfs"/>
    <parameter name="dataHandler" type="ns1:DataHandler"/>    

 <typeMapping
deserializer="org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory"
   languageSpecificType="java:javax.activation.DataHandler"
qname="ns1:DataHandler"
   
serializer="org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory" 
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
     />
  </service>

</deployment>

-- 
View this message in context: 
http://www.nabble.com/Axis-1.4---Attachments-Problem-tf4887980.html#a13990733
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to