当前位置: 首页 > news >正文

.Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)

最近在项目中与别的公司对接业务,对方是Java语言,需要调用对方的WebServices,结果常规的添加web引用的方法可以传过去值,但是返回值为null

查了很多资料,没有解决方法

思考应该是.Net封装后,转换成.Net变量时有问题

于是考虑采用基础的HttpWebRequest,使用Soap协议进行WebServices调用

            try
            {
                Console.WriteLine("新开始进行连接测试");

                string responseString;
                string param = @"<?xml version=""1.0"" encoding=""utf-8""?>
                                <soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">
                                 <soap12:Body>
                                    <HelloWorld xmlns=""http://tempuri.org/"">
                                        <StudentName>1212</StudentName>
                                         <PassWord>12121</PassWord>
                                    </HelloWorld>
                                </soap12:Body>
                            </soap12:Envelope>";

                byte[] bs = Encoding.UTF8.GetBytes(param);
                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("  http://fox-gaolijun/Short_Message/Service1.asmx");
                
                myRequest.Method = "POST";
                myRequest.ContentType = "application/soap+xml; charset=utf-8";
                myRequest.ContentLength = bs.Length;
                
                Console.WriteLine("完成准备工作");

                using (Stream reqStream = myRequest.GetRequestStream())
                {
                    reqStream.Write(bs, 0, bs.Length);
                }
                
                using (HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse())
                {
                    StreamReader sr = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                    responseString = sr.ReadToEnd();
                    Console.WriteLine("反馈结果" + responseString);
                }
                Console.WriteLine("完成调用接口");
            }
            catch (Exception e)
            {
                Console.WriteLine(System.DateTime.Now.ToShortTimeString() + "LBS EXCEPTION:" + e.Message);
                Console.WriteLine(e.StackTrace);
            }

注意多线程的时候可以参考下面的文章进行优化

https://blog.csdn.net/superhoy/article/details/18598835

 

参考文章:

http://www.cnblogs.com/macroxu-1982/archive/2009/12/23/1630415.html

转载于:https://www.cnblogs.com/leiyongbo/p/10431733.html

相关文章:

  • Activiti数据库
  • pdf文件如何在线转换为jpg图片
  • ###STL(标准模板库)
  • mysql-5.6的GTID复制的实现
  • 整理一些计算机基础知识!
  • QMake study(part 3)
  • 制作公安系统产品思路
  • 对象
  • Install Erlang in Ubuntu
  • [日常] imap协议读取邮件
  • Java数据类型
  • Linux内核的缓存
  • Javascript Promise 学习(上)
  • windows下mongoDB的环境配置
  • 使用Sublime Text 2 编辑Markdown
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Linux中的硬链接与软链接
  • MySQL用户中的%到底包不包括localhost?
  • Node 版本管理
  • nodejs调试方法
  • SAP云平台里Global Account和Sub Account的关系
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Spring Boot快速入门(一):Hello Spring Boot
  • 简单易用的leetcode开发测试工具(npm)
  • 判断客户端类型,Android,iOS,PC
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 消息队列系列二(IOT中消息队列的应用)
  • 协程
  • 用quicker-worker.js轻松跑一个大数据遍历
  • postgresql行列转换函数
  • ​如何防止网络攻击?
  • $NOIp2018$劝退记
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (WSI分类)WSI分类文献小综述 2024
  • (补)B+树一些思想
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (四)Controller接口控制器详解(三)
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (算法设计与分析)第一章算法概述-习题
  • (已解决)什么是vue导航守卫
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)http-server应用
  • (转)菜鸟学数据库(三)——存储过程
  • (转)我也是一只IT小小鸟
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Core 项目指定SDK版本
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .net打印*三角形
  • .NET面试题(二)
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • @ComponentScan比较
  • [ NOI 2001 ] 食物链