Java调用.net开发的webService接口
若一个webservice接口是以.asmx格式来结尾的话,则表明该接口是.net开发的接口
例如:http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx(英文双向翻译服务)
对于.net开发的webservice接口在,Java平台中以常规的第三方jar包来调用会出现错误
使用SoapUI先获取到XML请求报文,然后以最原始的方式(拼接报文)向webService接口地址发送报文调用其服务
package com.demo;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class netWebServiceDemo {public static void main(String[] args) throws Exception {callXml("apple");}public static void callXml(String word) throws Exception{//地址URL url = new URL("http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx");//调用的方法String soapActionString = "getEnCnTwoWayTranslator";//打开链接HttpURLConnection con = (HttpURLConnection) url.openConnection();//拼接好xmlStringBuffer sb = new StringBuffer();sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");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/\">\n"); sb.append("<soap:Body>\n");sb.append("<getEnCnTwoWayTranslator xmlns=\"http://WebXml.com.cn/\">\n");sb.append("<Word>");sb.append(word);sb.append("</Word>\n");sb.append("</getEnCnTwoWayTranslator>\n");sb.append("</soap:Body>\n");sb.append("</soap:Envelope>\n");String xmlStr = sb.toString();System.out.println(xmlStr);//设置好header信息con.setRequestMethod("POST");con.setRequestProperty("content-type", "text/xml; charset=utf-8");con.setRequestProperty("Content-Length", String.valueOf(xmlStr.getBytes().length));con.setRequestProperty("soapActionString", soapActionString);//post请求需要设置con.setDoOutput(true);con.setDoInput(true);//对请求body 往里写xml 设置请求参数OutputStream ops = con.getOutputStream();ops.write(xmlStr.getBytes());ops.flush();ops.close();//设置响应回来的信息InputStream ips = con.getInputStream();ByteArrayOutputStream baos = new ByteArrayOutputStream();byte[] buf = new byte[1024];int length = 0;while( (length = ips.read(buf)) != -1){baos.write(buf, 0, length);baos.flush();}byte[] responsData = baos.toByteArray();baos.close();//处理写响应信息String responsMess = new String(responsData,"utf-8");System.out.println(responsMess);System.out.println(con.getResponseCode());}
}
Java调用.net开发的webService接口相关推荐
- android开发接口调用,Android开发中webService接口调用示例
代码示例: package com.study.ws; import java.io.IOException; import org.ksoap2.SoapEnvelope; import org.k ...
- axis2 java.net.url_axis2调用.net写的webservice接口实现,指定参数名
参考文章:https://blog.csdn.net/wangyu2016/article/details/76022928 使用axis2调用调用.net写的webservice接口时出现参数无法传 ...
- java使用axis调用.net发布的webservice接口返回对象类型
本人在java中axis-1.4 调用 .net发布的webService接口 有问题欢迎各路大神讨论 !!! 1.1 基本类型 1.2 对象类型 1.3复杂对象类型(对象类中嵌套对象类) 返回基本类 ...
- SpringBoot调用.asmx后缀的webservice接口
目录 一.简介 二.示例 一.简介 最近在项目中,在与其他公司做对接中需要回调一个对方的接口,根据对方提供的接口地址, 发现是webservice的接口,而且接口后缀名为.asmx,因为现在webse ...
- 关于Java调用.NET WCF和Webservice以及javaWebService通用的一种方法
前景:关于.NET WCF和Webservice的意义及其区别,大家可以自行百度,不想百度的用Google,反正我个人喜欢谷歌. 这两天一直在研究使用java 调用.NET WCF和Webservic ...
- Java调用阿里云短信接口,发送短信
Java调用阿里云短信接口,发送短信 1.短信服务这个很简单,只需要知道accessKeyId(AK).accessKeySecret(SK).短信签名.短信模板即可. 2.域名和产品名称是固定的,使 ...
- java 调用 wsdl形式的webservice 示例
正在开发的中间件要用到第三方提供的webservice,网上的资料稂莠不齐,java调用webservice折腾了我两天,不就是调用URL上对应的方法嘛,尼玛怎么这么难调用?(还是RESTFUL好用) ...
- html调用天气预报wsdl服务,webservice接口调用天气预报例程
[实例简介] c# winform 调用公共天气预报webservice接口,初学者参考,大神忽略 [实例截图] [核心代码] WSTest └── WS Test └── WindowsFormsA ...
- C#开发XML WebService接口(SOAP)
using System; using System.Collections; using System.ComponentModel; using System.Data; using System ...
最新文章
- 怎樣制作线段动画_PPT动画还能这么做?我擦!动画源文件免费送你
- 四、Flash Media Server3.5安全特性
- 工业互联网白皮书_发布|《工业互联网平台安全白皮书(2020)》发布
- 深度解析开源推荐算法框架EasyRec的核心概念和优势
- LogBack 打印 ES的DSL日志信息
- 如何用Postman mock服务?
- c++求解自行车慢速比赛问题_隐马尔可夫模型(模型推断五大问题)
- [Ajax] 如何使用Ajax传递多个复选框的值
- Linux执行命令./command与直接输入命令的区别
- PHP - 日期和时间
- 一个超好玩的音乐网站源码 类似小游戏
- 如何用CMD查看本机的IP地址
- 华为电脑和手机一碰传_华为手机怎么一碰传文件到电脑教程
- 怎么使用漫画脸制作软件
- 郑州轻工业大学OJ python 1060: 逆序数字
- 天猫手机卖到第一:手机厂在想什么
- INF443 Amphi 1
- shell处理 [批次号][分隔符][文件名称].[后缀] 格式的文件
- Android_2_常用控件及常用属性
- Kafka节点服役和退役
热门文章
- java Properties异常:Malformed \uxxxx encoding.
- 梁宁:真正驱动你变强的,是痛苦
- Ubuntu16.04安装python3.6.6步骤
- 全球首发!惯性导航导论(剑桥大学)第八部分
- 【复赛前排分享(三)】高手上场第一招,这些赛事技巧你掌握了吗?
- NLP文本分类大杀器:PET范式
- python中get和getall_Scrapy框架get() 、getall() 、extract() 、extract_first()的区别
- idea实现抽象类的所有抽象方法_父类子类抽象类,super final 重写方法,搞懂继承中复杂的知识点
- find python3_Python3 rfind()方法
- 机器学习实战(八)分类回归树CART(Classification And Regression Tree)