標籤:java調用webservice
這裡給大家介紹一下,Java調用webservice的一個執行個體的過程。
本項目不能運行,因為介面地址不可用。
這裡只是給大家介紹一個過程,同時留作自己的筆記。如果要學習,可以參照別人的執行個體。比較好。
①選擇項目根目錄的src ,右鍵,new --》 webservice client
然後輸入地址:
http://172.18.100.52:456/hello?wsdl
必須要加wsdl結尾,這樣才是一個webservice的介面。
finlish。這時候重新整理項目。可以看到項目下/src/com/tem 下面產生了用戶端的代碼。
用戶端就可以調用了。
準備參數:
public class PubController extends BaseMultiActionController{ //商戶編碼private final String merchantId = "M14081916173300001";//ipprivate final String merchantIP = "106.38.40.86";//驗證keyprivate final String merchantKey = "d82f7b84baabf3989ad6da300ea8dad7";private PubManager pubManager;public void setPubManager(PubManager pubManager) {this.pubManager = pubManager;} private BillManager billManager;public void setBillManager(BillManager billManager) {this.billManager = billManager;}/** * 商戶資訊查詢介面 * @param request * @param response * @return * @throws Exception */public void getScgdUser(HttpServletRequest request, HttpServletResponse response) throws Exception {AppClassGeneric<QueryCustomerRsp> appClass = new AppClassGeneric<QueryCustomerRsp>();//參數//查詢條件之一:卡類型String QueryType=ServletRequestUtils.getStringParameter(request,"QueryType");//查詢條件之二:對應的查詢號String QueryValue=ServletRequestUtils.getStringParameter(request,"QueryValue");try { String svcCont = "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+ "<QueryCustomerReq>"+"<QueryValue>"+QueryValue+"</QueryValue>"+"<QueryType>"+QueryType+"</QueryType>"+"</QueryCustomerReq>"+"]]>"; ServiceRequestVo serviceRequestVo = new ServiceRequestVo("SCVC001","T001",svcCont,null);serviceRequestVo.setSvcCont(svcCont);//擷取簽名,傳遞簽名String sign = getSign(serviceRequestVo);ServiceRequestVo serviceRequestVo2=pubManager.getScgdUser(serviceRequestVo,sign);String json=xmlStringToJson(serviceRequestVo2.getSvcCont().replace("<QueryCustomerRsp>", "").replace("</QueryCustomerRsp>",""));QueryCustomerRsp queryCustomerRsp= JSON.parseObject(json, QueryCustomerRsp.class);if (serviceRequestVo2.getResponse().getRspCode().equals("00000")) {appClass.setMessageStatus(MsgStatus.SUCCESS);appClass.setT(queryCustomerRsp);}else {appClass.setMessageStatus(MsgStatus.FAIL);appClass.setMessage(serviceRequestVo2.getResponse().getRspDesc());}} catch (Exception e) {appClass.setMessageStatus(MsgStatus.FAIL);appClass.setMessage(e.getMessage());e.printStackTrace();} finally {JSONObject json = JSONObject.fromObject(appClass);response.setContentType("text/html;charset=UTF-8");response.getWriter().print(json);response.getWriter().flush();}}
使用本地產生的程式碼調用webservice介面:
public class PubManagerImpl implements PubManager{//產生的webservice代理類。本地Java代碼。 PubWebServicePortTypeProxy pubWebServicePortTypeProxy=new PubWebServicePortTypeProxy();/** * 使用者資訊查詢介面 * @throws RemoteException */@Overridepublic ServiceRequestVo getScgdUser(ServiceRequestVo serviceRequestVo,String sign) throws RemoteException {//調用webservice 介面中的方法。return pubWebServicePortTypeProxy.scbss(serviceRequestVo,sign); }
本文出自 “JianBo” 部落格,請務必保留此出處http://jianboli.blog.51cto.com/12075002/1887421
Java調用WebService 介面 執行個體