java wsimport https,wsimport使用小结二
那些很纠结要不要直接用wsimport生成的pojo,因为我没能找到很好的办法去转xmlGregorianCalendar到date或者java.util.Calendar,我觉得在pojo依赖ws是不可接受的,奋战了一晚上找到了在wsimport时转换的办法,为了方便日后记忆,贴上配置清单,此清单还包括了禁用 ws的wrapper style和异步方式的调用等,截获soap消息,打印log,已经使用本地的wsdl等。
先上一个命令行
wsimport -b ReaderServices-building.xml -p com.xxx.ws.stub.reader -wsdllocation ReaderServices.wsdl -Xnocompile ReaderServices.wsdl 在上building.xml
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://java.sun.com/xml/ns/jaxws">
false
false
parseMethod="javax.xml.bind.DatatypeConverter.parseDate"
printMethod="javax.xml.bind.DatatypeConverter.printDate"/>
parseMethod="javax.xml.bind.DatatypeConverter.parseDate"
printMethod="javax.xml.bind.DatatypeConverter.printDate"/>
fromwsdlhandler.common.LoggingHandler
LoggingHandler是直接从ws sample下面里拿的,小改了下源码
import java.io.PrintStream;
import java.util.Set;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
/*
* This simple SOAPHandler will output the contents of incoming
* and outgoing messages.
*/
public class LoggingHandler implements SOAPHandler {
// change this to redirect output if desired
private static PrintStream out = System.out;
public Set getHeaders() {
return null;
}
public boolean handleMessage(SOAPMessageContext smc) {
logToSystemOut(smc);
return true;
}
public boolean handleFault(SOAPMessageContext smc) {
logToSystemOut(smc);
return true;
}
// nothing to clean up
public void close(MessageContext messageContext) {
}
/*
* Check the MESSAGE_OUTBOUND_PROPERTY in the context
* to see if this is an outgoing or incoming message.
* Write a brief message to the print stream and
* output the message. The writeTo() method can throw
* SOAPException or IOException
*/
private void logToSystemOut(SOAPMessageContext smc) {
Boolean outboundProperty = (Boolean)
smc.get (MessageContext.MESSAGE_OUTBOUND_PROPERTY);
if (outboundProperty.booleanValue()) {
out.println("\nHandler Log -> Outbound message:");
} else {
out.println("\nHandler Log -> Inbound message:");
}
SOAPMessage message = smc.getMessage();
try {
message.writeTo(out);
out.println();
} catch (Exception e) {
e.printStackTrace();
}
}
}
java wsimport https,wsimport使用小结二相关推荐
- Java中getResourceAsStream的用法小结
2019独角兽企业重金招聘Python工程师标准>>> Java中getResourceAsStream的用法小结 一.Java中的getResourceAsStream主要有以下三 ...
- Java后端架构开荒实战(二)——单机到集群
Java后端架构开荒实战(二)--单机到集群 一.前言 上一篇文章做了一些准备工作,这边文章正式开始写代码. 在做好单实例架构之后,升级到集群是一件很容易的事情,所以把单机和集群放在这一篇一起说. 二 ...
- SSL证书与Https应用部署小结(转发)
为了提高网站的安全性,一般会在比较敏感的部分页面采用https传输,比如注册.登录.控制台等.像Gmail.网银等全部采用https传输. https/ssl 主要起到两个作用:网站认证.内容加密传输 ...
- java实现https请求
参考: https://www.cnblogs.com/chinway/p/5802541.html java 实现https请求 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易 ...
- Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发
接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...
- Java 设计模式之工厂模式(二)
原文地址:Java 设计模式之工厂模式(二) 博客地址:http://www.extlight.com 一.背景 本篇内容是 Java 设计模式创建型模式的第二篇.上一篇主题为 <Java 设计 ...
- java数据库编程——执行查询操作(二)
[0]README 1) 本文部分文字描述和source code 均转自 core java volume 2 , 旨在理解 java数据库编程--执行查询操作(二) 的基础知识 : 2) 本文和 ...
- JAVA通过HTTPS发送POST请求的方法
因为调用一个外部接口,会用到POST请求,而且还是Https的,但是由于之前学习的时候没有用到,所以研究了很久才弄懂了怎么去用JAVA实现Https发送post请求 使用的是HttpsURLConne ...
- java微信开发API解析(二)-获取消息和回复消息
java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...
- Java关键字transient和volatile小结(转)
Java关键字transient和volatile小结(转) transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶的话题,简单总结一下. tran ...
最新文章
- CollectionView侧滑刷新
- SAP MM 物料主数据分类视图的数据会带入批次分类视图里?
- MongoDB索引实战技巧
- 三十五、Scrapy 中的杂知识总结和代理池的编写
- 圆周率前100位记忆(房屋地点桩法)
- 吉林省计算机二级证书用英语怎么说,吉林省全国高等学校计算机水平考试二级...
- 2021数据技术嘉年华线上召开,万人观看,迎接国产数据库的耕获菑畬之年
- 如何使用IIS重写模块将HTTP重定向到HTTPS
- [.Net] 一句话Linq(递归查询)
- 树莓派+新型混合无人机
- PHP加密 php源代码在线加密工具推荐
- 来自MyBatis不一样收获结果的探索之旅
- GET获取表单数据的方法
- Python实现PDF(图片版)水印的去除
- ZYNQ开发(三)Linux Vi/Vim编译器
- 嵌入式开发练习(十五)PWM、DAC的使用
- 吴军的谷歌方法论|周末放送|Google的个人英雄主义和群众路线
- 相乘函数计算机表示符号,各种乘法的表示符号
- 2016年4月编程语言排行榜 Visual Basic正渐行渐远
- RxJava2 转换操作符之FlatMap()方法