1. 一个客户端用户名密码回调类
package org.demo.ws.client;
import java.io.IOException;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import org.apache.ws.security.WSPasswordCallback;
public class ClientPasswordCallback implements CallbackHandler
{
@Override
public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException
{
WSPasswordCallback pwCallback = (WSPasswordCallback)callbacks[0];
pwCallback.setIdentifier("user1");
pwCallback.setPassword("password1");
}
}
2. src/ws-client.xml
<?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:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd" >
<bean id="clientPasswordCallback" class="org.demo.ws.client.ClientPasswordCallback" />
<bean id="wSS4JOutInterceptor" class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<constructor-arg>
<map>
<entry key="action" value="UsernameToken" />
<entry key="passwordType" value="PasswordText" />
<entry key="user" value="cxfClient" />
<entry key="passwordCallbackRef">
<ref bean="clientPasswordCallback" />
</entry>
</map>
</constructor-arg>
</bean>
<jaxws:client id="helloWorld" serviceClass="org.demo.ws.HelloWorld"
address="http://localhost:8080/spring/services/hello">
<jaxws:outInterceptors>
<ref bean="wSS4JOutInterceptor" />
</jaxws:outInterceptors>
</jaxws:client>
</beans>
3. 一个客户端测试类
package org.demo.ws.client;
import org.demo.ws.HelloWorld;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class WsClient
{
/**
* @param args
*/
public static void main(String[] args)
{
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("ws-client.xml");
HelloWorld bean = (HelloWorld)ctx.getBean("helloWorld");
String result = bean.sayHi("xiao ming");
System.out.println("result is " + result);
}
}
//
分享到:
相关推荐
springboot整合CXF发布webservice和客户端调用 项目中每个类都有详细的注释,保证都能看懂,不失为一个学习springboot整合cxf来学习webservice发布调用的好例子
2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息...
Java 调用webservice cxf客户端调用demo和服务端,包含jar包,服务端发布后直接用客户端调用
Springboot整合CXF发布Web service和客户端调用(用户和密码验证)打开及用
1. 发布和调用WebService: 使用CXF2.4(http://cxf.apache.org)和spring 2. 调用安全性: 使用简单的USERNAME_TOKEN 3. 服务程序中取得调用者身份 ------------------------- 接口 ------------------------- intf....
cxf客户端调用webservice所需jar包
使用CXF生成动态调用webservice接口的客户端,也比较简单。
cxf3.2.0作为服务端或客户端,发布webservice或者调用webservice所需的最少jar包。
使用cxf搭建webService,客户端通过接口进行调用
用CXF作为客户端调用webService的demo:本人亲测可用,eclipse工程项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。
ssh框架整合cxf(webservice),ssh案例(增、删、改、查),发布webservice,客户端调用,该工程自带jar包,mysql连接池,自动建库、建表。 ①直接解压,导入ssh2cxf项目 ②用tomcat启动ssh2cxf项目 ③在浏览器输入...
CXF入门教程(5)--webService异步调用模式文章配套代码,文中涉及的异步调用客户端的代码放在com.neareast.test.cxf.asyClient包下。原文地址:http://blog.csdn.net/neareast/article/details/7726503
webservice的cxf框架客户端调用所需jar包,不要删除里面的jar包,直接放在lib下。亲测可用。
纯java调用ws-security+CXF实现的webservice安全接口
NULL 博文链接:https://sxlkk.iteye.com/blog/1944831
cxf实现webservice发布,demo中详细介绍cxf发布方式,及客户端调用方法。
使用CXF技术发布webservice,以及客户端的调用方法(可直接复制使用),基于soap12
c#调用java带身份验证webservice
NULL 博文链接:https://shenxueliang.iteye.com/blog/1734414
cxf发布webservice,通过wsdl2java生成客户端,然后调用服务