本文使用ASP.Net的客户端来访问Java写的Web Service。Web Service返回的结果是一个DTO(JavaBean)。
日前看到很多朋友说用ASP的客户端调用Java写的Web Service返回结果是Null,本文也提供了一些看法,希望对大家有点帮助。
首先说一下机制,这里只涉及最简单的。
首先,传输的协议是Soap,说白了就是使用一个规范的XML文本来进行传输。客户端和WS端都根据规范来解析XML文本,以获得需要的数据。
下面是正文。
下来建立Java的Web Service端。
首先建立一个动态网页工程。
接下来我们建立一个DTO(JavaBean)来充当传输的介质。
代码如下:
- package demo;
- public class EmployeeDTO {
- String name;
- String dept;
- String age;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getDept() {
- return dept;
- }
- public void setDept(String dept) {
- this.dept = dept;
- }
- public String getAge() {
- return age;
- }
- public void setAge(String age) {
- this.age = age;
- }
- }
好了,现在我们来建立一个Web Service程序
代码如下:
- package demo;
- /**
- * Demo Web Service
- *
- * @author redria
- *
- */
- public class EmployeeWS {
- /**
- * Get Employee DTO Info
- *
- * @return
- */
- public EmployeeDTO getInfo() {
- //New DTO
- EmployeeDTO dto = new EmployeeDTO();
- dto.setName("Sol");
- dto.setDept("GGXX");
- dto.setAge("...?");
- //Return Value
- return dto;
- }
- }
现在我们准备好了,可以发布Web Service程序了。使用插件可以很方便的发布服务。这里使用附带WTP的Eclipse附带的工具来发布。
当然,在这里点击下面的生成Client也可以自动帮你生成Client端。因为本文使用ASP来生成客户端,所以这里就不说明Java的了
好了,现在测试一下我们的结果:
可以看到,我们Web Service完全正常。(这里如果不正常,可能是你的环境有问题)
现在我们将其发布到tomcat中去。
访问我们刚才发布的Web Service的wsdl文件。你可以看到:
说明我们的服务已经发布成功了。
现在来建立一个ASP.Net的客户端。
打开Visual Studio
新建一个ASP.Net Web Site工程
首先我们添加一个 Web 参照,将我们刚才发布的地址加入,就可以看到了。
好了,现在我们来添加吧。
之后来写前台的Aspx文件和后台的cs文件
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>無題のページ</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:Button ID="BTN_GETINFO" runat="server" OnClick="BTN_GETINFO_Click" Text="获取信息" /><br />
- <br />
- <asp:Label ID="LB_NAME" runat="server" Text="Name:">