如何在web应用中使用Axis2
2016-10-13 15:07
375 查看
Axis2可以处理WSDL并生成java代码,在服务端端称为Skeletons,在客户端称为Stubs。
Axis2的repsository是WEB-INF。axis2.xml是全局配置文件,在WEB-INF/conf/下。
第一件事:向web.xml中添加Axis2 Servlet
<web-app>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>
org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
第二件事:编写服务
public Book[] getBooks() {
return new Book[]{onlyBook};
}
public Book findBook(String isbn) {
if (isbn.equals(onlyBook.getIsbn()))
return onlyBook;
return null;
}
上面是BookService.java中的一部分。
第三件事:编写服务的部署描述文件
<serviceGroup>
<service name="BookService"
targetNamespace="http://ws.apache.org/axis2/samples/book/">
<description>Book sample service</description>
<schema schemaNamespace="http://ws.apache.org/axis2/samples/book/xsd/"/>
<parameter name="ServiceClass" locked="false">samples.demo.BookService</parameter>
<operation name="getBooks">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
<operation name="findBook">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
</service>
</serviceGroup>
可以使用RPCMessageReceiver部署POJO,也可以给服务指定一个schema。
第四件事:是否创建aar后缀文件?
aar文件用于hot deployment和服务隔离,但我们这里是webapp内部使用Axis2,所以使用Exploded deployment,也就是说我们要在WEB-INF下创建:
\---WEB-INF
| web.xml
|
\---services
\---BookService
\---META-INF
services.xml
当你把这webapp放在容器中起动时,你可以通过访问: http://yourhost:port/projectName/services/BookService?wsdl
查看这个服务的wsdl。
Axis2的repsository是WEB-INF。axis2.xml是全局配置文件,在WEB-INF/conf/下。
第一件事:向web.xml中添加Axis2 Servlet
<web-app>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>
org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
第二件事:编写服务
public Book[] getBooks() {
return new Book[]{onlyBook};
}
public Book findBook(String isbn) {
if (isbn.equals(onlyBook.getIsbn()))
return onlyBook;
return null;
}
上面是BookService.java中的一部分。
第三件事:编写服务的部署描述文件
<serviceGroup>
<service name="BookService"
targetNamespace="http://ws.apache.org/axis2/samples/book/">
<description>Book sample service</description>
<schema schemaNamespace="http://ws.apache.org/axis2/samples/book/xsd/"/>
<parameter name="ServiceClass" locked="false">samples.demo.BookService</parameter>
<operation name="getBooks">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
<operation name="findBook">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
</service>
</serviceGroup>
可以使用RPCMessageReceiver部署POJO,也可以给服务指定一个schema。
第四件事:是否创建aar后缀文件?
aar文件用于hot deployment和服务隔离,但我们这里是webapp内部使用Axis2,所以使用Exploded deployment,也就是说我们要在WEB-INF下创建:
\---WEB-INF
| web.xml
|
\---services
\---BookService
\---META-INF
services.xml
当你把这webapp放在容器中起动时,你可以通过访问: http://yourhost:port/projectName/services/BookService?wsdl
查看这个服务的wsdl。
相关文章推荐
- 如何使用Rexsee以Web开发方式创建Android应用
- Create a Java Web Application using Embedded Tomcat (如何使用Embedded 创建一个基于Tomcat的Web 应用))
- 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?
- 使用 PHP 构建的 Web 应用如何避免 XSS 攻击
- 一行代码不用敲,15分钟轻松搞定GIS开发,GISer福音,教你如何从下载到使用webappbuilder创建第一个应用程
- 如何让 Spring 应用使用web 容器的JNDI 资源
- Spring 如何在 WEB 应用中使用
- 细话 - 如何在web应用中使用百度地图
- [转载]使用 PHP 构建的 Web 应用如何避免 XSS 攻击
- 使用Nginx后如何在web应用中获取用户ip及原理解释
- 使用nginx后如何在web应用中获取用户ip
- 使用Nginx后如何在web应用中获取用户ip及原理解释
- 详解iPhone开发应用中如何使用Web视图
- Android开发之如何在WebView中点击链接使用自身打开(解决出现的选择使用第三方应用的问题)
- 使用代理类访问WCF应用(不添加web引用、不使用管道模式)以及如何调试WCF
- 使用nginx后如何在web应用中获取用户ip及原理解释
- 使用nginx后如何在web应用中获取用户ip及原理解释
- 使用nginx后如何在web应用中获取用户ip及原理解释
- 使用nginx后如何在web应用中获取用户ip及原理解释GOOD
- 使用nginx后如何在web应用中获取用户ip及原理解释