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); 
		}
时间: 2024-10-10 10:59:22

Java调用WebService 接口 实例的相关文章

java调用webservice接口方法

webservice的 发布一般都是运用WSDL(web service descriptive language)文件的款式来发布的,在WSDL文件里边,包含这个webservice暴露在外面可供运用的接口.今日查找到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包含许多方面的free webservice provider,utilities->global weather就

java 调用webservice接口wsdl,推荐使用wsdl2java,放弃wsimport

网上说wsimport是jdk1.6后自带的客户端生成调用webservice接口的工具,其实我挺喜欢原生的东西,毕竟自家的东西用着应该最顺手啊,但往往让人惊艳的是那些集成工具. 本机jdk1.8.1的,直接按网上说的wsimport -keep -p wsimport.test http://****:****/***.wsdl 报警报错,报警warning可以忽略,但错误error 难以解决,说具有相同名称 "xxx" 的类/接口已在使用.请使用类定制设置来解决此冲突.找了许多资料

java调用webservice接口完整源码

对方提供的webservice是用c#写的,而我这个方案对于java或c#(亲测过)提供的webservice都可以使用.具体步骤如下: 1.新建一个普通的java项目,在项目上右键new–other–web service client –next如图,在框内输入webservice地址,例如:http://10.10.10.60:7000/srv_waipaiItem/ws/wp?wsdl(地址输入完后需要等待一两秒,next才可点击) 2.输入正确的webservice地址后,一路fini

java调用webservice接口 几种方法

webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口.今天搜索到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包括很多方面的free webservice provider,utilities->global weather就

java 调用webservice接口(asmx)

进入.asmx的链接,找到方法名.命名空间等 import javax.xml.namespace.QName; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.message.SOAPHeaderElement; /** * Created by liwj on 2017/6/15. */ public class AsmxTest {privat

java访问webservice接口(转)

java调用webservice接口 几种方法 webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口.今天搜索到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包括很多方面的free webservice provider,ut

java如何调用webservice接口

java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用.理论上是一样的,只不过用Eclipse自动生成代码省事些.1.编写代码方式:package com.yudun.test;import java.rmi.RemoteException;import org.apache.axis.client.Call;import org.apache.axis.cl

php中创建和调用webservice接口示例

这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识.webservice服务端例子.webservice客户端例子,需要的朋友可以参考下 作为开发者来讲,要想写webservice接口或者调用别人的webservice接口,首先需要了解什么是webservice.简单说, WebService就是一些站点开放一些服务出来, 也可以是你自己开发的Service, 也就是一些方法, 通过URL,指定某一个方法名,发出请求,站点里的这个服务(方法),接到

Java调用WebService

Java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用.理论上是一样的,只不过用Eclipse自动生成代码省事些. 1.编写代码方式: package com.yudun.test; import java.rmi.RemoteException;import org.apache.axis.client.Call;import org.apache.axis