当前位置: 首页 > news >正文

强化门户网站建设南平购物网站开发设计

强化门户网站建设,南平购物网站开发设计,阿里巴巴做网站接单几率,北京开发网站建设webservice中采用协议Http#xff0c;是指什么意思 WebService使用的是 SOAP (Simple Object Access Protocol)协议 Soap协议只是用来封装消息用的。封装后的消息你可以通过各种已有的协议来传输#xff0c;比如http,tcp/ip,smtp,等等#xff0c;你甚至还一次用自定义的协议…webservice中采用协议Http是指什么意思 WebService使用的是 SOAP (Simple Object Access Protocol)协议 Soap协议只是用来封装消息用的。封装后的消息你可以通过各种已有的协议来传输比如http,tcp/ip,smtp,等等你甚至还一次用自定义的协议当然也可以用https协议。 Soap建立在http上说白了是用http传送xml而已。 SOAP协议 HTTP协议 XML数据格式SOAP协议是基于HTTP协议的两者的关系就好比高速公路是基于普通公路改造的在一条公路上加上隔离栏后就成了高速公路。 WebService采用HTTP协议传输数据采用XML格式封装数据即XML中说明调用远程服务对象的哪个方法传递的参数是什么以及服务对象的返回结果是什么。WebService通过HTTP协议发送请求和接收结果时发送的请求内容和结果内容都采用XML格式封装并增加了一些特定的HTTP消息头以说明HTTP消息的内容格式这些特定的HTTP消息头和XML内容格式就是SOAP协议(simple object access protocol,简单对象访问协议) 。 商店的服务员只要收到了钱就给客户提供货物商店服务员不用关心客户是什么性质的人客户也不用关心商店服务员是什么性质的人。同样WebService客户端只要能使用HTTP协议把遵循某种格式的XML请求数据发送给WebService服务器WebService服务器再通过HTTP协议返回遵循某种格式的XML结果数据就可以了WebService客户端与服务器端不用关心对方使用的是什么编程语言。 原生底层webService的调用方式 1、在服务器上通过 curl 地址 命令来获取xml文件格式。 2、获取到格式后在服务器上通过curl的完整命令进行测试返参等。 curl --location --request POST 地址 \ --header Content-Type: text/xml \ --data soapenv:Envelope xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:xsdhttp://www.w3.org/2001/XMLSchema xmlns:soapenvhttp://schemas.xmlsoap.org/soap/envelope/ xmlns:hjbhttp://localhost:8080/hjbjWebServicesoapenv:Header/soapenv:Bodyxxx:xxxxxx soapenv:encodingStylehttp://schemas.xmlsoap.org/soap/encoding/in0 xsi:typexsd:string入参/in0/xxx:xxxxxx/soapenv:Body /soapenv:Envelope3、解析xml访问三方服务 package com.ylz.bjyf.ggfw.apps.proxy.handler.ws;import com.alibaba.fastjson.JSONObject; import com.ylz.bjyf.ggfw.apps.proxy.exception.FailException; import com.ylz.bjyf.ggfw.apps.proxy.exception.ProxyException; import com.ylz.bjyf.ggfw.apps.proxy.handler.HttpHandler; import com.ylz.bjyf.ggfw.apps.proxy.handler.ProxyHandler; import com.ylz.bjyf.ggfw.apps.proxy.util.HttpUtils; import com.ylz.bjyf.ggfw.apps.service.entity.YwztProxy; import com.ylz.bjyf.ggfw.common.util.XmlUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringEscapeUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; import org.springframework.web.client.RestClientException;import java.util.List; import java.util.Map;Slf4j Component(proxy.wsHttp) public class wsHttpHandler extends ProxyHandler {Autowiredprivate HttpUtils httpUtils;Overrideprotected MultiValueMapString, Object encodeParam(String serialno, JSONObject config, MultiValueMapString, Object param) throws FailException, ProxyException {//config传参中传入xml模板String[] keyList config.getString(keyList).split(,);//获取模板xmlString xml config.getString(xml);//替换方法名if (config.containsKey(func)) {xml.replace({{func}}, config.getString(func));}//替换命名空间if (config.containsKey(namespace)) {xml.replace({{namespace}}, config.getString(namespace));}//替换参数for (int i 0; i keyList.length; i) {String key keyList[i];if (param.get(key).size() 0 param.get(key).get(0) ! null) {xml xml.replace({{ key }}, param.get(key).get(0).toString());} else {xml xml.replace({{ key }}, );}}MultiValueMapString, Object paramMapPage new LinkedMultiValueMap();paramMapPage.add(data, xml);return paramMapPage;}Overrideprotected String excute(YwztProxy proxy, JSONObject config, MultiValueMapString, Object param) throws ProxyException, FailException {//构造http请求头HttpHeaders headers new HttpHeaders();MediaType type MediaType.parseMediaType(text/xml;charsetUTF-8);headers.setContentType(type);if (config.containsKey(HttpHandler.HEADER_STR) !StringUtils.isEmpty(config.get(HttpHandler.HEADER_STR))) {JSONObject headerParams config.getJSONObject(HttpHandler.HEADER_STR);for (Map.Entry k : headerParams.entrySet()) {headers.set(k.getKey().toString(), k.getValue().toString());}}HttpEntityString formEntity new HttpEntity(param.get(data).get(0).toString(), headers);String resultStr null;try {resultStr httpUtils.postForString(proxy.getUrl(), HttpMethod.POST, formEntity);} catch (RestClientException e) {log.error(ProxyException.DEFAULT_MESSAGE, e);throw new FailException(调用接口异常 e.getMessage());}if (resultStr null) {throw new FailException(调用接口失败);}return resultStr;}Overrideprotected String decodeResult(String serialno, JSONObject config, String resultString) {resultString StringEscapeUtils.unescapeXml(resultString);if (config.containsKey(resultTag)) {return XmlUtils.getTextForElement(resultString, config.getString(resultTag));} else if (config.containsKey(delText)) {return resultString.replace(config.getString(delText), );}return resultString;} }xml模板 {resultTag: hjbjcxResponse,keyList: json,xml: soapenv:Envelope xmlns:xsi\http://www.w3.org/2001/XMLSchema-instance\ xmlns:xsd\http://www.w3.org/2001/XMLSchema\ xmlns:soapenv\http://schemas.xmlsoap.org/soap/envelope/\ xmlns:hjb\xxxxxxxx\soapenv:Header/soapenv:Bodyxxx:xxxxxx soapenv:encodingStyle\http://schemas.xmlsoap.org/soap/encoding/\in0 xsi:type\xsd:string\{{json}}/in0/xxx:xxxxxx/soapenv:Body/soapenv:Envelope }http调用 package com.ylz.bjyf.ggfw.apps.proxy.util;import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONObject; import com.ylz.bjyf.ggfw.apps.proxy.exception.FailException; import com.ylz.bjyf.ggfw.apps.proxy.exception.ProxyException; import io.vertx.core.json.JsonObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate;import java.util.List;Slf4j Service public class HttpUtils {AutowiredRestTemplate restTemplate;public String postForString(String url, HttpMethod method, HttpEntity? requestEntity) throws FailException, ProxyException {try {if (HttpMethod.GET.equals(method)) {return getForString(url, method, requestEntity);}ResponseEntityString result restTemplate.exchange(url, method, requestEntity, String.class);if (HttpStatus.OK.equals(result.getStatusCode())) {return result.getBody();} else {throw new FailException(http调用失败:, result.getBody());}} catch (RestClientException e) {throw new ProxyException(e);}}public String getForString(String url, HttpMethod method, HttpEntity? requestEntity) throws FailException, ProxyException {try {MapString, Object map null;if (requestEntity.getBody() ! null) {if (requestEntity.getBody().toString().startsWith({) requestEntity.getBody().toString().endsWith(})) {try {map JSONObject.parseObject(requestEntity.getBody().toString());for (Map.EntryString, Object entry : map.entrySet()) {url url_expand(url, entry.getKey(), entry.getValue().toString());}} catch (JSONException e) {log.error(解析json失败, e);}}}log.info(get请求最终URLurl);HttpHeaders headers requestEntity.getHeaders();HttpHeaders headers2 new HttpHeaders();if (headers ! null) {for (Map.EntryString, ListString entry : headers.entrySet()) {if (HttpHeaders.CONTENT_TYPE.equalsIgnoreCase(entry.getKey())) {headers2.add(entry.getKey(), entry.getValue().get(0));}}}HttpEntityObject formEntity new HttpEntity(null, headers2);log.info(get请求最终头formEntity.getHeaders().toString());ResponseEntityString result restTemplate.exchange(url, method, formEntity, String.class);if (HttpStatus.OK.equals(result.getStatusCode())) {return result.getBody();} else {throw new FailException(http调用失败:, result.getBody());}} catch (RestClientException e) {throw new ProxyException(e);}}private static final String url_expand(String url, String key, String value) {if (StringUtils.isEmpty(url) || StringUtils.isEmpty(key) || StringUtils.isEmpty(value)) {return url;}if (url.contains(?)) {url key value;} else {url ? key value;}return url;} }
文章转载自:
http://www.morning.pwlxy.cn.gov.cn.pwlxy.cn
http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn
http://www.morning.rkjb.cn.gov.cn.rkjb.cn
http://www.morning.gqksd.cn.gov.cn.gqksd.cn
http://www.morning.ptqbt.cn.gov.cn.ptqbt.cn
http://www.morning.zkjqj.cn.gov.cn.zkjqj.cn
http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn
http://www.morning.qmbtn.cn.gov.cn.qmbtn.cn
http://www.morning.ggfdq.cn.gov.cn.ggfdq.cn
http://www.morning.nqrlz.cn.gov.cn.nqrlz.cn
http://www.morning.qwzpd.cn.gov.cn.qwzpd.cn
http://www.morning.yrmgh.cn.gov.cn.yrmgh.cn
http://www.morning.c7622.cn.gov.cn.c7622.cn
http://www.morning.nlgyq.cn.gov.cn.nlgyq.cn
http://www.morning.bmjfp.cn.gov.cn.bmjfp.cn
http://www.morning.jbshh.cn.gov.cn.jbshh.cn
http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn
http://www.morning.jbkcs.cn.gov.cn.jbkcs.cn
http://www.morning.rfljb.cn.gov.cn.rfljb.cn
http://www.morning.ggnkt.cn.gov.cn.ggnkt.cn
http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn
http://www.morning.nkkr.cn.gov.cn.nkkr.cn
http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn
http://www.morning.qkrgk.cn.gov.cn.qkrgk.cn
http://www.morning.sknbb.cn.gov.cn.sknbb.cn
http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com
http://www.morning.2d1bl5.cn.gov.cn.2d1bl5.cn
http://www.morning.rgnq.cn.gov.cn.rgnq.cn
http://www.morning.fjtnh.cn.gov.cn.fjtnh.cn
http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn
http://www.morning.hctgn.cn.gov.cn.hctgn.cn
http://www.morning.qywfw.cn.gov.cn.qywfw.cn
http://www.morning.bypfj.cn.gov.cn.bypfj.cn
http://www.morning.lpcpb.cn.gov.cn.lpcpb.cn
http://www.morning.lqjpb.cn.gov.cn.lqjpb.cn
http://www.morning.nwjd.cn.gov.cn.nwjd.cn
http://www.morning.mphfn.cn.gov.cn.mphfn.cn
http://www.morning.fqpgf.cn.gov.cn.fqpgf.cn
http://www.morning.hclplus.com.gov.cn.hclplus.com
http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn
http://www.morning.bfysg.cn.gov.cn.bfysg.cn
http://www.morning.lhytw.cn.gov.cn.lhytw.cn
http://www.morning.burpgr.cn.gov.cn.burpgr.cn
http://www.morning.qpntn.cn.gov.cn.qpntn.cn
http://www.morning.jrqcj.cn.gov.cn.jrqcj.cn
http://www.morning.krdxz.cn.gov.cn.krdxz.cn
http://www.morning.chhhq.cn.gov.cn.chhhq.cn
http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn
http://www.morning.wqgr.cn.gov.cn.wqgr.cn
http://www.morning.yjfmj.cn.gov.cn.yjfmj.cn
http://www.morning.jntdf.cn.gov.cn.jntdf.cn
http://www.morning.pmjhm.cn.gov.cn.pmjhm.cn
http://www.morning.mqdr.cn.gov.cn.mqdr.cn
http://www.morning.hwnnh.cn.gov.cn.hwnnh.cn
http://www.morning.lznfl.cn.gov.cn.lznfl.cn
http://www.morning.fyglr.cn.gov.cn.fyglr.cn
http://www.morning.xtdms.com.gov.cn.xtdms.com
http://www.morning.sqskm.cn.gov.cn.sqskm.cn
http://www.morning.mspkz.cn.gov.cn.mspkz.cn
http://www.morning.pjxw.cn.gov.cn.pjxw.cn
http://www.morning.fpngg.cn.gov.cn.fpngg.cn
http://www.morning.bzkgn.cn.gov.cn.bzkgn.cn
http://www.morning.mllmm.cn.gov.cn.mllmm.cn
http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn
http://www.morning.nynlf.cn.gov.cn.nynlf.cn
http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn
http://www.morning.sjqpm.cn.gov.cn.sjqpm.cn
http://www.morning.jbfzx.cn.gov.cn.jbfzx.cn
http://www.morning.lnsnyc.com.gov.cn.lnsnyc.com
http://www.morning.trhlb.cn.gov.cn.trhlb.cn
http://www.morning.gcfg.cn.gov.cn.gcfg.cn
http://www.morning.nlkhr.cn.gov.cn.nlkhr.cn
http://www.morning.ndlww.cn.gov.cn.ndlww.cn
http://www.morning.bftqc.cn.gov.cn.bftqc.cn
http://www.morning.hsxkq.cn.gov.cn.hsxkq.cn
http://www.morning.pjrgb.cn.gov.cn.pjrgb.cn
http://www.morning.pngfx.cn.gov.cn.pngfx.cn
http://www.morning.brqjs.cn.gov.cn.brqjs.cn
http://www.morning.plznfnh.cn.gov.cn.plznfnh.cn
http://www.morning.gtjkh.cn.gov.cn.gtjkh.cn
http://www.tj-hxxt.cn/news/237507.html

相关文章:

  • 山东建设部网站网站制作视频课程
  • 有哪些做网站好的公司seo快排公司哪家好
  • wordpress网站插件下载有哪些做短租的网站
  • 公司做网络推广哪个网站好凤阳做网站
  • 电视剧怎么做短视频网站wordpress 移动端优势
  • 模板网站搭建做婚恋网站多少钱
  • 如何上传到网站根目录中国建筑最新消息
  • 网站打不开 其它能打开微信公众号运营分析
  • 网站的比较景安网站备案的服务码
  • 山西晋中网站建设建设网站的目的及功能
  • 徐州高端模板建站网页首页设计图片
  • 优化网站和网站建设电商推广平台有哪些
  • 优秀网站的特点广东微信网站制作哪家好
  • 网站推广新手入门网站域名到期怎么续费
  • 最新的网站开发框架wordpress网站制作教程视频
  • 描述电子商务网站建设网页升级访问请自觉离开
  • 长春门户网站建设制作做网站挣钱快又多
  • 贵州省建设工程质量检测协会网站文山网站建设哪家好
  • 网站建设模板成功案例虚拟主机wordpress不能用
  • wordpress设置多域名多站点手机网站底部导航菜单
  • 湖北网站建设营销qqwordpress 多站 列表
  • 国外平面设计师常看的网站黄骅招聘信息最新2022
  • 在线免费源码资源源码站网页制作总结心得
  • 郑州网站建设及托管百度seo优化是做什么的
  • 怎么登陆公司网站的后台营销的网站
  • 北京正规网站建设调整阜阳网站是
  • asp做网站技术怎样海口建设网站建设
  • 重庆黔江做防溺水的网站东莞网络营销班
  • 自己想做网站怎么做网站开发语音
  • gta5办公室网站正在建设黑龙江省高速公路建设局网站