add method

This commit is contained in:
Looly 2020-09-25 16:47:20 +08:00
parent 74cb1abeeb
commit 920b2c2802
2 changed files with 45 additions and 9 deletions

View File

@ -19,6 +19,7 @@
* 【core 】 优化PageUtil彩虹算法issue#1110@Github
* 【core 】 IoUtil增加readUtf8方法
* 【core 】 优化全局邮箱账户初始化逻辑pr#1114@Github
* 【http 】 SoapClient增加addSOAPHeader方法
### Bug修复
* 【crypto 】 修复SM2验签后无法解密问题issue#I1W0VP@Gitee

View File

@ -19,7 +19,6 @@ import javax.xml.soap.Name;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
import javax.xml.soap.SOAPMessage;
import java.io.IOException;
@ -235,7 +234,7 @@ public class SoapClient extends HttpBase<SoapClient> {
*
* @param name 头信息标签名
* @return this
* @deprecated 为了和Http Hrader区分请使用{@link #setSOAPHeader(QName)}
* @deprecated 为了和Http Hrader区分请使用{@link #addSOAPHeader(QName)}
*/
@Deprecated
public SoapClient setHeader(QName name) {
@ -247,9 +246,12 @@ public class SoapClient extends HttpBase<SoapClient> {
*
* @param name 头信息标签名
* @return this
* @deprecated 为了便于设置子节点或者value值请使用{@link #addSOAPHeader(QName)}
*/
@Deprecated
public SoapClient setSOAPHeader(QName name) {
return setSOAPHeader(name, null, null, null, null);
addSOAPHeader(name);
return this;
}
/**
@ -261,7 +263,7 @@ public class SoapClient extends HttpBase<SoapClient> {
* @param mustUnderstand 标题项对于要对其进行处理的接收者来说是强制的还是可选的
* @param relay relay属性
* @return this
* @deprecated 为了和Http Hrader区分请使用{@link #setSOAPHeader(QName, String, String, Boolean, Boolean)}
* @deprecated 为了和Http Header区分请使用{@link #addSOAPHeader(QName, String, String, Boolean, Boolean)}
*/
@Deprecated
public SoapClient setHeader(QName name, String actorURI, String roleUri, Boolean mustUnderstand, Boolean relay) {
@ -277,13 +279,29 @@ public class SoapClient extends HttpBase<SoapClient> {
* @param mustUnderstand 标题项对于要对其进行处理的接收者来说是强制的还是可选的
* @param relay relay属性
* @return this
* @deprecated 为了便于设置子节点或者value值请使用{@link #addSOAPHeader(QName, String, String, Boolean, Boolean)}
*/
@Deprecated
public SoapClient setSOAPHeader(QName name, String actorURI, String roleUri, Boolean mustUnderstand, Boolean relay) {
SOAPHeader header;
SOAPHeaderElement ele;
addSOAPHeader(name, actorURI, roleUri, mustUnderstand, relay);
return this;
}
/**
* 增加SOAP头信息方法返回{@link SOAPHeaderElement}可以设置具体属性和子节点
*
* @param name 头信息标签名
* @param actorURI 中间的消息接收者
* @param roleUri Role的URI
* @param mustUnderstand 标题项对于要对其进行处理的接收者来说是强制的还是可选的
* @param relay relay属性
* @return {@link SOAPHeaderElement}
* @since 5.4.4
*/
public SOAPHeaderElement addSOAPHeader(QName name, String actorURI, String roleUri, Boolean mustUnderstand, Boolean relay) {
final SOAPHeaderElement ele = addSOAPHeader(name);
try {
header = this.message.getSOAPHeader();
ele = header.addHeaderElement(name);
if (StrUtil.isNotBlank(roleUri)) {
ele.setRole(roleUri);
}
@ -301,7 +319,24 @@ public class SoapClient extends HttpBase<SoapClient> {
ele.setMustUnderstand(mustUnderstand);
}
return this;
return ele;
}
/**
* 增加SOAP头信息方法返回{@link SOAPHeaderElement}可以设置具体属性和子节点
*
* @param name 头节点名称
* @return {@link SOAPHeaderElement}
* @since 5.4.4
*/
public SOAPHeaderElement addSOAPHeader(QName name){
SOAPHeaderElement ele;
try {
ele = this.message.getSOAPHeader().addHeaderElement(name);
} catch (SOAPException e) {
throw new SoapRuntimeException(e);
}
return ele;
}
/**