2009-07-11 3 views
3

Я ищу простой пример рабочего образца образца MTOM (service + client) с использованием JAX-WS RI или Axis2.Образец кода JAX-WS MTOM

Я googled слово только для того, чтобы найти фрагменты и коды, которые не просто работают!

Я хочу отправить вложения PDF для запрашивающего клиента веб-службы.

ответ

0

выглядит как я задал вопрос немного рано :) Вот пример кода JAX-WS с MTOM .. я жвачку управлять в одиночку ..

Heard и читать, что даже с axis2 + MTOM там некоторые проблемы. Документирование тоже очень плохо в axis2. Также производительность сомнительна (хотя с XMLBeans не уверен, АБР) ... ссылка: http://weblogs.java.net/blog/kohsuke/archive/2007/02/jaxws_ri_21_ben.html

package webservice; 

import java.io.File; 
import javax.activation.DataHandler; 
import org.jvnet.staxex.StreamingDataHandler; 

/** 
* 
* @author Raghavendra_Samant 
*/ 
public class Main { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     // TODO code application logic here 

     try { // Call Web Service Operation 
      com.xxx.labelgeneration.LabelGeneratorService service = new com.xxx.labelgeneration.LabelGeneratorService(); 
      com.xxx.labelgeneration.LabelGenerator port = service.getLabelGeneratorPort(); 
      // TODO initialize WS operation arguments here 
      java.lang.String name = "dynamic.pdf"; 
      // TODO process result here 
      byte[] result = port.getFile(name); 

      System.out.println("Result = "+result.length); 
     } catch (Exception ex) { 
      // TODO handle custom exceptions here 
     } 


    } 
} 

стороне сервера

package com.xxx.LabelGeneration; 

import javax.jws.WebMethod; 
import javax.jws.WebParam; 
import javax.jws.WebService; 
import javax.xml.ws.soap.MTOM; 
import javax.activation.DataHandler; 
import javax.activation.FileDataSource; 

/** 
* 
* @author Raghavendra_Samant 
*/ 
@WebService() 
@MTOM 
public class LabelGenerator { 

    /** 
    * Web service operation 
    */ 
    @WebMethod(operationName = "getFile") 
     public DataHandler getFile(@WebParam(name = "name") String fileName) { 
     //TODO write your implementation code here: 

     return new DataHandler(new FileDataSource(fileName)); 

    } 
} 
Смежные вопросы