网站首页 > java教程 正文
java如何调用c#开发的soap接口呢
这里就给大家讲一下,如何调用
先引入jar
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.2</version>
</dependency>
编写代码,调用接口
static String SOAP_URL = "http://xxxxx:6044/TBRXG.asmx";
static String SOAP_ACTION = "http://xxxxxxxx/GetXG_CS_";
/**
*
* @param request
* @param model
* @return
*/
@RequestMapping("/soap2")
public String soap2(HttpServletRequest request,Model model) {
String code=request.getParameter("code");
if(code.equals(""))
{
model.addAttribute("value", "条码不能为空");
return "typecode";
}
try {
java.net.URL url = new java.net.URL(SOAP_URL);
java.net.URLConnection connection = url.openConnection();
java.net.HttpURLConnection httpConn = (java.net.HttpURLConnection) connection;
byte[] b = getInputXML("104", "EgLEAgY89N0=", code).getBytes();
httpConn.setRequestProperty("Content-Length", String.valueOf(b.length));
httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
httpConn.setRequestProperty("SOAPAction", SOAP_ACTION);
httpConn.setRequestMethod("POST");
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
java.io.OutputStream outStm = httpConn.getOutputStream();
outStm.write(b);
outStm.close();
java.io.InputStreamReader isrStm = new java.io.InputStreamReader(httpConn.getInputStream());
java.io.BufferedReader inStm = new java.io.BufferedReader(isrStm);
String inputLine;
inputLine = inStm.readLine();
inStm.close();
if (inputLine == null) {
// return null;
}
String res = inputLine.substring(inputLine.indexOf("<GetXG_CS_Result>") + "<GetXG_CS_Result>".length(),
inputLine.indexOf("</GetXG_CS_Result>"));
// System.out.println("---" + res);
String type = res.substring(res.indexOf("<TyreSpecCode>") + "<TyreSpecCode>".length(),
res.indexOf("</TyreSpecCode>"));
String typeName=res.substring(res.indexOf("<TyreSpecName>") + "<TyreSpecName>".length(),
res.indexOf("</TyreSpecName>"));
// System.out.println("TyreSpecCode: " + type);
// System.out.println("TyreSpecName: " + typeName);
// model.addAttribute("value", type);
model.addAttribute("value", type+"-----"+typeName);
return "typecode";
} catch (Exception e) {
// TODO: handle exception
}
return null;
}
//解析xml数据
private static String getInputXML(String factoryId, String deviceId, String tmh) {
StringBuffer sb = new StringBuffer();
sb.append("<?xml version="1.0" encoding="utf-8"?>");
sb.append(
"<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">");
sb.append("<soap:Body><GetXG_CS_ xmlns="http://tempuri.org/">");
sb.append("<factoryId>").append(factoryId).append("</factoryId>");
sb.append("<deviceId>").append(deviceId).append("</deviceId>");
sb.append("<tmh>").append(tmh).append("</tmh>");
sb.append("</GetXG_CS_></soap:Body></soap:Envelope>");
return sb.toString();
}
以上就是java调用soap接口的代码了,希望可以帮到大家
猜你喜欢
- 2025-07-21 「Web应用架构」模式:前端的后端(BFF)
- 2025-07-21 Aspose.Total 6折,单品85折 史上最低仅剩10天
- 2025-07-21 开发者评论微软WP8.1/Win8.1通用应用
- 2025-07-21 【实战篇】数字化打印——打印管理模块的业务设计(一)
- 2025-07-21 10款好用的开源 HarmonyOS 工具库
- 2025-07-21 智能文字识别技术-ocr api-票据ocr文字识别-数字化
- 2025-07-21 Aspose.BarCode 更新至v7.1.0(aspose.total授权版)
- 2025-07-21 程序员界的“盗墓笔记”:WinForm+DEV
- 2025-07-21 Aspose.BarCode新版发布条码识别更准确
- 2025-07-21 文档流转,文档操作,文档归档(二)
你 发表评论:
欢迎- 07-21如何将 iPhone 中的联系人导出到 Excel/CSV?
- 07-21sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 07-21在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 07-21如何把csv格式转换成Excel格式(csv格式怎么转换)
- 07-21如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 07-21使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 07-21解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 07-21使用vba将Excel 文件转成 CSV 文件
- 最近发表
-
- 如何将 iPhone 中的联系人导出到 Excel/CSV?
- sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 使用vba将Excel 文件转成 CSV 文件
- python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- MySQL 导出数据(mysql 导出数据 判断成功)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)