Wednesday, July 22, 2015

Send a File from server to client using Axis2 Web Service

Web Service
1
2
3
4
5
6
7
8
9
public DataHandler executeWebService(String param1,String param2){
  DataHandler actualDH=null;
  try {
    actualDH = new DataHandler(new URL("file:///D:\\test\\NEW.xml"));
  } catch (MalformedURLException e) {
  }
  return actualDH;
  
 }
Client
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 public static void main(String args[]) throws java.lang.Exception {
             RPCServiceClient serviceClient = null;;
         try
         {
             serviceClient = new RPCServiceClient();
         }
         catch (AxisFault e1)
         {
             e1.printStackTrace();
         }

         Options options = serviceClient.getOptions();
         EndpointReference targetEPR = new EndpointReference(
            "http://localhost:8080/webservice/services/myWebService.MyWebServiceHttpSoap11Endpoint/");
         options.setProperty(Constants.Configuration.ENABLE_MTOM,
                 Constants.VALUE_TRUE);
         options.setAction("urn:executeWebService");
         options.setTo(targetEPR);
         QName opName = new QName("http://my.webservices.com", "executeWebService");
         Object[] opSetArgs = new Object[0];
          Class[] returnTypes = new Class[] { DataHandler.class };

          try
          {
              Object[] response = serviceClient.invokeBlocking(opName, opSetArgs,
                      returnTypes);
              DataHandler actualDH;
              actualDH = (DataHandler) response[0];// get the binary data
              System.out.println(actualDH);

              //Received file will be available in this location.
              File graphFile = new File("D://test//NEW1.xml");
              if (!graphFile.exists())
              {
                  try
                  {
                      graphFile.createNewFile();
                  }
                  catch (IOException e)
                  {
                      e.printStackTrace();
                  }
              }
                  FileOutputStream outputStream = null;
                  try
                  {
                      outputStream = new FileOutputStream(graphFile);
                  }
                  catch (FileNotFoundException e)
                  {
                      e.printStackTrace();
                  }
                  try
                  {
                      actualDH.writeTo(outputStream);
                  }
                  catch (IOException e)
                  {
                      e.printStackTrace();
                  }
           
          } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } 
             }

No comments: