.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.運行,應該沒有問題了。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM