如何为jbilling集成创建CXF API?

时间:2014-11-14 15:45:32

标签: cxf

有谁能告诉我如何创建CXF API?对于jbilling集成,我想创建CXF API。但我不知道如何创建它。

1 个答案:

答案 0 :(得分:0)

你可以在jbilling中创建一个调用其他evn的类,并将标题和正文作为Json或字符串发送。     像这样。

    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();
        }

    }