![](/img/trans.png)
[英]what is the Difference between the “/com/sun/xml/ws/” package in jaxws-rt.jar and “/com/sun/xml/internal/ws/” package inside rt.jar
[英]can we use jaxws-rt.jar as runtime implementation though it includes sun libraries?
許多人建議不要出於各種原因使用sun
包。 這里提供了詳細的答案。
但是我使用jaxws-rt.jar
是使用sun庫的jaxws-rt.jar
。
我想知道我是否應該jaxws-rt.jar
。 我在tomcat容器中運行,我不想包含Jboss,GlassFish或任何其他應用程序服務器的jaxws實現。
這是我想要做的(設置連接和請求超時)
import com.sun.xml.internal.ws.client.BindingProviderProperties;
import javax.xml.ws.BindingProvider;
((BindingProvider)soapService).getRequestContext()
.put(BindingProviderProperties.REQUEST_TIMEOUT,REQUEST_TIMEOUT_MILLI);
((BindingProvider)soapService).getRequestContext()
.put(BindingProviderProperties.CONNECT_TIMEOUT,CONNECT_TIMEOUT_MILLI);
謝謝
正如您所發現的,某些行為(例如連接超時)是通過特定於實現的方式來控制的。
如果您不熱衷於編譯(導入) com.sun
包,一種刪除編譯時依賴項的方法,但是設置這些屬性以按照您需要的方式控制JAX-WS引用實現,您可以嘗試只設置BindingProvider
通過字符串值請求參考實現的上下文屬性。 即使在與RI之外的其他JAX-WS運行時運行時,您也可以設置這些屬性 - 它不會失敗(它可能沒有任何效果)。
import javax.xml.ws.BindingProvider;
((BindingProvider)soapService).getRequestContext()
.put("com.sun.xml.ws.request.timeout", 5000L);
((BindingProvider)soapService).getRequestContext()
.put("com.sun.xml.ws.connect.timeout", 5000L);
以下是您問題中兩個常量的兩個值。 JAXWSProperties.CONNECT_TIMEOUT和BindingProviderProperties.REQUEST_TIMEOUT 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.