簡體   English   中英

從Applet調用Web服務時出現java InvocationTargetException

[英]java InvocationTargetException when calling Web Service from Applet

我有一個本地托管的Web服務,我想從applet調用它。 我已經使用wsimport和服務wsdl創建了必要的服務處理代碼。 我已經測試過Java客戶端和.Net服務可以從我的IDE中正常工作。

因此,我將代碼打包並簽名,然后將其放入網頁中。 我從javascript調用applet。 我添加了helloWorld()方法以確認applet已加載並且JS可以訪問它。 當我調用Web服務時,代碼不會捕獲任何異常。 而是頁面出現錯誤。 當我檢查它是什么時,這是一個目標調用異常。

我添加了一些sys out調用,它在這里快要死了:

ServiceEndpoint authService = new ServiceEndpoint(
   new URL(serviceURL),
   new QName(serviceNamespace, serviceName)

它所調用的類是使用wsimport創建的。 serviceName等是傳遞的字符串。 當我查看此類的生成代碼時,它將實例化其超類javax.xml.ws.Service。

我很沮喪 可能是javax.xml.ws.Service對瀏覽器不可用嗎? 我認為在那種情況下會有一個類未找到例外。

謝謝你的幫助。

我找到了問題,但它給我帶來了一個新問題。 首先,答案。 我需要將對Web服務的調用包裝在:

AccessController.doPrivileged(new PrivilegedAction<Object>()
{
  public Object run()
  {
    try
    {
       // Do my stuff here
    }
  }
}

我不明白是為什么。 我正在調用的Web服務與從中加載小程序的服務器位於同一服務器上。 我用來訪問Web服務的wsimport生成的類是否可能正在做我不知道的事情?

很高興我找到了解決方法,不滿意為什么我不高興。

任何想法或照明將是夢幻般的。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM