cxf webservice 调用 https

参考:http://michael-huaping.iteye.com/blog/1631305

模拟了一下。

单项认证:就是服务端是https的,需要认证。但是客户端不用认证。就是单项认证。

流程就是服务器生成keystore文件,和证书文件,并使用证书文件和keystore文件,生成给客户端用的client.truststore 文件。

坑1:生成的cn 不能乱写,如果随便填写一个a。然后客户端用ip去调用时。会提示 “”No subject alternative names present“” 异常,cn 需要填写webservice地址对应ip(正式环境可能是域名什么的)

坑2:我是用tomcat测试的,注意到配置文件clientAuth ,true貌似是表示强制双向认证,如果是单项认证,这里写false。我这里是写false。


双向认证,参考文章即可,没实际测试


另外有人说eclipse里生成可以,不知道是不是。先不管了。在Eclipse中右键该wsdl文件,web service-->Generate Client生成客户端

http://www.cnblogs.com/liaojie970/p/4921575.html



其他参考:http://www.cnblogs.com/cuimiemie/p/6442685.html

转换java keytools的keystore证书到OPENSSL的PEM格式文件

http://www.cnblogs.com/interdrp/p/4880891.html


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用CXF调用WebService时,可以通过Java对象来传递参数。具体步骤如下: 1. 创建Java对象,包含需要传递的参数。 2. 使用JAXB将Java对象转换为XML格式。 3. 将XML格式的参数传递给WebService。 4. 在WebService端,将XML格式的参数再次转换为Java对象。 以下是一个简单的示例代码: ```java // 创建Java对象 Person person = new Person(); person.setName("张三"); person.setAge(20); // 将Java对象转换为XML格式 JAXBContext context = JAXBContext.newInstance(Person.class); Marshaller marshaller = context.createMarshaller(); StringWriter writer = new StringWriter(); marshaller.marshal(person, writer); String xml = writer.toString(); // 调用WebService HelloService service = new HelloService(); HelloPort port = service.getHelloPort(); String result = port.sayHello(xml); // 将XML格式的返回值转换为Java对象 Unmarshaller unmarshaller = context.createUnmarshaller(); StringReader reader = new StringReader(result); Person response = (Person) unmarshaller.unmarshal(reader); // 输出结果 System.out.println(response.getName() + "," + response.getAge()); ``` 在上述示例中,Person类是一个简单的Java对象,包含name和age两个属性。JAXBContext用于将Java对象转换为XML格式,Marshaller将Java对象编组为XML格式,而Unmarshaller则将XML格式解组为Java对象。最后,通过HelloPort的sayHello方法调用WebService,并将XML格式的参数传递给它。在WebService端,将XML格式的参数再次转换为Java对象,并返回XML格式的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值