前言:
关于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,就可以进而编写花样百出的应用了。