Hi Vaibhav, Since you have a DataHandler instance you can ask it the name. E.g. rdh.getDataSource().getName();
According to the API: DataSources encapsulating files may choose to return the filename of the object. (Typically this would be the last component of the filename, not an entire pathname.) Regards, Sietse -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: 28 November 2007 11:54 To: [email protected] Subject: Axis 1.4 - Attachments Problem 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:PDFAt tachmentsService"); 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.JAFDataHandlerDeserializerFac tory" 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#a139 90733 Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
