Zur Zeit haben wir eine Webanwendung mit mehreren Modulen darin. Wir verwenden folgenden Technologie-Stack
Anwendungsserver: IBM WebSphere 7.0 (Produktion), Apache Tomcat 7.0.X (Entwicklung) Wir verwenden JAX-WS-Annotationen, um eine Klasse als Web-Service zu markieren. Außerdem verwenden wir keine JAXB-Annotation in Data Objects. Wir überlassen diese Aufgabe der WS-Laufzeit.
Sobald wir die Anwendung auf Apache Tomcat bereitstellen, wird der Webdienst nicht auf AS veröffentlicht. Als Lösung müssen wir die Eigenschaft "org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter" in der Spring-Kontextdatei hinzufügen und dann beginnt der Web-Service perfekt zu funktionieren. Wenn wir die Anwendung in WAS bereitstellen, wird der Webdienst jedoch veröffentlicht, ohne dass die oben genannte Eigenschaft festgelegt wird. Wenn wir die erste Anfrage an den Web-Service stellen, antwortet es langsam, während R & amp; D dieses Problems haben wir folgende Dinge gefunden:
className_used_in_web_service_method$JaxbAccessorM_getFieldName_setFieldName_java_util_Set from: <unknown>
für alle Klassen in der Hierarchie. Dies passiert nur beim ersten Mal.
Wir haben versucht, diese beim Start der Anwendung zu laden, konnten jedoch nicht erfolgreich sein.
Kann uns bitte jemand helfen, dieses Problem anzugehen? Haben Sie versucht, SimpleHttpServerJaxWsServiceExporter
anstelle von SimpleJaxWsServiceExporter
?
Es scheint, dass SimpleHttpServerJaxWsServiceExporter
den Webservice startet, sobald die Endpoint-Konfiguration erfüllt ist.
Sie können Ihre eigene Implementierung von ServletContextListener
Zum Beispiel:
%Vor% Und fügen Sie es in web.xml
:
Tags und Links web-services jaxb axis2 websphere-7