首页 > 代码库 > .net与java建立WebService再互相调用

.net与java建立WebService再互相调用

A: .net建立WebService,在java中调用。

1.在vs中新建web

image

简单修改一下Service.cs的[WebMethod]代码:

using System; 
using System.Web; 
using System.Web.Services; 
using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
public class Service : System.Web.Services.WebService 

    public Service () {

        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }

    [WebMethod] 
    public string netSayHi(String name) { 
        return "你好!"+name; 
    } 
}

可以运行看一下是否创建成功。

2.新建另一个网站,目的:得到wsdl文件。

image

image

3.添加Web引用

image

image

image

4、到这里,目的就达到了——产生了我们所要的wsdl文件。

 

image

5、在MyEclipse中新建一个Java项目。

image

6、将刚才在.net中做好的的那个Service.wsdl文件复制到src下,新建一个New WebService Client

image

image

如上图提示错误,不必理会,直接Finish。

6.此时会自动生成org.tempuri这个包及下面的文件,找到ServiceClient.java文件双击。

image

7.修改其下的main方法,其实也就是写一句代码而已。

public static void main(String[] args) { 
        ServiceClient client = new ServiceClient(); 
        ServiceSoap service = client.getServiceSoap(); 
        System.out.println(service.netSayHi("坏蛋!")); 
    }

运行测试一下,一般会成功的了!

B.java建立wsdl文件,.net调用。

1、新建一个Web Project,新建一个接口及对应的实现类;

image

package com.yenange.ws;

public class Teacher implements ITeacher { 
    public String javaSayHi(String name) { 
        return "大家好,我是"+name+"老师"; 
    } 
}

2、添加Web Service支持包。

image

3、修改services.xml这个配置文件。


http://xfire.codehaus.org/config/1.0"> 

    javaws 
    com.yenange.ws 
    com.yenange.ws.ITeacher 
    com.yenange.ws.Teacher 

4、测试一下java建立的webService是否成功。

http://localhost:8080/javaWS/services/javaws?wsdl

在IE中点击菜单另存为a.wsdl文件。放在d:/下。

5、以下步骤是将a.wsdl文件转化为a.dll文件;

6、在开始菜单中进入Visual Studio 2005的命令提示。

image

7、输入以下命令:

将a.wsdl文件 转换成a.cs 
D:/>wsdl /n:xyz /out:a.cs a.wsdl   

其中,/n:xyz 表示 命名空间namespace为xyz

将 a.cs转换成 a.dll 
D:/>csc /out:a.dll /t:library a.cs

image

8.在vs中新建一个ASP.net网站,在Default.aspx中拉入一个Label。

9.添加引用,将前面产生的a.dll引入进来。

image

image

10.在Default.aspx.cs中写测试代码:

protected void Page_Load(object sender, EventArgs e) 
   { 
       xyz.javaws ws=new xyz.javaws(); 
       this.Label1.Text = ws.javaSayHi("何月"); 
   }

11.运行,应该没有问题了。
 

.net与java建立WebService再互相调用