webService之(六)HTTP直接请求webService

本文探讨了如何通过HTTP直接请求webService,涉及两个关键步骤:发送SOAP消息(XML格式)和接收SOAP响应(XML格式)。内容详细解析了HTTP与SOAP在webService通信中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际开发中,会遇到各种各样的webService接口,并且对方提供的接口并不规范,一些客户端反而就不好使了,如cxf(客户端与动态调用)等,
直接用java提供的api比较繁琐,这时直接用http request请求更便捷。

可以分为两步,request一个soap消息(xml),然后response一个soap消息(xml),具体如下

/**
 * <br>描 述:发送并返回报文消息
 * <br>作 者:xieyj
 * <br>历 史: (版本) 作者 时间 注释
 * @param urlStr wsdl
 * @param paraXml 请求的soap消息串,可以用soapui查看
 * @param intfMethod 请求的接口方法
 * @return
 */
public String sendAndGetResponseData(String urlStr, String paraXml, String intfMethod) {
		
	String respData = "";
	try {
		URL url = new URL(urlStr);

		HttpURLConnection con;
		con = (HttpURLConnection) url.openConnection();
		con.setDoOutput(true);
		con.setDoInput(true);
		con.setRequestMethod("POST");
		con.setUseCaches(false);
		//con.setRequestProperty("Content-type", "text/xml; charset=UTF-8");
		//con.setRequestProperty("WSS-Password Type", "PasswordText");
		
		con.setRequestProperty("SOAPAction", intfMethod);
		con.setRequestProperty("Encoding", "UTF-8");
		
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值