请求SOAPMessage的组建

在使用 javax.xml.soap包来调用webservice的时候,需要你先组装一个完整的请求SOAPMessage,而各个方法的参数格式及层数又有可能是不固定的,因此写了一个工具类来组装请求SOAPMessage
假定方法需要的参数格式为:
<sa:req>
<sa:param3>100</sa:param3>
<sa:param4>男</sa:param4>
<sa:param1>lzp</sa:param1>
<sa:param2>
<sa:birthDay>20170801</sa:birthDay>
<sa:addr>杭州西湖</sa:addr>
</sa:param2>
</sa:req>
<sa:param>hahah1</sa:param>

像这种格式的入参一般已经算是比较复杂的了,一个req对象里面有三个基本对象,又有一个param2对象。像这种入参的组合SOAPMessage该如何组建呢?
参考了spring的组建对象思想,spring对复杂类型的组建,采用A.attribute来构建,如User.name来为User对象的name属性赋值。

  1. 参数Map的构建
    使用一个map来构建输入的参数,map的key格式如下
Map<String,String> map = new HashMap<>();map.put("req.param1","lzp");map.put("req.param2.addr","杭州西湖");map.put("req.param2.birthDay","20170801");map.put("req.param3","100");map.put("req.param4","男");map.put("param","hahah1");
  1. 构建方法
//method:调用的方法名 params:参数map  uri webservice命名空间,如果大家有需要可以把SOAPAction的值提到方法参数里去,因为有些并没有SOAPAction,此处只做测试
public static SOAPMessage buildSoap(String method, Map<String,String> params, String uri) throws SOAPException {MessageFactory messageFactory = MessageFactory.newInstance();SOAPMessage message = messageFactory.createMessage();message.getMimeHeaders().setHeader("SOAPAction","http://WebXml.com.cn/getRegionDataset");// 创建soap消息主体==========================================SOAPPart soapPart = message.getSOAPPart();// 创建soap部分SOAPEnvelope envelope = soapPart.getEnvelope();SOAPBody body = envelope.getBody();//  根据要传给mule的参数,创建消息body内容。具体参数的配置可以参照应用集成接口技术规范1.1版本// =====================================SOAPElement bodyElement = body.addChildElement(envelope.createName(method, "sa", uri));for (Map.Entry<String,String> entry:params.entrySet()) {String key = entry.getKey();String value = entry.getValue();digui(bodyElement,key,value);}// Save the messagemessage.saveChanges();//将构建的soap的xml打印出来 便于调试//try {//    message.writeTo(System.out);//} catch (IOException e) {//    e.printStackTrace();//}return message;}
//递归调用判断key是否存在.号。组建SOAPElementprivate static SOAPElement digui(SOAPElement element,String key,String value) throws SOAPException{if (key.contains(".")){String[] arr = key.split("\\.",2);Iterator<SOAPElement> iterator = element.getChildElements();Map<String,SOAPElement> childs = new HashMap<>();while (iterator.hasNext()){SOAPElement e = iterator.next();childs.put(e.getLocalName(),e);}boolean flag = false;for (Map.Entry<String,SOAPElement> entry:childs.entrySet()) {if (entry.getKey().equals(arr[0])){flag =true;digui(entry.getValue(),arr[1],value);}}if (!flag){SOAPElement soapElement = element.addChildElement(arr[0],"sa");digui(soapElement,arr[1],value);}}else {element.addChildElement(key,"sa").addTextNode(value);}return element;}

如图组建成功的SOAPMessage的xml为:

<?xml version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><sa:buildTest xmlns:sa="http://WebXml.com.cn/"><sa:req><sa:param3>100</sa:param3><sa:param4>男</sa:param4><sa:param1>linzhipeng</sa:param1><sa:param2><sa:birthDay>20170801</sa:birthDay><sa:addr>杭州西湖</sa:addr></sa:param2></sa:req><sa:param>hahah1</sa:param></sa:buildTest></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

以上方法可以解决多层嵌套的参数组合。


响应SOAPMessage的解析

假定已经通过javax.xml.soap包的 connection.call(message, url)来获取到响应的SOAPMessage。如果需要将其解析成json格式,该如何解析呢。一个需要考虑的问题也是xml的多层嵌套,一个是需要考虑的同级会出现多个同名元素节点。

  1. 本次测试用到的wsdl地址为:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
    调用的方法为:getRegionDataset
    通过调用得到返回的SOAPMessage解析成xml的格式为:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><getRegionDatasetResponse xmlns="http://WebXml.com.cn/"><getRegionDatasetResult><xs:schema xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xs="http://www.w3.org/2001/XMLSchema" id="getRegion"><xs:element msdata:IsDataSet="true" msdata:UseCurrentLocale="true" name="getRegion"><xs:complexType><xs:choice maxOccurs="unbounded" minOccurs="0"><xs:element name="Province"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="RegionID" type="xs:string"/><xs:element minOccurs="0" name="RegionName" type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element name="Country"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="RegionID" type="xs:string"/><xs:element minOccurs="0" name="RegionName" type="xs:string"/></xs:sequence></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema><diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"><getRegion xmlns=""><Province diffgr:id="Province1" msdata:rowOrder="0"><RegionID>3113</RegionID><RegionName>黑龙江</RegionName></Province><Province diffgr:id="Province2" msdata:rowOrder="1"><RegionID>3114</RegionID><RegionName>吉林</RegionName></Province><Province diffgr:id="Province3" msdata:rowOrder="2"><RegionID>3115</RegionID><RegionName>辽宁</RegionName></Province><Province diffgr:id="Province4" msdata:rowOrder="3"><RegionID>3116</RegionID><RegionName>内蒙古</RegionName></Province><Province diffgr:id="Province5" msdata:rowOrder="4"><RegionID>3117</RegionID><RegionName>河北</RegionName></Province><Province diffgr:id="Province6" msdata:rowOrder="5"><RegionID>3118</RegionID><RegionName>河南</RegionName></Province><Province diffgr:id="Province7" msdata:rowOrder="6"><RegionID>3119</RegionID><RegionName>山东</RegionName></Province><Province diffgr:id="Province8" msdata:rowOrder="7"><RegionID>31110</RegionID><RegionName>山西</RegionName></Province><Province diffgr:id="Province9" msdata:rowOrder="8"><RegionID>31111</RegionID><RegionName>江苏</RegionName></Province><Province diffgr:id="Province10" msdata:rowOrder="9"><RegionID>31112</RegionID><RegionName>安徽</RegionName></Province><Province diffgr:id="Province11" msdata:rowOrder="10"><RegionID>31113</RegionID><RegionName>陕西</RegionName></Province><Province diffgr:id="Province12" msdata:rowOrder="11"><RegionID>31114</RegionID><RegionName>宁夏</RegionName></Province><Province diffgr:id="Province13" msdata:rowOrder="12"><RegionID>31115</RegionID><RegionName>甘肃</RegionName></Province><Province diffgr:id="Province14" msdata:rowOrder="13"><RegionID>31116</RegionID><RegionName>青海</RegionName></Province><Province diffgr:id="Province15" msdata:rowOrder="14"><RegionID>31117</RegionID><RegionName>湖北</RegionName></Province><Province diffgr:id="Province16" msdata:rowOrder="15"><RegionID>31118</RegionID><RegionName>湖南</RegionName></Province><Province diffgr:id="Province17" msdata:rowOrder="16"><RegionID>31119</RegionID><RegionName>浙江</RegionName></Province><Province diffgr:id="Province18" msdata:rowOrder="17"><RegionID>31120</RegionID><RegionName>江西</RegionName></Province><Province diffgr:id="Province19" msdata:rowOrder="18"><RegionID>31121</RegionID><RegionName>福建</RegionName></Province><Province diffgr:id="Province20" msdata:rowOrder="19"><RegionID>31122</RegionID><RegionName>贵州</RegionName></Province><Province diffgr:id="Province21" msdata:rowOrder="20"><RegionID>31123</RegionID><RegionName>四川</RegionName></Province><Province diffgr:id="Province22" msdata:rowOrder="21"><RegionID>31124</RegionID><RegionName>广东</RegionName></Province><Province diffgr:id="Province23" msdata:rowOrder="22"><RegionID>31125</RegionID><RegionName>广西</RegionName></Province><Province diffgr:id="Province24" msdata:rowOrder="23"><RegionID>31126</RegionID><RegionName>云南</RegionName></Province><Province diffgr:id="Province25" msdata:rowOrder="24"><RegionID>31127</RegionID><RegionName>海南</RegionName></Province><Province diffgr:id="Province26" msdata:rowOrder="25"><RegionID>31128</RegionID><RegionName>新疆</RegionName></Province><Province diffgr:id="Province27" msdata:rowOrder="26"><RegionID>31129</RegionID><RegionName>西藏</RegionName></Province><Province diffgr:id="Province28" msdata:rowOrder="27"><RegionID>31130</RegionID><RegionName>台湾</RegionName></Province><Province diffgr:hasChanges="inserted" diffgr:id="Province29" msdata:rowOrder="28"><RegionID>311101</RegionID><RegionName>北京</RegionName></Province><Province diffgr:hasChanges="inserted" diffgr:id="Province30" msdata:rowOrder="29"><RegionID>311102</RegionID><RegionName>上海</RegionName></Province><Province diffgr:hasChanges="inserted" diffgr:id="Province31" msdata:rowOrder="30"><RegionID>311103</RegionID><RegionName>天津</RegionName></Province><Province diffgr:hasChanges="inserted" diffgr:id="Province32" msdata:rowOrder="31"><RegionID>311104</RegionID><RegionName>重庆</RegionName></Province><Province diffgr:hasChanges="inserted" diffgr:id="Province33" msdata:rowOrder="32"><RegionID>311201</RegionID><RegionName>香港</RegionName></Province><Province diffgr:hasChanges="inserted" diffgr:id="Province34" msdata:rowOrder="33"><RegionID>311202</RegionID><RegionName>澳门</RegionName></Province><Province diffgr:hasChanges="inserted" diffgr:id="Province35" msdata:rowOrder="34"><RegionID>311203</RegionID><RegionName>钓鱼岛</RegionName></Province><Country diffgr:id="Country1" msdata:rowOrder="0"><RegionID>3320</RegionID><RegionName>阿尔及利亚</RegionName></Country><Country diffgr:id="Country2" msdata:rowOrder="1"><RegionID>3522</RegionID><RegionName>阿根廷</RegionName></Country><Country diffgr:id="Country3" msdata:rowOrder="2"><RegionID>3170</RegionID><RegionName>阿曼</RegionName></Country><Country diffgr:id="Country4" msdata:rowOrder="3"><RegionID>3176</RegionID><RegionName>阿塞拜疆</RegionName></Country><Country diffgr:id="Country5" msdata:rowOrder="4"><RegionID>3317</RegionID><RegionName>埃及</RegionName></Country><Country diffgr:id="Country6" msdata:rowOrder="5"><RegionID>3314</RegionID><RegionName>埃塞俄比亚</RegionName></Country><Country diffgr:id="Country7" msdata:rowOrder="6"><RegionID>3246</RegionID><RegionName>爱尔兰</RegionName></Country><Country diffgr:id="Country8" msdata:rowOrder="7"><RegionID>3237</RegionID><RegionName>奥地利</RegionName></Country><Country diffgr:id="Country9" msdata:rowOrder="8"><RegionID>368</RegionID><RegionName>澳大利亚</RegionName></Country><Country diffgr:id="Country10" msdata:rowOrder="9"><RegionID>3169</RegionID><RegionName>巴基斯坦</RegionName></Country><Country diffgr:id="Country11" msdata:rowOrder="10"><RegionID>3580</RegionID><RegionName>巴西</RegionName></Country><Country diffgr:id="Country12" msdata:rowOrder="11"><RegionID>3232</RegionID><RegionName>保加利亚</RegionName></Country><Country diffgr:id="Country13" msdata:rowOrder="12"><RegionID>3243</RegionID><RegionName>比利时</RegionName></Country><Country diffgr:id="Country14" msdata:rowOrder="13"><RegionID>3235</RegionID><RegionName>波兰</RegionName></Country><Country diffgr:id="Country15" msdata:rowOrder="14"><RegionID>3163</RegionID><RegionName>朝鲜</RegionName></Country><Country diffgr:id="Country16" msdata:rowOrder="15"><RegionID>3245</RegionID><RegionName>丹麦</RegionName></Country><Country diffgr:id="Country17" msdata:rowOrder="16"><RegionID>3238</RegionID><RegionName>德国</RegionName></Country><Country diffgr:id="Country18" msdata:rowOrder="17"><RegionID>3225</RegionID><RegionName>俄罗斯</RegionName></Country><Country diffgr:id="Country19" msdata:rowOrder="18"><RegionID>3241</RegionID><RegionName>法国</RegionName></Country><Country diffgr:id="Country20" msdata:rowOrder="19"><RegionID>3151</RegionID><RegionName>菲律宾</RegionName></Country><Country diffgr:id="Country21" msdata:rowOrder="20"><RegionID>3248</RegionID><RegionName>芬兰</RegionName></Country><Country diffgr:id="Country22" msdata:rowOrder="21"><RegionID>3377</RegionID><RegionName>刚果(金)</RegionName></Country><Country diffgr:id="Country23" msdata:rowOrder="22"><RegionID>3524</RegionID><RegionName>哥伦比亚</RegionName></Country><Country diffgr:id="Country24" msdata:rowOrder="23"><RegionID>344</RegionID><RegionName>古巴</RegionName></Country><Country diffgr:id="Country25" msdata:rowOrder="24"><RegionID>3162</RegionID><RegionName>韩国</RegionName></Country><Country diffgr:id="Country26" msdata:rowOrder="25"><RegionID>3244</RegionID><RegionName>荷兰</RegionName></Country><Country diffgr:id="Country27" msdata:rowOrder="26"><RegionID>347</RegionID><RegionName>加拿大</RegionName></Country><Country diffgr:id="Country28" msdata:rowOrder="27"><RegionID>3313</RegionID><RegionName>加纳</RegionName></Country><Country diffgr:id="Country29" msdata:rowOrder="28"><RegionID>3154</RegionID><RegionName>柬埔寨</RegionName></Country><Country diffgr:id="Country30" msdata:rowOrder="29"><RegionID>3236</RegionID><RegionName>捷克</RegionName></Country><Country diffgr:id="Country31" msdata:rowOrder="30"><RegionID>3233</RegionID><RegionName>克罗地亚</RegionName></Country><Country diffgr:id="Country32" msdata:rowOrder="31"><RegionID>3316</RegionID><RegionName>肯尼亚</RegionName></Country><Country diffgr:id="Country33" msdata:rowOrder="32"><RegionID>3228</RegionID><RegionName>拉托维亚</RegionName></Country><Country diffgr:id="Country34" msdata:rowOrder="33"><RegionID>3155</RegionID><RegionName>老挝</RegionName></Country><Country diffgr:id="Country35" msdata:rowOrder="34"><RegionID>3227</RegionID><RegionName>立陶宛</RegionName></Country><Country diffgr:id="Country36" msdata:rowOrder="35"><RegionID>3312</RegionID><RegionName>马达加斯加</RegionName></Country><Country diffgr:id="Country37" msdata:rowOrder="36"><RegionID>3166</RegionID><RegionName>马尔代夫</RegionName></Country><Country diffgr:id="Country38" msdata:rowOrder="37"><RegionID>3158</RegionID><RegionName>马来西亚</RegionName></Country><Country diffgr:id="Country39" msdata:rowOrder="38"><RegionID>3319</RegionID><RegionName>马里</RegionName></Country><Country diffgr:id="Country40" msdata:rowOrder="39"><RegionID>346</RegionID><RegionName>美国</RegionName></Country><Country diffgr:id="Country41" msdata:rowOrder="40"><RegionID>3165</RegionID><RegionName>蒙古</RegionName></Country><Country diffgr:id="Country42" msdata:rowOrder="41"><RegionID>3578</RegionID><RegionName>秘鲁</RegionName></Country><Country diffgr:id="Country43" msdata:rowOrder="42"><RegionID>3160</RegionID><RegionName>缅甸</RegionName></Country><Country diffgr:id="Country44" msdata:rowOrder="43"><RegionID>3311</RegionID><RegionName>莫桑比克</RegionName></Country><Country diffgr:id="Country45" msdata:rowOrder="44"><RegionID>345</RegionID><RegionName>墨西哥</RegionName></Country><Country diffgr:id="Country46" msdata:rowOrder="45"><RegionID>3310</RegionID><RegionName>南非</RegionName></Country><Country diffgr:id="Country47" msdata:rowOrder="46"><RegionID>3164</RegionID><RegionName>尼泊尔</RegionName></Country><Country diffgr:id="Country48" msdata:rowOrder="47"><RegionID>3379</RegionID><RegionName>尼日利亚</RegionName></Country><Country diffgr:id="Country49" msdata:rowOrder="48"><RegionID>3250</RegionID><RegionName>挪威</RegionName></Country><Country diffgr:id="Country50" msdata:rowOrder="49"><RegionID>3239</RegionID><RegionName>葡萄牙</RegionName></Country><Country diffgr:id="Country51" msdata:rowOrder="50"><RegionID>3161</RegionID><RegionName>日本</RegionName></Country><Country diffgr:id="Country52" msdata:rowOrder="51"><RegionID>3249</RegionID><RegionName>瑞典</RegionName></Country><Country diffgr:id="Country53" msdata:rowOrder="52"><RegionID>3242</RegionID><RegionName>瑞士</RegionName></Country><Country diffgr:id="Country54" msdata:rowOrder="53"><RegionID>3318</RegionID><RegionName>塞内加尔</RegionName></Country><Country diffgr:id="Country55" msdata:rowOrder="54"><RegionID>3172</RegionID><RegionName>沙特阿拉伯</RegionName></Country><Country diffgr:id="Country56" msdata:rowOrder="55"><RegionID>3167</RegionID><RegionName>斯里兰卡</RegionName></Country><Country diffgr:id="Country57" msdata:rowOrder="56"><RegionID>3159</RegionID><RegionName>泰国</RegionName></Country><Country diffgr:id="Country58" msdata:rowOrder="57"><RegionID>3315</RegionID><RegionName>坦桑尼亚</RegionName></Country><Country diffgr:id="Country59" msdata:rowOrder="58"><RegionID>3321</RegionID><RegionName>突尼斯</RegionName></Country><Country diffgr:id="Country60" msdata:rowOrder="59"><RegionID>3229</RegionID><RegionName>土耳其</RegionName></Country><Country diffgr:id="Country61" msdata:rowOrder="60"><RegionID>342</RegionID><RegionName>委内瑞拉</RegionName></Country><Country diffgr:id="Country62" msdata:rowOrder="61"><RegionID>3153</RegionID><RegionName>文莱</RegionName></Country><Country diffgr:id="Country63" msdata:rowOrder="62"><RegionID>3226</RegionID><RegionName>乌克兰</RegionName></Country><Country diffgr:id="Country64" msdata:rowOrder="63"><RegionID>3175</RegionID><RegionName>乌兹别克斯坦</RegionName></Country><Country diffgr:id="Country65" msdata:rowOrder="64"><RegionID>3240</RegionID><RegionName>西班牙</RegionName></Country><Country diffgr:id="Country66" msdata:rowOrder="65"><RegionID>3230</RegionID><RegionName>希腊</RegionName></Country><Country diffgr:id="Country67" msdata:rowOrder="66"><RegionID>3157</RegionID><RegionName>新加坡</RegionName></Country><Country diffgr:id="Country68" msdata:rowOrder="67"><RegionID>369</RegionID><RegionName>新西兰</RegionName></Country><Country diffgr:id="Country69" msdata:rowOrder="68"><RegionID>3234</RegionID><RegionName>匈牙利</RegionName></Country><Country diffgr:id="Country70" msdata:rowOrder="69"><RegionID>3174</RegionID><RegionName>叙利亚</RegionName></Country><Country diffgr:id="Country71" msdata:rowOrder="70"><RegionID>343</RegionID><RegionName>牙买加</RegionName></Country><Country diffgr:id="Country72" msdata:rowOrder="71"><RegionID>3171</RegionID><RegionName>伊朗</RegionName></Country><Country diffgr:id="Country73" msdata:rowOrder="72"><RegionID>3231</RegionID><RegionName>意大利</RegionName></Country><Country diffgr:id="Country74" msdata:rowOrder="73"><RegionID>3168</RegionID><RegionName>印度</RegionName></Country><Country diffgr:id="Country75" msdata:rowOrder="74"><RegionID>3152</RegionID><RegionName>印度尼西亚</RegionName></Country><Country diffgr:id="Country76" msdata:rowOrder="75"><RegionID>3247</RegionID><RegionName>英国</RegionName></Country><Country diffgr:id="Country77" msdata:rowOrder="76"><RegionID>3173</RegionID><RegionName>约旦</RegionName></Country><Country diffgr:id="Country78" msdata:rowOrder="77"><RegionID>3156</RegionID><RegionName>越南</RegionName></Country><Country diffgr:id="Country79" msdata:rowOrder="78"><RegionID>3523</RegionID><RegionName>智利</RegionName></Country></getRegion></diffgr:diffgram></getRegionDatasetResult></getRegionDatasetResponse></soap:Body></soap:Envelope>

    解析方法如下:
//将响应的SOAPMessage解析成xml的代码片段 response为响应的SOAPMessage
Transformer transformer = transformerFactory.newTransformer();Document doc = response.getSOAPPart().getEnvelope().getOwnerDocument();StreamResult streamResult = new StreamResult(output);transformer.transform(new DOMSource(doc),streamResult);result = output.toString();//将xml使用dom4j进行解析。传入参数为root元素,返回的类型为Map<String,List<Object>>,利用的也是递归调用,这样
public static Map<String,List<Object>> xmlToMap(Element root){Map<String,List<Object>> map = new HashMap<String,List<Object>>();if (root == null){return map;}List<Element> elements = root.elements();if(elements.size()>0){for (Element e:elements) {String key = e.getName();if (e.elements().size()>0){if (map.containsKey(key)){map.get(key).add(xmlToMap(e));}else {List<Object> list = new ArrayList();list.add(xmlToMap(e));map.put(key,list);}}else {if (map.containsKey(key)){map.get(key).add(e.getData());}else {List<Object> list = new ArrayList();list.add(e.getData());map.put(key,list);}}}}else{String key = root.getName();if (map.containsKey(key)){map.get(key).add(root.getData());}else {List<Object> list = new ArrayList();list.add(root.getData());map.put(key,list);}}return map;}

返回的map使用json进行解析则可以得到json串。
由于此次结果的json比较庞大,故只给一部分截图,有兴趣的看官可以自行调用查看完整结果

至此已经完成了SOAPMessage的组装与解析。

webservice 调用以及SOAPMessage的组装与解析相关推荐

  1. WebService调用工具类对Sopa 1.1和Sopa 1.2都可以以及HTTP请求

    对于已经提供了wsdl 的WebService服务的时候一般有sopa 1.1和 1.2的方式 或者是这样的 可以使用GET和POST 的HTTP请求调用 现在来第一种情况的编写属于我们自己的工具类把 ...

  2. webservice调用国内飞机航班时刻表 WEB 服务

    昨天帮朋友写的一个调用国内航班时刻表的测试程序,折腾了我好一会的时间,打算把它分享出来,共大家参考,其中wsdl:http://ws.webxml.com.cn/webservices/Domesti ...

  3. 通过WebService调用SQLXML(SQL Server 2005) [ZT]

    [翻译]通过WebService调用SQLXML(SQL Server 2005) 原文发布日期:2007.02.04 作者:Russ Quinn 翻译:webabcd 介绍 我最近需要给用户创建一个 ...

  4. springboot版本升级导致webservice调用失败org.apache.cxf.common.jaxb.JAXBUtils.createMininumEscapeHandle

    很感谢这位作者的文章https://blog.csdn.net/q340505050518/article/details/105394315 近期对项目版本进行升级 原项目版本 从 Springcl ...

  5. WebService调用

    WebService调用方法总结 一.客户端代理类 1.方式一. using System; using System.CodeDom; using System.CodeDom.Compiler; ...

  6. java两个项目之间通过webservice调用-源码仅供参考

    项目1.本项目为struts2项目所以需要配置配置文件 applicationcontex-cxf.xml配置 <!-- 定义具体实现的 Bean ,这个 Bean 的定义与 Spring 普通 ...

  7. ISO8583报文工具类(组装和解析报文)

    很久没来csdn了.现在的工作地点在银行,妈的,不让上网啊. 写写博客其实是对自己知识的总结,这么长时间了,也该写点东西了.接触银行的项目,避免不了 遇上8583报文.具体介绍就不细讲了,这个网上一大 ...

  8. WebService调用ODI同步任务

    1. 概述 ODI11G默认提供了WebService的调用接口,供其他各种应用程序通过接口控制.访问ODI自身的同步任务. ODI11G在安装完成,启动代理后,会自动启动webservice的服务端 ...

  9. java webservice调用方式_java语言使用post方式调用webService方式

    展开全部 WebService可以有Get. Post.Soap.Document四种方式调62616964757a686964616fe78988e69d8331333337396232用,以下Ja ...

最新文章

  1. 零基础学caffe源码 ReLU激活函数
  2. Fiddler 跟踪数据包
  3. 计算机设备投标标书范本,OA办公自动化系统投标文件(标书范本)
  4. 全民上云时代,如何降低成本?
  5. SPIR-V 研究:编译器基本原理
  6. Error:Trailing spaces not allowed no-trailing-spaces
  7. 如何防范电改下分布式光伏的风险
  8. 行连接和列连接的区别
  9. [蛋蛋四格漫画]-贺沪江日语四周年版庆
  10. 20170826滴滴算法工程师笔试
  11. 零基础java学习笔记
  12. 机器学习的数学基础(3):正交性原理(orthogonality principle)
  13. favicon.ico图标在线制作+ico下载
  14. Service(LoadBalancer)
  15. 为什么禁止超过三张表 join,原理是什么?
  16. 9.9的阿里巴巴编码规范考试竟如此简单?搜集试题分享!让我们一起守护开发规范!
  17. emoji表情符号编码大全
  18. 2014 北京邀请赛 B
  19. 变电站应用监控系统6大优势,你知道几个?
  20. 想要画好素描,首先做到思路清晰~

热门文章

  1. 智能车学习日记【五】——————坡道和弯接坡道
  2. ElasticSearch学习笔记之十一 Anayle API和IK分词器
  3. Lodop在web中套打的应用
  4. 家教源码php,新版PHP家教网源码 整站PHP家教网站 搭建家教网
  5. 聚乳酸包覆油酸修饰二氧化硅纳米颗粒/聚乙二醇 PEG-PLGA-SiO2的应用
  6. 在vc2008中,把项目选择为RTSS,出现错误LINK : fatal error LNK1181: 无法打开输入文件“rtxlibcmt.lib
  7. 安卓搜不到airpods_完美兼容 安卓手机连接AirPods必懂方法
  8. 安防CMOS图像传感器市场现状及未来发展趋势
  9. MATLAB中DEMUX分配输出的方法
  10. UML diagrams