C# 客户端 调用Java版的REST风格的web Service

前言:

关于Web Service的相关知识可以查看本人博客:http://blog.youkuaiyun.com/luchengtao11/article/details/72054738

本文所述代码托管在Github:https://github.com/Wuchenwcf/MyCode/tree/master/JAVA/HelloWorldWebService

一、运行服务端

JAVA 版的webService网上有很多教程,这里直接提供一份编写好的Helloworld,可从上述连接中下载。

连接中提供一份教程文档,按照教程把服务器端跑起来

结果如下:


当然,我们不是为了通过浏览器访问它的,那就没意思了。

二、编写C#版本的客户端

直接建立控制台工程就可以了,记得要使用.net 4.0的框架,然后添加System.Web的连接


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Web;

namespace WebServiceTest
{
    class Program
    {
        static void Main(string[] args)
        {

            //以Get方式调用
            HttpWebRequest request = WebRequest.Create("http://localhost:8080/wildfly-helloworld-rs/rest/get/007") as HttpWebRequest;
            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                StreamReader reader = new StreamReader(response.GetResponseStream());
                Console.WriteLine(reader.ReadToEnd());
            }

            //以Post方式调用

            Uri address = new Uri("http://localhost:8080/wildfly-helloworld-rs/rest/create");
            HttpWebRequest request1 = WebRequest.Create(address) as HttpWebRequest;
            request1.Method = "POST";
            request1.ContentType = "application/x-www-form-urlencoded";

            String id = "789";
            String name = "test";
            StringBuilder data = new StringBuilder();
            //调用HttpUtility需要在.net 4.0框架下,并且添加System.web.dll引用,请自行谷歌
            data.Append("id=" + System.Web.HttpUtility.UrlEncode(id));
            data.Append("&name=" + System.Web.HttpUtility.UrlEncode(name));
            byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
            request1.ContentLength = byteData.Length;
            using (Stream postStream = request1.GetRequestStream())
            {
                postStream.Write(byteData, 0, byteData.Length);
            }

            using (HttpWebResponse response1 = request1.GetResponse() as HttpWebResponse)
            {
                StreamReader reader = new StreamReader(response1.GetResponseStream());
                Console.WriteLine(reader.ReadToEnd());
            }


        }
    }
}

客户端的运行结果如下:可以看到,get到了服务端的信息。

有了以上Demo,就可以进而编写花样百出的应用了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值