Java调用WebService 接口 实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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";
	//ip
	private final String merchantIP = "106.38.40.86";
	//验证key
	private 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 
		 */
		@Override
		public ServiceRequestVo getScgdUser(ServiceRequestVo serviceRequestVo,String sign) throws RemoteException {
			//调用webservice 接口中的方法。
			return pubWebServicePortTypeProxy.scbss(serviceRequestVo,sign); 
		}



本文出自 “JianBo” 博客,请务必保留此出处http://jianboli.blog.51cto.com/12075002/1887421

以上是关于Java调用WebService 接口 实例的主要内容,如果未能解决你的问题,请参考以下文章

Java调用WebService 接口 实例

[Java - 调用WebService]{http://schemas.microsoft.com/ws/2005/05/addressing/none}ActionNotSupported(代码片

如何调用webservice接口 ajax

java WebService接口采用SOAP协议的调用

java如何在sqlserver触发器里面调用webservice接口

java如何调用webservice接口?