axis调用

import java.io.IOException;
import java.util.ArrayList;
import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.rpc.ServiceException;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import com.neusoft.model.User;

public class AccountInfoServlet extends HttpServlet {

 private static final long serialVersionUID = 684636450572611028L;

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  String endpoint = null;
  String port = null;
  try {
   Properties conf = new Properties();
   conf.load(AccountInfoServlet.class
     .getResourceAsStream("../webservice.conf"));
   port = conf.getProperty("port1");
   endpoint = port + conf.getProperty("boss_endpoint");
  } catch (Exception e) {
   request.setAttribute("connecterror", "连接错误,请重试。");
   request.getRequestDispatcher("/user/none.jsp").forward(request,
     response);
   return;
  }

  Service service = new Service();
  Call call = null;
  try {
   call = (Call) service.createCall();
  } catch (ServiceException e) {
   e.printStackTrace();
  }
  // 设置入口
  call.setTargetEndpointAddress(new java.net.URL(endpoint));
  // 方法名
  call.setOperationName("getAccountInfo");

  User user = (User) request.getSession()
    .getAttribute("usersuccesslogin");

  // 输入参数
  Object[] para = new Object[] { user.getBusinessid() };
  // 调用服务
  Object res = null;
  try {
   res = (Object) call.invoke(new Object[] { para });
  } catch (Exception e) {
   request.setAttribute("none", "你还没有账户信息。");
   request.getRequestDispatcher("/user/none.jsp").forward(request,
     response);
   return;
  }

  // 生成JSON数组
  JSONArray jsonArray = JSONArray.fromObject(res);
  //
  JSONObject json = null;
  ArrayList<AccountInfo> list = new ArrayList<AccountInfo>();
  for (int i = 0; i < jsonArray.size(); i++) {
   // 取得JSON对象
   json = jsonArray.getJSONObject(i);
   AccountInfo accountinfo = (AccountInfo) JSONObject.toBean(json,
     AccountInfo.class);
   list.add(accountinfo);
   request.getSession().setAttribute("accountinfo", accountinfo);
   request.getSession().setAttribute("list", list);
   // 输出JSON对象
   System.out.println(json.toString());

  }
  request.getRequestDispatcher("/user/accountinfo.jsp").forward(request,
    response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  this.doGet(request, response);
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值