通过C# 代码实现webservice 的调用

通过C# 代码实现webservice 的调用

读取操作

var instance = new WebReference.service1();

        instance.Credentials = new NetworkCredential(“K8NY4FCZOQP”, “Aaaaaaa5”);

        //var instance = new Y3YCI6DOY_WSserviceClient(“binding1”);

        //serviceInstance.c

        //instance.ClientCredentials.UserName.UserName = “K8NY4FCZOQP”;

        //instance.ClientCredentials.UserName.Password = “Aaaaaaa5”;

 

 

        AddMultReadByIDQuery addmult = new AddMultReadByIDQuery();

        addmult.OperationID =  this.TextBox5.Text;

        AddMultReadByIDQueryMessage_sync ReadBy = new AddMultReadByIDQueryMessage_sync();

        ReadBy.AddMult = addmult;

        AddMultReadByIDResponseMessage_sync readResponse = new AddMultReadByIDResponseMessage_sync();

        readResponse = instance.Read(ReadBy);

 

        AddMultReadByIDResponse ReadByID = new AddMultReadByIDResponse();

        ReadByID = readResponse.AddMult;

        this.TextBox1.Text = ReadByID.Value1.ToString();

 

        this.TextBox2.Text = ReadByID.Value2.ToString();

 

        this.TextBox3.Text = ReadByID.Result1.ToString();

 

        this.TextBox4.Text = ReadByID.Result2.ToString();

 

创建

var instance = new WebReference.service1();

        instance.Credentials = new NetworkCredential(“K8NY4FCZOQP”, “Aaaaaaa5”);

        //var instance = new Y3YCI6DOY_WSserviceClient(“binding1”);

        //serviceInstance.c

        //instance.ClientCredentials.UserName.UserName = “K8NY4FCZOQP”;

        //instance.ClientCredentials.UserName.Password = “Aaaaaaa5”;

        AddMultCreateRequest create = new AddMultCreateRequest();

        create.Value1Specified = true;

        create.Value1 = Convert.ToInt32(this.TextBox1.Text);

        create.Value2Specified = true;

        create.Value2 =Convert.ToInt32(this.TextBox2.Text);

        create.OperationID = this.TextBox5.Text;

 

        AddMultCreateRequestMessage_sync createRequest=new AddMultCreateRequestMessage_sync ();

        createRequest.AddMult=create;

        AddMultCreateConfirmationMessage_sync creteConfir =  instance.Create(createRequest);

        if (creteConfir!=null)

        {

            if (creteConfir.AddMult.OperationID!=””)

            {

                Response.Write(“<script>alert(‘添加成功’);</script>”);

            }

           

        }

这里主要的难题是那个验证:instance.Credentials = new NetworkCredential(“K8NY4FCZOQP”, “Aaaaaaa5”);

我试过很多方法,以后可能也会继续研究。不过现在开发需要,只能点到即止了!

 

在这里我学到了两种方法引用web服务。说是两种其实是一种,因为第二种是在第一种无法实现的情况下(不兼容的情况下)才用。

第一种:

通过C# 代码实现webservice 的调用

                       

 

第二种:点击高级→点击引用web服务

通过C# 代码实现webservice 的调用

 

其实两种的所填的路径都一样,只是第一种有更严格的验证和保密机制,第二种就相对弱点,都是明文传送容易被截取。

 

仔细研究.net 根据wsdl自动生成的类,就会发现。有一定的规律在里面。比如:

AddMultReadByIDQueryMessage_sync  查找的类参数

AddMultReadByIDResponseMessage_sync 同步返回的类

 

AddMultCreateRequestMessage_sync 创建时的参数

AddMultCreateConfirmationMessage_sync 同步返回时的类

 

和普通的类调用相比,虽然可以看出会多出很多复杂和多余的类,但是还是有一些本来的重要属性在里面。

比如:创建时,需要必填的字段必须设置Value1Specified为true;

create.Value1Specified = true;

        create.Value1 = Convert.ToInt32(this.TextBox1.Text);

        create.Value2Specified = true;

        create.Value2 =Convert.ToInt32(this.TextBox2.Text);

 

转载于:https://www.cnblogs.com/sanshisankuai/archive/2012/10/28/2743748.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110294.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 数据挖掘十大算法之Apriori算法「建议收藏」

    数据挖掘十大算法之Apriori算法「建议收藏」文章目录1.“啤酒与尿布”的案例2.Aprior算法核心术语事物集记录(事务)项目(项)项目集(项集)K项集支持度(Support)置信度(Confidence)最小支持度(min_support)最小置信度(min_confidence)提升度频繁K项(目)集候选K项(目)集3.Aprior算法的三大性质(关联规则的三大性质)4.Aprior算法实现过程5.数据挖掘5.1寻找关联属性5.2生成关联规则5.3更加严谨的栗子6.Aprior算法的优缺点6.1改进Aprior算法6.2F

  • resnet34 pytorch_pytorch环境搭建

    resnet34 pytorch_pytorch环境搭建导师的课题需要用到图片分类;入门萌新啥也不会,只需要实现这个功能,给出初步效果,不需要花太多时间了解内部逻辑。经过一周的摸索,建好环境、pytorch,终于找到整套的代码和数据集,实现了一个小小的分类。记录一下使用方法,避免后续使用时遗忘。感谢各位大佬的开源代码和注释!找到一个大佬的视频讲解和代码开源:github:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/data_setbilb

  • a 标签中 写页面刷新代码

    a 标签中 写页面刷新代码

  • 软件测试用例包括_白盒测试用例

    软件测试用例包括_白盒测试用例测试用例分层每个测试用例都有1个或多个测试步骤(List[step]),每个测试步骤对应一个API请求或其他用例的引用。从上图分析,我们可以看到testsuite中包含了3个测试用例,testca

  • axios的post请求参数格式

    axios的post请求参数格式axios的post请求参数格式默认格式Content-Type:application/json;charset=UTF-8 axios({method:’post’,url:”,data:{ param1:”, param2:” }}}).the…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号