因为一些原因,希望将ASP.NET MVC 底层的逻辑用JAVA实现,然后为.NET平台提供服务进行调用。查阅了很多资料,现在整理一个入门级实例记录下来。
攻克点:
1、JAVA如何创建服务?
2、JAVA如何发布服务?
3、C#r如何引用服务?
4、C#如何调用服务?
一、关于JAVA WebService
讲解实例之前给大家介绍一个开源的Service框架:CXF(官网下载地址)。关于这个东东的详细介绍大家可以直接百度或者去官网看英文版介绍,目前大家只需要知道它可以帮助构建和开发Service。关于它的安装和系统变量配置教程也有很多,我就不在这里赘述了。
进入正题:
1、打开Eclipse,创建一个JAVA Project(Java项目),命名为ServiceDemo;
2、在项目的Bulid Path中导入外部jar包,即下载下来的CXF文件包里lib路径下的所有jar包;
3、src上右键,New->Interface,Package:com.demo.service,命名:Welcome
@WebService
public interface Welcome {
public String WelcomeWords(String customer);
}
4、新建实现类WelcomeImpl ,实现接口Welcome
@WebService
public class WelcomeImpl implements Welcome {
public String WelcomeWords(String customer)
{
System.out.println("WelcomeWords方法被调用");
return "欢迎" + customer + "的光临!";
}
}
5、发布服务MainService类
//发布webservice
public class MainService{
public static void main(String[] args) {
//第一种方式:通过CFX提供的JaxWsServerFactoryBean来发布WebService
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setAddress("http://localhost:8081/Welcome");
factory.setServiceClass(WelcomeImpl.class);
Server server = factory.create();
server.start();
//客户端调用代码
Welcome hello = new WelcomeImpl();
System.out.println(hello.WelcomeWords("小红"));
//第二种方式:通过JAX-WS提供的Endpoint来发布webservice
//WelcomeImpl implementor = new WelcomeImpl();
//String address = "http://localhost:8081/HelloWorld";
//Endpoint.publish(address, implementor);
}
}
代码完毕,在主服务类上右键运行,会在控制台输入“WelcomeWords方法被调用”和“欢迎小红的光临”字样。
在浏览器中输入 http://localhost:8081/HelloWorld?wdsl,服务正常的情况下会显示wdsl文档的内容。
6、打开VS,在要引用该服务的项目上右键-》添加-》服务引用,输入之前在浏览器中输入的地址,点前往,确认当前确实有服务。
7、可以创建一个控制台项目,在main方法中输入以下代码进行测试。
static void Main(string[] args)
{
WelcomeService.WelcomeClient client = new WelcomeService.WelcomeClient();
Console.WriteLine(client.WelcomeWords("小明"));
Console.ReadKey();
}
运行项目,在控制台可以看到“欢迎小明的光临”字样。 同时,在Eclipse的控制台有“WelcomeWords方法被调用”输出。
我的入门级例子说完了,大家有什么其他好的解决方案可以告诉我。
共同学习,写下你的评论
评论加载中...
作者其他优质文章