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("何月");
}