[英]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.