mysql 调用webservice_C#调用Webservice的代码实现方式汇总

1-添加服务引用;

(1)工程 - Service References - 添加服务引用;

b513282a07d493f55482fc41e3609548.png

(2)在“添加服务引用”中输入Webservice网站发布地址,并敲回车或点击“转到”;

6cdb1cf83f8de60b4695d16f2f1380e8.png

(3)调用代码编写

实现方式:ServiceReference1.Service1SoapClient ser1 = new ServiceReference1.Service1SoapClient("Service1SoapClient");

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;using WebServiceTestApp.ServiceReference1;//添加引用

namespaceWebServiceTestApp

{public partial classForm1 : Form

{

ServiceReference1.Service1SoapClient myWebService= null;//设置变量

publicForm1()

{

InitializeComponent();

}private void Form1_Load(objectsender, EventArgs e)

{

myWebService= new ServiceReference1.Service1SoapClient("Service1Soap");//实例化变量

}private void btnUpLoadCycleTime_Click(objectsender, EventArgs e)

{//test

string SerialNumber = "160719070002873";string StationName = "3120";string MachineName = @"http://xx.xx.xx.xxx:8001/Service.asmx?";string Employee = "user";string Password = "123";float CycleTime = 0;bool Result = false;

DataTable ChildSNList= null;string Message =String.Empty;//调用Webservice方法如下

ServiceReference1.Service1SoapClient ser1 = new ServiceReference1.Service1SoapClient("Service1SoapClient");

myWebService.UpLoadCycleTime(SerialNumber, StationName, MachineName,

Employee, Password, CycleTime,outMessage);

}

}

}

2-添加Web引用

(1)工程添加Webservice方法如下

fd59c1eb7e89417ce318fc30cd4c25de.png

13ce34945e4f69f47a563f3d72bc59e1.png

741870d613a4e0ac79902ed5a76e25b1.png

1146c277ea0fb1843aa16923a2dbf380.png

(2)C#调用Webservice代码实现

private void btnStationManage_Click(objectsender, EventArgs e)

{//test

WebReference.Service1 webservice = newWebReference.Service1();//测试接口过站Json如下:

string strJson = "[{\"serialnumber\":\"999919250000001\"}]";

DataTable Output_table= null;string result =String.Empty;

Output_table= webservice.Station_Manage(strJson, outresult);//测试前进站检查Json如下:

string strJson2 = "[{\"serialnumber\":\"999919250000001\"}]";

DataTable Output_table2= null;string result2 =String.Empty;

Output_table2= webservice.Station_Manage(strJson2, outresult2);

}

3-System.Net.WebRequest

实现方式:System.Net.WebRequest webObj = System.Net.WebRequest.Create("http://xx.xx.xx.xxx:xxxx/InterfaceService.asmx/DownLoadSO?sono=" + tbox_so.Text.Trim() + "");

protected void btn_SoSubmit_Click(objectsender, EventArgs e)

{string strResult = "";try{if (string.IsNullOrEmpty(tbox_so.Text.Trim()))

{

strResult= "{\"Result\":\"FAIL\",\"Data\":\"FAIL,请输入销售单!\"}";return;

}

System.Net.WebRequest webObj= System.Net.WebRequest.Create("http://xx.xx.xx.xxx:xxxx/InterfaceService.asmx/DownLoadSO?sono="

+ tbox_so.Text.Trim() + "");

StreamReader streamOjb= newStreamReader(webObj.GetResponse().GetResponseStream(), System.Text.Encoding.Default);

strResult=streamOjb.ReadLine();

streamOjb.Close();

}catch(Exception ex)

{

strResult= "{\"Result\":\"FAIL\",\"Data\":\"FAIL," + ex.Message + "\"}";

}finally{if (strResult.Contains("{\"Result\":\"FAIL\""))

{

lbl_msg_so.ForeColor=System.Drawing.Color.Red;

}else{

lbl_msg_so.ForeColor=System.Drawing.Color.Green;

}

strResult= strResult.Substring(strResult.IndexOf("Data") + 7);

lbl_msg_so.Font.Size=FontUnit.Larger;

lbl_msg_so.Text= strResult.Substring(0, strResult.Length - 2);

}

}

4-HTTP POST 调用WebMethod

var url = "http://localhost:51013/Service1.asmx/GetData";var values = new System.Collections.Specialized.NameValueCollection(); values.Add("data", "hi server");var client = newWebClient();var data = client.UploadValues(url, "POST", values);var result =System.Text.Encoding.UTF8.GetString(data);

Console.WriteLine(result);//输出://<?xml version="1.0" encoding="utf-8"?>//You enter:hi server

5-HTTP GET调用WebMethod

var url3 = "http://localhost:51013/Service1.asmx/GetData3?data='test'";var client3 = newWebClient();

client3.Headers.Add("Content-Type", "application/json");var result3 =client3.DownloadString(url3);

Console.WriteLine(result3);

//输出: //You enter:test

注意:GET调用时是通过Url传值,如果是string需要使用 data='test' 两边加上单引号,因为使用json反序列化。没有引号直接当成是数值转换会出错。(将抛出 500 的服务端错误)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你要调用一个 WebService 接口时,你可以按照以下步骤进行: 1. 创建一个 C# 项目或打开一个现有的项目。 2. 在项目中引用 System.Web.Services 命名空间。 3. 添加对 WebService 的引用。你可以在 Visual Studio 的 "项目资源管理器" 窗口中右键点击 "引用",然后选择 "添加服务引用"。在弹出窗口中,输入 WebService 的 URL 地址,然后点击 "Go" 按钮。选择你想要添加的 WebService,点击 "确定"。 4. Visual Studio 会自动生成一个代理类,该类包含对 WebService 方法的调用。 以下是一个示例代码,展示了如何调用一个 WebService 的方法: ```csharp using System; using System.Web.Services; namespace WebServiceClient { class Program { static void Main(string[] args) { // 创建 WebService 代理类实例 MyWebServiceProxy webServiceProxy = new MyWebServiceProxy(); try { // 调用 WebService 方法并打印结果 string result = webServiceProxy.HelloWorld(); Console.WriteLine(result); } catch (Exception ex) { Console.WriteLine("调用失败: " + ex.Message); } } } // WebService 代理类 [WebServiceBinding(Name = "MyWebService", Namespace = "http://www.example.com/")] public class MyWebServiceProxy : SoapHttpClientProtocol { // WebService 方法的声明 [WebMethod] public string HelloWorld() { return this.Invoke("HelloWorld", new object[] { }) as string; } } } ``` 上面的代码假设 WebService 的命名空间是 "http://www.example.com/",并且包含一个名为 "HelloWorld" 的方法。你需要将这些信息替换为你实际使用的 WebService 的命名空间和方法名称。 请注意,如果你的 WebService 需要身份验证等额外步骤,请在调用之前执行必要的身份验证操作。具体步骤可能因 WebService 的要求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值