A: .net建立WebService,在java中调用。
1.在vs中新建web
简单修改一下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文件。
3.添加Web引用
4、到这里,目的就达到了——产生了我们所要的wsdl文件。
5、在MyEclipse中新建一个Java项目。
6、将刚才在.net中做好的的那个Service.wsdl文件复制到src下,新建一个New WebService Client
如上图提示错误,不必理会,直接Finish。
6.此时会自动生成org.tempuri这个包及下面的文件,找到ServiceClient.java文件双击。
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,新建一个接口及对应的实现类;
package com.yenange.ws;
public class Teacher implements ITeacher {
public String javaSayHi(String name) {
return "大家好,我是"+name+"老师";
}
}
2、添加Web Service支持包。
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的命令提示。
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
8.在vs中新建一个ASP.net网站,在Default.aspx中拉入一个Label。
9.添加引用,将前面产生的a.dll引入进来。
10.在Default.aspx.cs中写测试代码:
protected void Page_Load(object sender, EventArgs e)
{
xyz.javaws ws=new xyz.javaws();
this.Label1.Text = ws.javaSayHi("何月");
}
11.运行,应该没有问题了。