Viele empfehlen, sun
Pakete aus verschiedenen Gründen nicht zu verwenden. Detaillierte Antworten werden zur Verfügung gestellt here.Können wir jaxws-rt.jar als Laufzeitimplementierung verwenden, obwohl es auch Sun-Bibliotheken enthält?
Allerdings verwende ich jaxws-rt.jar
, die Sonnenbibliothek verwendet. Ich frage mich, ob ich jaxws-rt.jar
oder nicht sollte. Ich laufe in Tomcat-Container und ich möchte nicht Jaxws-Implementierungen von Jboss, GlassFish oder anderen Anwendungsservern einschließen.
Hier ist, was ich (Einstellung Verbindung und Anfrage-Timeouts)
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);
Dank
Es ist nichts falsch mit dem Kompilieren gegen 'com.sun. * -Pakete, und es wäre mehr oder weniger unmöglich, einige Programme ohne es zu schreiben, wie Programme, die JNDI für LDAP oder COSNaming verwenden. – EJP
Dies ist keine Frage über JNDI oder COSNaming. Das OP hat Bedenken, diese Antwort bietet eine Möglichkeit, ohne Kompilierzeitabhängigkeit zu verwenden. Es wird nicht empfohlen gegen com.sun. * –
@scotth: danke. Wenn ich die String-Konstante wie vorgeschlagen einstellen soll, muss ich noch eine jaxws-rt-Abhängigkeit in meiner pom.xml haben. Ich schließe diese Abhängigkeit derzeit in pom.xml ein. und ich habe auch bemerkt, dass sowohl REQUEST_TIMEOUT als auch CONNECT_TIMEOUT unterschiedliche String-Konstanten sind. (com.sun.xml.ws.request.timeout und com.sun.xml.ws.connect.timeout entsprechend dem Link, den Sie zur Verfügung gestellt haben) –