2014-11-14 1 views

ответ

0

вы можете создать класс в jbilling, который вызывает другие evn и посылает заголовки и тело как Json или string. вот так.

package com.cycle30.plugin.payment; 

    import java.util.ArrayList; 
    import java.util.List; 

    import javax.ws.rs.core.MediaType; 
    import javax.ws.rs.core.Response; 

    import org.apache.commons.httpclient.NameValuePair; 
    import org.apache.commons.httpclient.methods.PostMethod; 
    import org.apache.cxf.jaxrs.client.WebClient; 
    import org.apache.log4j.Logger; 

    public class HttpJMSClient { 


     private PostMethod postMethod; 
     private String webUrl; 
     private List<NameValuePair> nameValuePairs=new ArrayList<NameValuePair>(); 

     private static final Logger logger = Logger.getLogger(HttpJMSClient.class); 
     public HttpJMSClient() { 
      // TODO Auto-generated constructor stub 
     } 

     public void getConnection() 
     { 
      webUrl="http://localhost:8081";  
      nameValuePairs.add(new NameValuePair("x-force-user-id","abc1233")); 
      nameValuePairs.add(new NameValuePair("x-trans-id","123")); 
     } 


     public String makeCall(String body) 
     { 
      Object output=null; 
      try{ 
      WebClient client = WebClient.create(webUrl); 
      for (NameValuePair h : nameValuePairs) { 
       client.header(h.getName(), h.getValue()); 
      } 
      Response response = client.type(MediaType.APPLICATION_JSON).post(body, 
        Response.class); 

      logger.debug("Output from Server .... \n"); 
      output = response.getEntity(); 
      logger.debug(output); 
      System.out.println("my res: "+output.toString()); 

      int statusCode = response.getStatus(); 
      System.out.println("status code: "+statusCode); 
      return output.toString(); 
      }catch(Exception e){ 
       logger.error(e.getMessage()); 
       logger.error(e.getCause()); 
      } 
      return output.toString(); 
     } 

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