|
|
|
@ -536,10 +536,7 @@ public class AccountServiceImpl implements AccountService { |
|
|
|
url="http://www.springframework.org/spring-ws">Spring Web |
|
|
|
url="http://www.springframework.org/spring-ws">Spring Web |
|
|
|
Services</ulink>, a solution for contract-first, document-driven web |
|
|
|
Services</ulink>, a solution for contract-first, document-driven web |
|
|
|
services - highly recommended for building modern, future-proof web |
|
|
|
services - highly recommended for building modern, future-proof web |
|
|
|
services. Last but not least, <ulink |
|
|
|
services.</para> |
|
|
|
url="http://xfire.codehaus.org">XFire</ulink> also allows you to export |
|
|
|
|
|
|
|
Spring-managed beans as a web service, through built-in Spring |
|
|
|
|
|
|
|
support.</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section id="remoting-web-services-jaxrpc-export"> |
|
|
|
<section id="remoting-web-services-jaxrpc-export"> |
|
|
|
<title>Exposing servlet-based web services using JAX-RPC</title> |
|
|
|
<title>Exposing servlet-based web services using JAX-RPC</title> |
|
|
|
@ -995,64 +992,6 @@ public class AccountServiceEndpoint { |
|
|
|
JAX-WS endpoint artifacts; you need to annotate them accordingly first. |
|
|
|
JAX-WS endpoint artifacts; you need to annotate them accordingly first. |
|
|
|
Check the JAX-WS documentation for details on those requirements.</para> |
|
|
|
Check the JAX-WS documentation for details on those requirements.</para> |
|
|
|
</section> |
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
|
|
<section id="remoting-web-services-xfire"> |
|
|
|
|
|
|
|
<title>Exposing web services using XFire</title> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para>XFire is a lightweight SOAP library, hosted by Codehaus. Exposing |
|
|
|
|
|
|
|
XFire is done using a XFire context that is shipping with XFire itself in |
|
|
|
|
|
|
|
combination with a RemoteExporter-style bean you have to add to your |
|
|
|
|
|
|
|
<interfacename>WebApplicationContext</interfacename>. As with all |
|
|
|
|
|
|
|
methods that allow you to expose service, you have to create a |
|
|
|
|
|
|
|
<classname>DispatcherServlet</classname> with a corresponding |
|
|
|
|
|
|
|
<interfacename>WebApplicationContext</interfacename> containing the |
|
|
|
|
|
|
|
services you will be exposing:</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<programlisting language="xml"><servlet> |
|
|
|
|
|
|
|
<servlet-name>xfire</servlet-name> |
|
|
|
|
|
|
|
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> |
|
|
|
|
|
|
|
</servlet></programlisting> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para>You also have to link in the XFire configuration. This is done by |
|
|
|
|
|
|
|
adding a context file to the <literal>contextConfigLocations</literal> |
|
|
|
|
|
|
|
context parameter picked up by the |
|
|
|
|
|
|
|
<classname>ContextLoaderListener</classname> (or |
|
|
|
|
|
|
|
<classname>ContextLoaderServlet</classname> for that matter).</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<programlisting language="xml"><context-param> |
|
|
|
|
|
|
|
<param-name>contextConfigLocation</param-name> |
|
|
|
|
|
|
|
<param-value>classpath:org/codehaus/xfire/spring/xfire.xml</param-value> |
|
|
|
|
|
|
|
</context-param> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listener> |
|
|
|
|
|
|
|
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> |
|
|
|
|
|
|
|
</listener></programlisting> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para>After you added a servlet mapping (mapping <literal>/*</literal> |
|
|
|
|
|
|
|
to the XFire servlet declared above) you only have to add one extra bean |
|
|
|
|
|
|
|
to expose the service using XFire. Add for example the following |
|
|
|
|
|
|
|
configuration in your <filename>'xfire-servlet.xml'</filename> |
|
|
|
|
|
|
|
file:</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<programlisting language="xml"><beans> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<bean name="/Echo" class="org.codehaus.xfire.spring.remoting.XFireExporter"> |
|
|
|
|
|
|
|
<property name="serviceInterface" value="org.codehaus.xfire.spring.Echo"/> |
|
|
|
|
|
|
|
<property name="serviceBean"> |
|
|
|
|
|
|
|
<bean class="org.codehaus.xfire.spring.EchoImpl"/> |
|
|
|
|
|
|
|
</property> |
|
|
|
|
|
|
|
<lineannotation><!-- the XFire bean is defined in the <filename>xfire.xml</filename> file --></lineannotation> |
|
|
|
|
|
|
|
<property name="xfire" ref="xfire"/> |
|
|
|
|
|
|
|
</bean> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</beans></programlisting> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para>XFire handles the rest. It introspects your service interface and |
|
|
|
|
|
|
|
generates a WSDL from it. Parts of this documentation have been taken |
|
|
|
|
|
|
|
from the XFire site; for more detailed information on XFire Spring |
|
|
|
|
|
|
|
integration, navigate to <ulink |
|
|
|
|
|
|
|
url="http://docs.codehaus.org/display/XFIRE/Spring">http://docs.codehaus.org/display/XFIRE/Spring</ulink>.</para> |
|
|
|
|
|
|
|
</section> |
|
|
|
|
|
|
|
</section> |
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
|
|
<section id="remoting-jms"> |
|
|
|
<section id="remoting-jms"> |
|
|
|
|