如何在其他项目调用webservice 发布的soap风格的接口
来源:互联网 发布:淘宝买游戏账号被骗 编辑:程序博客网 时间:2024/06/13 20:08
1.在项目的pom.xml文件中拷入cxf的依赖
<!-- 5.CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>1.5.2</version>
</dependency>
2.将发布的接口类拷入项目下(UserService注意要在接口上加@WebService注解如果不加则会抛出异常:Exception in thread "main" javax.xml.ws.WebServiceException: Could not find)
3.想办法将UserService的bean交给springIOC容器来管理,即可以用自动注入(@Autowired)的方式来调用
①写一个bean来实现FactoryBean并重写它的三个方法,代码示例:
package com.bean.factory;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.springframework.beans.factory.FactoryBean;
public class MyWsServiceFactoryBean<T>implements FactoryBean<T>{
private Stringurl;
private Class<T>t;
@Override
public T getObject()throws Exception {
JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
jaxWsProxyFactoryBean.setAddress(url);
jaxWsProxyFactoryBean.setServiceClass(t);
T MyService =(T)jaxWsProxyFactoryBean.create();
return MyService;
}
@Override
public Class<?> getObjectType() {
return this.t;
}
@Override
public boolean isSingleton() {
return true;
}
public String getUrl() {
return url;
}
public void setUrl(Stringurl) {
this.url =url;
}
public Class<T> getT() {
return t;
}
public void setT(Class<T>t) {
this.t =t;
}
}
②在spring的配置文件中配置MyWsServiceFactoryBean,示例代码如下:
1)先配置一个xxx.properties的文件,内容如下:
ws_url=http://localhost:8080/mall_0417_user_student/user?wsdl
ws_t=com.service.UserService
2)将文件配置在spring的配置文件中
<context:property-placeholder location="classpath:ws.properties" />
3)配置MyWsServiceFactoryBean
<bean class="com.bean.factory.MyWsServiceFactoryBean">
<property name="url" value="${ws_url}"/>
<property name="t" value="${ws_t}"/>
</bean>
③此时就可以在相应的Controller层去注入UserService(@Autowired)
然后调用该接口中相应的方法
- 如何在其他项目调用webservice 发布的soap风格的接口
- webservice的soap风格的接口发布流程
- PHP soap 调用 JAVA发布的webservice
- webService的soap风格的接口的安全问题
- .net调用java发布的webservice soap报错
- 在同一个系统里用cxf 实现SOAP 协议和RESTful风格 两种类型的webservice接口
- webService的rest风格的接口发布流程
- ios 进阶 -- 调用webservice接口(soap协议)的方法
- SOAP的接口调用
- php 如何利用 soap调用.Net的WebService asmx文件
- 如何调用发布好的webService
- webservice接口的发布
- cxf+spring发布webservice接口及接口的调用
- cxf+spring发布webservice接口及接口的调用
- cxf+spring发布webservice接口及接口的调用
- cxf+spring发布webservice接口及接口的调用
- 如何在 SOAP 接口调用的 Http header 中增加字段
- 如何调用别人提供的webservice接口
- 无穷小放飞互联网,赶超美日不是梦
- 最新pycharm破解(亲试有效)
- 多线程
- SpringBoot 使用fastjson初识
- PyQt5介绍
- 如何在其他项目调用webservice 发布的soap风格的接口
- webService的soap风格的接口的安全问题
- 前言
- android面试题
- 如何在webservice中配置多数据源
- Say less, plan less,Do more!
- 20170912
- 牛客网-剑指offer-11-二进制中1的个数
- Spring-AOP @AspectJ进阶之绑定代理对象