{"id":58,"date":"2007-03-13T20:25:00","date_gmt":"2007-03-13T20:25:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=58"},"modified":"2007-03-13T20:25:00","modified_gmt":"2007-03-13T20:25:00","slug":"jax-ws-2-1-with-spring-under-java-6","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2007\/03\/jax-ws-2-1-with-spring-under-java-6\/","title":{"rendered":"JAX-WS 2.1 with Spring under Java 6"},"content":{"rendered":"<\/p>\n<p>First you need some jars in your classpath of an web application  <\/p>\n<ul>\n<li><em>commons-logging.jar<\/em>  <\/li>\n<li><em>jaxw-api.jar<\/em>  <\/li>\n<li><em>jaxws-rt.jar<\/em>  <\/li>\n<li><em>jaxws-spring-1.1.jar<\/em>  <\/li>\n<li><em>saaj-api.jar<\/em>  <\/li>\n<li><em>saaj-impl.jar<\/em>  <\/li>\n<li><em>spring.jar<\/em>  <\/li>\n<li><em>stax-ex.jar<\/em>  <\/li>\n<li><em>streambuffer.jar<\/em>  <\/li>\n<li><em>xbean-spring-2.8.jar<\/em><\/li>\n<\/ul>\n<p>The Jars are from Spring itself, <a href=\"http:\/\/geronimo.apache.org\/xbean\/\">http:\/\/geronimo.apache.org\/xbean\/<\/a>, <a title=\"https:\/\/jax-ws.dev.java.net\/\" href=\"https:\/\/jax-ws.dev.java.net\/\">https:\/\/jax-ws.dev.java.net\/<\/a> (jax-ws 2.1, JAXWS2.1_nightly.zip) and <a title=\"https:\/\/jax-ws-commons.dev.java.net\/spring\/\" href=\"https:\/\/jax-ws-commons.dev.java.net\/spring\/\">https:\/\/jax-ws-commons.dev.java.net\/spring\/<\/a> (<a href=\"https:\/\/maven2-repository.dev.java.net\/source\/browse\/maven2-repository\/trunk\/www\/repository\/org\/jvnet\/jax-ws-commons\/spring\/jaxws-spring\/1.1\/jaxws-spring-1.1.jar\">jaxws-spring-1.1.jar<\/a>). It is although important to place<\/p>\n<ul>\n<li><em>jaxb-api.jar<\/em>  <\/li>\n<li><em>jaxb-impl.jar<\/em><\/li>\n<\/ul>\n<p>under <em>C:\\Programme\\Apache Software Foundation\\Tomcat 5.5\\common\\endorsed<\/em>.<\/p>\n<p>This was the necessary and boring preparation.<\/p>\n<p>Next the Web Service itself<\/p>\n<p>package com.tutego.service; <\/p>\n<pre>import javax.jws.WebMethod;<br \/>import javax.jws.WebService;<br \/>import javax.jws.soap.SOAPBinding;  <p><\/p><p>@WebService<br \/>@SOAPBinding(style = SOAPBinding.Style.RPC)<br \/>public class GreeterService<br \/>{<br \/>@WebMethod<br \/>public String greet( String name )<br \/>{<br \/>return \"Hello \" + name + \"!\"<br \/>}<br \/>}<\/p><\/pre>\n<p>And web.xml:<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<br \/>&lt;web-app id=\"WebApp_ID\" version=\"2.4\"<br \/>xmlns=\"http:\/\/java.sun.com\/xml\/ns\/j2ee\"<br \/>xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<br \/>xsi:schemaLocation=\"http:\/\/java.sun.com\/xml\/ns\/j2ee <a href=\"http:\/\/java.sun.com\/xml\/ns\/j2ee\/web-app_2_4.xsd\">http:\/\/java.sun.com\/xml\/ns\/j2ee\/web-app_2_4.xsd<\/a>\"&gt;<br \/>&lt;display-name&gt;SpringWeb&lt;\/display-name&gt;<br \/>&lt;welcome-file-list&gt;<br \/>&lt;welcome-file&gt;index.html&lt;\/welcome-file&gt;<br \/>&lt;welcome-file&gt;index.htm&lt;\/welcome-file&gt;<br \/>&lt;welcome-file&gt;index.jsp&lt;\/welcome-file&gt;<br \/>&lt;welcome-file&gt;default.html&lt;\/welcome-file&gt;<br \/>&lt;welcome-file&gt;default.htm&lt;\/welcome-file&gt;<br \/>&lt;welcome-file&gt;default.jsp&lt;\/welcome-file&gt;<br \/>&lt;\/welcome-file-list&gt;<br \/>&lt;context-param&gt;<br \/>&lt;param-name&gt;contextConfigLocation&lt;\/param-name&gt;<br \/>&lt;param-value&gt;\/WEB-INF\/applicationContext.xml&lt;\/param-value&gt;<br \/>&lt;\/context-param&gt;<br \/>&lt;listener&gt;<br \/>&lt;listener-class&gt;<br \/>org.springframework.web.context.ContextLoaderListener<br \/>&lt;\/listener-class&gt;<br \/>&lt;\/listener&gt;<br \/>&lt;servlet&gt;<br \/>&lt;servlet-name&gt;jaxws-servlet&lt;\/servlet-name&gt;<br \/>&lt;servlet-class&gt;<br \/>com.sun.xml.ws.transport.http.servlet.WSSpringServlet<br \/>&lt;\/servlet-class&gt;<br \/>&lt;\/servlet&gt;<br \/>&lt;servlet-mapping&gt;<br \/>&lt;servlet-name&gt;jaxws-servlet&lt;\/servlet-name&gt;<br \/>&lt;url-pattern&gt;\/greet&lt;\/url-pattern&gt;<br \/>&lt;\/servlet-mapping&gt;<br \/>&lt;\/web-app&gt;<\/pre>\n<p>The applicationContext.xml follows the suggestions with the namespace.<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<br \/>&lt;beans xmlns=\"http:\/\/www.springframework.org\/schema\/beans\"<br \/>xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<br \/>xmlns:ws=\"http:\/\/jax-ws.dev.java.net\/spring\/core\"<br \/>xmlns:wss=\"http:\/\/jax-ws.dev.java.net\/spring\/servlet\"<br \/>xsi:schemaLocation=\"<br \/>http:\/\/www.springframework.org\/schema\/beans http:\/\/www.springframework.org\/schema\/beans\/spring-beans-2.0.xsd<br \/>http:\/\/jax-ws.dev.java.net\/spring\/core http:\/\/jax-ws.dev.java.net\/spring\/core.xsd<br \/>http:\/\/jax-ws.dev.java.net\/spring\/servlet http:\/\/jax-ws.dev.java.net\/spring\/servlet.xsd\"&gt;<br \/>&lt;ws:service id=\"greeterService\"<br \/>impl=\"com.tutego.service.GreeterService\" \/&gt;<br \/>&lt;wss:bindings id=\"jax-ws.http\"&gt;<br \/>&lt;wss:bindings&gt;<br \/>&lt;wss:binding url=\"\/greet\" service=\"#greeterService\" \/&gt;<br \/>&lt;\/wss:bindings&gt;<br \/>&lt;\/wss:bindings&gt;<br \/>&lt;\/beans&gt;<\/pre>\n<p>Now you can consume your WS. If your Web-Context is <span style=\"font-style: italic;\">SpringWeb <\/span>use http:\/\/localhost:8080\/SpringWeb\/greet?wsdl. Enjoy it!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>First you need some jars in your classpath of an web application commons-logging.jar jaxw-api.jar jaxws-rt.jar jaxws-spring-1.1.jar saaj-api.jar saaj-impl.jar spring.jar stax-ex.jar streambuffer.jar xbean-spring-2.8.jar The Jars are from Spring itself, http:\/\/geronimo.apache.org\/xbean\/, https:\/\/jax-ws.dev.java.net\/ (jax-ws 2.1, JAXWS2.1_nightly.zip) and https:\/\/jax-ws-commons.dev.java.net\/spring\/ (jaxws-spring-1.1.jar). It is although important to place jaxb-api.jar jaxb-impl.jar under C:\\Programme\\Apache Software Foundation\\Tomcat 5.5\\common\\endorsed. This was the necessary and boring [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[3],"tags":[],"class_list":["post-58","post","type-post","status-publish","format-standard","hentry","category-spring"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}