1.使用soapui测试接口是否能通    具体操作步骤请查看:https://www.cnblogs.com/BINDAI/p/13201513.html

Soapui请求结果集

2.获得soapui的地址栏的接口访问地址

地址栏获得的接口地址

如http://192.168.1.103/wstopprd/ws/r/awsp900?Wsdl

访问接口地址为http://192.168.1.103/wstopprd/ws/r/awsp900

3.获得头部的SOAPAction

查看方法:

下面附上请求代码:

string URL = "http://192.168.1.103/wstopprd/ws/r/awsp900";
//创建请求
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
//创建头部信息
request.Method = "POST";
request.ContentType = "text/xml; charset=utf-8";
//具体请求查看soapui中的头部信息
request.Headers.Add("SOAPAction", "");这个为必填
//具体报文格式询问创建接口的开发
StringBuilder sb = new StringBuilder();
sb.Append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tip=\"http://www.digiwin.com.cn/tiptop/TIPTOPServiceGateWay\">");
sb.Append("<soapenv:Header/>");
sb.Append("<soapenv:Body>");
sb.Append("<tip:invokeSrv>");
sb.Append("<request>");
sb.Append("&lt;request type=\"sync\" key=\"76CFB4D975B57C166A5F93C79E19D933\"&gt;");
sb.Append(" &lt;host prod=\"CMS\" ver=\"1.0\" ip=\"192.168.1.103\" lang=\"zh_CN\" timezone=\"8\" timestamp=\"20200509085642517\" acct=\"tiptop\" /&gt;");
sb.Append("&lt;service prod=\"T100\" name=\"cms.return1\" srvver=\"1.0\" id=\"00000\" /&gt;");
sb.Append("&lt;datakey type=\"FOM\"&gt;");
sb.Append("&lt;key name=\"EntId\"&gt;88&lt;/key&gt;");
sb.Append("&lt;key name=\"CompanyId\"&gt;WDK&lt;/key&gt;");
sb.Append("&lt;/datakey&gt;");
sb.Append("&lt;payload&gt;");
sb.Append(" &lt;param key=\"data\" type=\"XML\"&gt;");
sb.Append("&lt;![CDATA[ ");
sb.Append(" &lt;Request&gt;");
sb.Append(" &lt;RequestContent&gt; ");
sb.Append("&lt;Parameter/&gt;");
sb.Append(" &lt;Document&gt;");
sb.Append(" &lt;RecordSet id=\"1\"&gt;");
if (model.D_PO_NO!=null&&model.D_PO_NO!="")
{
sb.Append("&lt;Master name=\"l_xmdc\" node_id=\"1\"&gt; ");
sb.Append(" &lt;Record&gt; ");
sb.Append(" &lt;Field name=\"xmda033\" value=\"" + model.D_PO_NO + "\"/&gt; ");
sb.Append("&lt;Field name=\"xmdcseq\" value=\"\"/&gt;");
sb.Append("&lt;/Record&gt; ");
sb.Append(" &lt;/Master&gt; ");
}
sb.Append(" &lt;/RecordSet&gt;");
sb.Append("&lt;/Document&gt; ");
sb.Append(" &lt;/RequestContent&gt; ");
sb.Append(" &lt;/Request&gt;]]&gt;");
sb.Append("&lt;/param&gt;");
sb.Append("&lt;/payload&gt;");
sb.Append("&lt;/request&gt;");
sb.Append(" </request>");
sb.Append(" </tip:invokeSrv>");
sb.Append(" </soapenv:Body>");
sb.Append(" </soapenv:Envelope>");
//Sb为请求报文
//转为字节数组
byte[] data = System.Text.Encoding.ASCII.GetBytes(sb.ToString());
//获得字节长度
request.ContentLength = data.Length; //开始请求
Stream writer = request.GetRequestStream();
writer.Write(data, , data.Length);
writer.Close();
// 回执信息
//using (var response = request.GetResponse())
using (WebResponse response = request.GetResponse()){ XmlDocument doc = new XmlDocument();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
//读取回执信息
string retXml = sr.ReadToEnd();
sr.Close();
//解析XML找到对应节点
doc.LoadXml(retXml);
var xmlStr = doc.SelectSingleNode("//response").ChildNodes[].InnerText;

关于WebServices的调用的更多相关文章

  1. axis WebServices 完美调用天气预报,查询、显示 代码!

    axis WebServices 完美调用天气预报,查询.显示 代码! 效果: jsp页面: <%@ page language="java" import="ja ...

  2. C# 创建WebServices及调用方法

    发布WebServices 1.创建  ASP.NET Web 服务应用程序 SayHelloWebServices 这里需要说明一下,由于.NET Framework4.0取消了WebService ...

  3. Java与.NET的WebServices相互调用

    一:简介 本文介绍了Java与.NET开发的Web Services相互调用的技术.本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用 ...

  4. Android通过ksoap2这个框架调用webservice大讲堂

    昨天有人问我Android怎么连接mysql数据库,和对数据库的操作呀,我想把,给他说说json通信,可是他并不知道怎么弄,哎算了吧,直接叫他用ksoap吧,给他说了大半天,好多零碎的知识,看来还是有 ...

  5. webservice中将dataset 压缩

    http://blog.csdn.net/bodaowang/article/details/6889446 在webservice中将dataset序列化是我们经常遇到的问题,但是遇到很大的data ...

  6. 黑马毕向东Java基础知识总结

    Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记    侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...

  7. 《果壳中的C# C# 5.0 权威指南》 - 学习笔记

    <果壳中的C# C# 5.0 权威指南> ========== ========== ==========[作者] (美) Joseph Albahari (美) Ben Albahari ...

  8. c# 动态调用.net编写的webservices接口

    创建类WebServiceHelper: public class WebServiceHelper { #region 动态调用WebService动态调用地址 /// < summary&g ...

  9. jquery Ajax跨域调用WebServices方法

    由于公司需要开发一个手机页面,想提供给同事直接在手机上可以查询SAP资料.数据需要使用js调用webserver来获取. 因为初次使用Jquery调用Webserver,所以期间并不顺利.测试调用We ...

随机推荐

  1. 第七届蓝桥杯JavaB组国(决)赛部分真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.愤怒小鸟 题目描述 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米 两火车 (不妨称A和B) 以时速 10米 ...

  2. java实现第七届蓝桥杯碱基

    碱基 题目描述 生物学家正在对n个物种进行研究. 其中第i个物种的DNA序列为s[i],其中的第j个碱基为s[i][j],碱基一定是A.T.G.C之一. 生物学家想找到这些生物中一部分生物的一些共性, ...

  3. java实现第六届蓝桥杯立方尾不变

    立方尾不变 立方尾不变 有些数字的立方的末尾正好是该数字本身. 比如:1,4,5,6,9,24,25,- 请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一 ...

  4. java实现第四届蓝桥杯逆波兰表达式

    逆波兰表达式 正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便. 例如:3 + 5 * (2 + 6) - 1 而且,常常需要用括号来改变运算次序. 相反,如果使用逆波兰表 ...

  5. Linux 工作管理

    把进程放入后台 进程后加&,这时,进程在后台是运行的 tar -zcf etc.tar.gz /etc & 在执行程序时,快速按下ctrl+z快捷键,这时,进程在后台是停止的 查看后台 ...

  6. 【JVM故事】了解JVM的结构,好在面试时吹牛

    class文件格式 参考上一篇文章<[JVM故事]一个Java字节码文件的诞生记>,后续还会专门讲解class文件的内部结构. 数据类型 jvm包括两种数据类型,基本类型和引用类型. 基本 ...

  7. 深入理解JVM(③)各种垃圾收集算法

    前言 从如何判定对象消亡的角度出发,垃圾收集算法可以划分为"引用计数式垃圾收集"(Reference Counting GC)和"追踪式垃圾收集"(Tracin ...

  8. 1.Redis Lock

    使用场景 同步锁,让业务方法在锁设定的时间内是同步执行的 redisService.setIfAbsent redisService.expire @PostMapping("/update ...

  9. Jmeter(九) - 从入门到精通 - JMeter逻辑控制器 - 上篇(详解教程)

    1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思 ...

  10. Nice Jquery Validator 【从 jQuery Validation 迁移】

    1. 初始化表单验证 .validate VS .validator jquery-validation : $("#myform").validate(options) nice ...