<wsdl:input name=“getGridResourceRequest”>
<wsdlsoap:body use=“literal”/>
</wsdl:input>
<wsdl:output name=“getGridResourceResponse”>
<wsdlsoap:body use=“literal”/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name=“GridWebServiceService”>
<wsdl:port binding=“impl:GridWebServiceSoapBinding” name=“GridWebService”>
<wsdlsoap:address location=“http://10.213.54.118:7000/BundleSmart/webservice/GridWebService”/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
==========================================================================
如果右键没有发现webservice ,说明你的IDEA 没有webservice 插件,不用慌,装一个就可以了,也很简单。
ctrl+alt+s,勾选如下图两个就可以了。
右键项目webservice,如下图,会弹出框。
file:/D:/guanxian.wsdl 是我本地的wsdl 文件路径,如果网络互通,可以直接填写url.
com.guanxian.webserver 是我们自定义存放的包路径。
点击OK,就可以下载成功,如下图。
===================================================================
在这之前,先说一下需求以及接口的格式吧。
输出格式:
<?xml version="1.0" encoding="UTF-8"?>网格、经营部ID
1-网格、2-经营部
0-失败、1-成功
失败时反馈失败信息(例:该网格数据不存在、该经营部数据不存在。。。)
<gcll_line>
<gcll_name>专线名称</gcll_name>
<gcll_type>专线类型</gcll_type>
</gcll_line>
<gcll_line>
<gcll_name>专线名称</gcll_name>
<gcll_type>专线类型</gcll_type>
</gcll_line>
<gcll_site>
<gcll_name>站点名称</gcll_name>
</gcll_site>
<gcll_site>
<gcll_name>站点名称</gcll_name>
</gcll_site>
<gcll_customer>
<gcll_name>站点名称</gcll_name>
</gcll_customer>
<gcll_customer>
<gcll_name>站点名称</gcll_name>
</gcll_customer>
可以看到都是xml 格式的。我们这里请求的参数比较少,所以就直接拼接了。
private String queryFromEoms() throws Exception {
StringBuilder sb = new StringBuilder();
sb.append(“<?xml version=\"1.0\" encoding=\"UTF-8\"?>”)
.append(“”)
.append(“”)
.append(“”).append(grid).append(“”)
.append(“”).append(type).append(“”)
.append(“”)
.append(“”);
log.info(“------requestxml-------”+sb.toString());
GridWebServiceSoapBindingStub stub =new GridWebServiceSoapBindingStub();
return stub.getGridResource(stub.toString());
}
========================================================================
但是返回给我们也是xml ,这里我们返回给前端xml的话就不好了,所以我们将xml 转成json 来返回。
com.alibaba
fastjson
1.2.67
dom4j
dom4j
1.6.1
public class XmlUtils {
public static JSONObject xml2Json(String xmlStr) throws Exception{
Document doc= DocumentHelper.parseText(xmlStr);
JSONObject json=new JSONObject();
dom4j2Json(doc.getRootElement(), json);
return json;
}
/**
-
xml转json
-
@param element
-
@param json
*/
public static void dom4j2Json(Element element, JSONObject json){
//如果是属性
for(Object o:element.attributes()){
Attribute attr=(Attribute)o;
if(!isEmpty(attr.getValue())){
json.put(“@”+attr.getName(), attr.getValue());
}
}
List chdEl=element.elements();
if(chdEl.isEmpty()&&!isEmpty(element.getText())){//如果没有子元素,只有一个值
json.put(element.getName(), element.getText());
}
for(Element e:chdEl){//有子元素
if(!e.elements().isEmpty()){//子元素也有子元素
JSONObject chdjson=new JSONObject();
dom4j2Json(e,chdjson);
Object o=json.get(e.getName());
if(o!=null){
JSONArray jsona=null;
if(o instanceof JSONObject){//如果此元素已存在,则转为jsonArray
JSONObject jsono=(JSONObject)o;
json.remove(e.getName());
jsona=new JSONArray();
jsona.add(jsono);
jsona.add(chdjson);
}
if(o instanceof JSONArray){
jsona=(JSONArray)o;
jsona.add(chdjson);
}
json.put(e.getName(), jsona);
}else{
if(!chdjson.isEmpty()){
json.put(e.getName(), chdjson);
}
}
}else{//子元素没有子元素
for(Object o:element.attributes()){
Attribute attr=(Attribute)o;
if(!isEmpty(attr.getValue())){
json.put(“@”+attr.getName(), attr.getValue());
}
}
if(!e.getText().isEmpty()){
json.put(e.getName(), e.getText());
}
}
}
}
public static boolean isEmpty(String str) {
if (str == null || str.trim().isEmpty() || “null”.equals(str)) {
return true;
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
if (str == null || str.trim().isEmpty() || “null”.equals(str)) {
return true;
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】