当前位置:文档之家› 基于TA+3webservice开发文档

基于TA+3webservice开发文档

Cxf WebService 整合Ta+3
1、需导入的jar包:
2、Web.xml配置:
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
3、在config/bs下面建一个spring-cxf.xml,配置发布webservice
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="/schema/beans"
xmlns:xsi="/2001/XMLSchema-instance"
xmlns:jaxws="/jaxws"
xsi:schemaLocation="
/schema/beans
/schema/beans/spring-beans.xsd
/jaxws /schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<!-- 配置要对外暴露的接口及访问地址-->
<bean id="hello" class="HelloWorldImpl" /> <!— id:指在spring 配置的bean id -->
<jaxws:endpoint id="helloworld" implementor="#hello" address="/HelloWorld"> <!— implementor :指具体的实现类-->
<!— address:该webservice 相对地址-->
</jaxws:endpoint>
</beans>
注:该文件需导入spring-cfg-include.xml中,在系统启动时加载该文件
4、创建一个webservice接口
@WebService 使用注解方式申明该接口为webservice
Public interface HelloWorld{
Public String sayHello(String text);
}
5、实现该接口
@WebService(endpointInterface="HelloWorld")
Public class HelloWorldImpl implements HelloWorld{
Public String sayHello(String text){
Return “Hello”+text;
}
}
6、在tomcat发布webservice
发布成功之后访问http://localhost/<app-name>/services/HelloWorld?wsdl 7、java客户端调用webservice例子
Public static void main(String [] args){
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(IMobile.class);
factory.setAddress("http://localhost/<app-name>/services/HelloWorld");
HelloWorld service = (HelloWorld) factory.create();
System.out.println(service.sayHello(“zhangsan”));
}
8、在weblogic下发布ws需要注意事项
a)删除项目中xml-apis.jar,添加jabx-impl-2.2.4-1.jar,jaxws-rt-2.1.3.jar(删除jar包下面
META-INF文件夹)
b)windows下修改启动文件:
set JA V A_OPTIONS=%JA V A_OPTIONS%
-Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessage Factory1_1Impl
set JA V A_OPTIONS=%JA V A_OPTIONS%
-Djavax.xml.soap.SOAPConnectionFactory=weblogic.wsee.saaj.SOAPConnectionFacto
ryImpl
c)linux下修改启动文件
JA V A_OPTIONS="${JA V A_OPTIONS}
-Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMe
ssageFactory1_1Impl"
JA V A_OPTIONS="${JA V A_OPTIONS}
-Djavax.xml.soap.SOAPConnectionFactory=weblogic.wsee.saaj.SOAPConnectionFacto
ryImpl"
9、config/ta/spring-security.xml修改
<intercept-url pattern="/services/*" filters="none"/>。

相关主题