cxf webservice配置(带超时)
来源:互联网 发布:unity3d 沙盒fps源码 编辑:程序博客网 时间:2024/05/18 08:53
cxf webservice配置(带超时)
1.spring配置文件方式测试
<!-- 客户端密码配置Bean定义 -->
<bean id="passwordCallback" class="com.creditease.core.ws.client.ClientValidateCallback">
<property name="userMap">
<map>
<entry key="abc" value="abc" />
</map>
</property>
</bean>
<jaxws:client id="testService" serviceClass="com.creditease.core.ws.client.UserService"
address="http://localhost:8080/project/services/testService">
<jaxws:outInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<property name="properties">
<map>
<entry key="action" value="UsernameToken" />
<entry key="user" value="admin" />
<entry key="passwordType" value="PasswordText" />
<entry key="passwordCallbackRef" value-ref="passwordCallback" />
</map>
</property>
</bean>
</jaxws:outInterceptors>
</jaxws:client>
用户名密码验证类
@Autowired
private TestService testService;
2.客户端java代码测试
<!-- 客户端密码配置Bean定义 -->
<bean id="passwordCallback" class="com.creditease.core.ws.client.ClientValidateCallback">
<property name="userMap">
<map>
<entry key="abc" value="abc" />
</map>
</property>
</bean>
<jaxws:client id="testService" serviceClass="com.creditease.core.ws.client.UserService"
address="http://localhost:8080/project/services/testService">
<jaxws:outInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<property name="properties">
<map>
<entry key="action" value="UsernameToken" />
<entry key="user" value="admin" />
<entry key="passwordType" value="PasswordText" />
<entry key="passwordCallbackRef" value-ref="passwordCallback" />
</map>
</property>
</bean>
</jaxws:outInterceptors>
</jaxws:client>
用户名密码验证类
- public class ClientValidateCallback implements CallbackHandler {
- private Map<String, String> userMap = null;
- public void setUserMap(Map<String, String> userMap) {
- this.userMap = userMap;
- }
- public void handle(Callback[] callbacks) throws IOException,
- UnsupportedCallbackException {
- for (int i = 0; i < callbacks.length; i++) {
- WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
- int usage = pc.getUsage();
- if (!userMap.containsKey(pc.getIdentifier()))
- throw new WSSecurityException("user not exists ");
- String pass = userMap.get(pc.getIdentifier());
- if (usage == WSPasswordCallback.USERNAME_TOKEN && pass != null) {
- pc.setPassword(pass);
- return;
- }
- }
- }
- }
@Autowired
private TestService testService;
2.客户端java代码测试
- JaxWsProxyFactoryBean userClient = new JaxWsProxyFactoryBean();
- userClient.setServiceClass(UserService.class);
- userClient.setAddress("http://localhost:8080/project/services/testService");
- // 设置用户名密码
- Map<String, Object> outProps = new HashMap<String, Object>();
- outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
- outProps.put(WSHandlerConstants.USER, "abc");
- outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
- outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, ClientPasswordCallback.class.getName());
- WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
- userClient.getOutInterceptors().add(wssOut);
- userClient.getOutInterceptors().add(new SAAJOutInterceptor());
- TestService testService = (TestService) userClient.create();
- // 超时设置
- Client proxy = ClientProxy.getClient(testService);
- HTTPConduit conduit = (HTTPConduit) proxy.getConduit();
- HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
- httpClientPolicy.setConnectionTimeout(360000);
- httpClientPolicy.setAllowChunking( false );
- httpClientPolicy.setReceiveTimeout(320000);
- conduit.setClient(httpClientPolicy);
- 用户名密码验证类
- public class ClientPasswordCallback implements CallbackHandler {
- public void handle(Callback[] callbacks) throws IOException,
- UnsupportedCallbackException {
- WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
- pc.setIdentifier("admin");
- pc.setPassword("admin");
- }
- }
0 0
- cxf webservice配置(带超时)
- CXF-WebService设置超时时间
- CXF配置Webservice接口
- cxf webservice 配置
- webservice配置-cxf
- CXF的WebService客户端超时了解
- CXF WebService 客户端设置超时时间
- CXF动态调用webservice超时问题
- CXF之定制超时配置
- webservice连接超时配置。
- CXF 客户端超时时间设置(非Spring配置方式)
- CXF开发与配置webservice
- CXF开发与配置webservice
- CXF开发与配置webservice .
- webservice详解(CXF)
- webservice开发(cxf)
- CXF之定制超时配置实例
- CXF客户端配置请求超时限制
- 【技术点】2015.09.09 一些接触到的技术点.
- 实现二分法查找——java实现
- 图片的异步加载(双缓存)+ViewHolder
- 黑马程序员——Java基础---网络编程
- 网页
- cxf webservice配置(带超时)
- C/C++代码里面读取Lua的Table
- Apache CXF 客户端调用 超时设置
- 9.9日AXURE,MARK MAN的初步学习
- HDU 1452 Happy 2004 (唯一分解定理 + 求等比数列前n项和)
- Fragment生命周期和使用小结
- jQuery 插件autocomplete 应用
- Android声明和使用权限
- poj2262