我成功地建造一個簡單的Java Web服務(如例子中,你可以參考"Building simple web service")調用Java applet中的Web服務方法
在Eclipse中很容易使用的「Java Web服務代理來創建Web服務客戶端技術「在教程中指出。
我想運行一個Java Applet,它執行與java客戶端應用程序相同的操作:訪問Web服務,調用方法並返回結果。
當我通過Eclipse運行代碼(右鍵單擊>「作爲Java Applet運行..」)一切工作正常..當我運行在一個簡單的HTML頁面的小程序小程序啓動,但進入死鎖: 沒有例外被拋出,並且在創建MyWebServiceProxy類的行上不做任何事情的情況下阻止該進程,從而調用默認的構造函數。
任何人都可以幫助我嗎?
我在這裏粘貼一些代碼來讓你更好地瞭解什麼,我的小程序裏面做:
public class SimpleWSApplet extends Applet {
public void paint(Graphics g)
{
String msg = "Applet initialized";
int i = 1;
g.drawString(msg, 20, 20*i++);
msg = "Error in applet";
try {
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress("http://localhost:8080/AppletWSTest/services/SimpleWS");
call.setOperationName(new QName("http://soapinterop.org/", "getMessage"));
msg = (String)call.invoke(new Object[]{});
} catch (Exception e) {
e.printStackTrace();
msg = "Error: "+e.getMessage();
}
g.drawString(msg, 20, 20*i++);
//g.drawString(executeInvocation(msg), 20, 20*i++);
}
}
顯然,我的網絡服務被稱爲「SimpleWS」和我調用被稱爲「的getMessage」的方法,它不需要參數,並返回一個String。
請幫我..
我簽了applet,現在請求證書,但它說org.apache.axis無法找到我的類,而我確定它是在我創建的fatjar中。我應該在applet標籤的「歸檔」中加入jar嗎?如果是的話,哪一個? – arielten 2011-02-01 11:22:30