【原創】WebService大講堂之Axis2(7):將Spring的裝配JavaBean釋出成WebService
本文為原創,如需轉載,請註明作者和出處,謝謝!
在現今的Web應用中經常使用Spring框架來裝載JavaBean。如果要想將某些在Spring中裝配的JavaBean釋出成WebService,使用Axis2的Spring感知功能是非常容易做到的。
在本文的例子中,除了
下面先建立一個JavaBean(該JavaBean最終要被髮布成WebService),程式碼如下:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->package service;
import entity.Person;
public class SpringService
{
private String name;
private String job;
public void setName(String name)
{
this.name = name;
}
public void setJob(String job)
{
this.job = job;
}
public Person getPerson()
{
Person person = new Person();
person.setName(name);
person.setJob(job);
return person;
}
public String getGreeting(String name)
{
return "hello " + name;
}
}
其中Person也是一個JavaBean,程式碼如下:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->package entity;
public class Person
{
private String name;
private String job;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getJob()
{
return job;
}
public void setJob(String job)
{
this.job = job;
}
}
將上面兩個Java原始檔編譯後,放到
在
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="springService" class="service.SpringService">
<property name="name" value="姚明" />
<property name="job" value="職業男籃" />
bean>
beans>
在applicationContext.xml檔案中裝配了service.SpringService類,並被始化了name和job屬性。在配置完SpringService類後,就可以直接在程式中FileSystemXmlApplicationContext類或其他類似功能的類讀取applicationContext.xml檔案中的內容,並獲得SpringService類的物件例項。但現在我們並不這樣做,而是將SpringService類釋出成WebService。
在
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><service name="springService">
<description>
Spring aware
description>
<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
parameter>
<parameter name="SpringBeanName">
springService
parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
messageReceivers>
service>
在Windows控制檯進入axi2-spring-ws目錄,並使用jar命令將axi2-spring-ws目錄中的內容打包成axi2-spring-ws.aar,然後將該檔案複製到
http://localhost:8080/axis2/services/springService?wsdl
在將Spring中的裝配JavaBean釋出成WebService需要注意以下幾點:
1. 由JavaBean編譯生成的.class檔案需要放在WEB-INF"classes目錄中,或打成.jar包後放在WEB-INF\lib目錄中,而WEB-INF\services目錄中的.aar包中不需要包含.class檔案,而只需要包含一個META-INF目錄,並在該目錄中包含一個services.xml檔案即可。
2. services.xml的配置方法與前幾篇文章的配置方法類似,只是並不需要使用ServiceClass引數指定要釋出成WebService的Java類,而是要指定在applicationContext.xml檔案中的裝配JavaBean的名稱(SpringBeanName引數)。
3. 在services.xml檔案中需要通過ServiceObjectSupplier引數指定SpringServletContextObjectSupplier類來獲得Spring的ApplicationContext物件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-550354/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【原創】WebService大講堂之Axis2(3):使用services.xml檔案釋出WebServiceWebXML
- 【原創】WebService大講堂之Axis2(4):二進位制檔案傳輸Web
- WebService大講堂之Axis2(6):跨服務會話(Session)管理Web會話Session
- axis2 WebService的釋出與呼叫Web
- 【原創】WebService(Axis2)視訊教程與QQ交流群釋出Web
- Axis2呼叫WebServiceWeb
- 【原創】webservice效能研究Web
- 如何將多個SessionBean釋出為WebServiceSessionBeanWeb
- webService 客戶端呼叫 axis2Web客戶端
- C#釋出WebServiceC#Web
- Spring整合CXF,釋出RSETful 風格WebServiceSpringWeb
- 【原創】webservice xfire框架例項筆記Web框架筆記
- WebService框架大比較(Axis,axis2,Xfire以及cxf)Web框架
- WebService之Spring+CXF整合示例WebSpring
- 使用services.xml檔案釋出WebServiceXMLWeb
- WebService 之 Restful ToolWebREST
- xfire+spring整合webserviceSpringWeb
- apache cxf-2.4.3 +spring-3.0.5釋出SOAP協議WebService服務ApacheSpring協議Web
- WebService之超級HelloWorldWeb
- webservice介面Web
- WebService基本Web
- soa == webServiceWeb
- 求助webserviceWeb
- WebService求助Web
- webservice testWeb
- jboss webservice 使用wsimport工具出錯WebImport
- Restful是什麼,SOAP Webservice和RESTful WebserviceRESTWeb
- JAVA專案中釋出WebService服務—簡單例項JavaWeb單例
- WCF、WebAPI、WCFREST、WebService之間的區別WebAPIREST
- webservice介面呼叫Web
- WebService XML SoapFormatterWebXMLORM
- WebService程式碼Web
- Webservice On NettyWebNetty
- WebService實戰Web
- 除錯WebService除錯Web
- webservice簡介Web
- 細說WebServiceWeb
- Java-Spring-WebService最基礎的配置示例JavaSpringWeb