public class SoapClient extends Object implements HeaderOperation<SoapClient>
此对象用于构建一个SOAP消息,并通过HTTP接口发出消息内容。
SOAP消息本质上是一个XML文本,可以通过调用getMsgStr(boolean) 方法获取消息体
使用方法:
SoapClient client = SoapClient.create(url) .setMethod(methodName, namespaceURI) .setCharset(CharsetUtil.CHARSET_GBK) .setParam(param1, "XXX"); String response = client.send(true);
| Constructor and Description |
|---|
SoapClient(String url)
构造,默认使用soap1.1版本协议
|
SoapClient(String url,
SoapProtocol protocol)
构造
|
SoapClient(String url,
SoapProtocol protocol,
String namespaceURI)
构造
|
| Modifier and Type | Method and Description |
|---|---|
jakarta.xml.soap.SOAPHeaderElement |
addSOAPHeader(QName name)
增加SOAP头信息,方法返回
SOAPHeaderElement可以设置具体属性和子节点 |
jakarta.xml.soap.SOAPHeaderElement |
addSOAPHeader(QName name,
String actorURI,
String roleUri,
Boolean mustUnderstand,
Boolean relay)
增加SOAP头信息,方法返回
SOAPHeaderElement可以设置具体属性和子节点 |
jakarta.xml.soap.SOAPHeaderElement |
addSOAPHeader(String localName)
增加SOAP头信息,方法返回
SOAPHeaderElement可以设置具体属性和子节点 |
jakarta.xml.soap.SOAPHeaderElement |
addSOAPHeader(String localName,
String value)
增加SOAP头信息,方法返回
SOAPHeaderElement可以设置具体属性和子节点 |
SoapClient |
charset(Charset charset)
设置编码
|
SoapClient |
clearHeaders()
清除所有头信息,包括全局头信息
|
jakarta.xml.soap.SOAPMessage |
getMessage()
获取SOAP消息对象
SOAPMessage |
jakarta.xml.soap.SOAPBodyElement |
getMethodEle()
获取方法节点
用于创建子节点等操作 |
String |
getMsgStr(boolean pretty)
获取SOAP请求消息
|
SoapClient |
header(String name,
String value,
boolean isOverride)
设置一个header
如果覆盖模式,则替换之前的值,否则加入到值列表中 |
Map<String,List<String>> |
headers()
获取headers
|
SoapClient |
init(SoapProtocol protocol)
初始化
|
static SoapClient |
of(String url)
创建SOAP客户端,默认使用soap1.1版本协议
|
static SoapClient |
of(String url,
SoapProtocol protocol)
创建SOAP客户端
|
static SoapClient |
of(String url,
SoapProtocol protocol,
String namespaceURI)
创建SOAP客户端
|
SoapClient |
reset()
重置SOAP客户端,用于客户端复用
重置后需调用serMethod方法重新指定请求方法,并调用setParam方法重新定义参数
|
SoapResponse |
send()
发送请求,获取响应对象
|
Response |
sendForResponse()
发送请求,获取异步响应
|
SoapClient |
setMethod(jakarta.xml.soap.Name name,
Map<String,Object> params,
boolean useMethodPrefix)
设置请求方法
|
SoapClient |
setMethod(QName name)
设置请求方法
|
SoapClient |
setMethod(QName name,
Map<String,Object> params,
boolean useMethodPrefix)
设置请求方法
|
SoapClient |
setMethod(String methodName)
设置请求方法
方法名自动识别前缀,前缀和方法名使用“:”分隔 当识别到前缀后,自动添加xmlns属性,关联到默认的namespaceURI |
SoapClient |
setMethod(String methodName,
String namespaceURI)
设置请求方法
方法名自动识别前缀,前缀和方法名使用“:”分隔 当识别到前缀后,自动添加xmlns属性,关联到传入的namespaceURI |
SoapClient |
setParam(String name,
Object value)
设置方法参数,使用方法的前缀
|
SoapClient |
setParam(String name,
Object value,
boolean useMethodPrefix)
设置方法参数
|
SoapClient |
setParams(Map<String,Object> params)
批量设置参数,使用方法的前缀
|
SoapClient |
setParams(Map<String,Object> params,
boolean useMethodPrefix)
批量设置参数
|
SoapClient |
setUrl(String url)
设置Webservice请求地址
|
SoapClient |
write(OutputStream out)
将SOAP消息的XML内容输出到流
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitauth, basicAuth, bearerAuth, contentEncoding, contentLength, contentType, cookie, cookie, cookie, disableCookie, enableDefaultCookie, header, header, header, header, header, header, header, isChunked, keepAlive, proxyAuthpublic SoapClient(String url)
url - WS的URL地址public SoapClient(String url, SoapProtocol protocol)
url - WS的URL地址protocol - 协议版本,见SoapProtocolpublic SoapClient(String url, SoapProtocol protocol, String namespaceURI)
url - WS的URL地址protocol - 协议版本,见SoapProtocolnamespaceURI - 方法上的命名空间URIpublic static SoapClient of(String url)
url - WS的URL地址public static SoapClient of(String url, SoapProtocol protocol)
url - WS的URL地址protocol - 协议,见SoapProtocolpublic static SoapClient of(String url, SoapProtocol protocol, String namespaceURI)
url - WS的URL地址protocol - 协议,见SoapProtocolnamespaceURI - 方法上的命名空间URIpublic SoapClient init(SoapProtocol protocol)
protocol - 协议版本枚举,见SoapProtocolpublic SoapClient reset()
重置后需调用serMethod方法重新指定请求方法,并调用setParam方法重新定义参数
public SoapClient charset(Charset charset)
charset - 编码public SoapClient setUrl(String url)
url - Webservice请求地址public SoapClient header(String name, String value, boolean isOverride)
header in interface HeaderOperation<SoapClient>name - Header名value - Header值isOverride - 是否覆盖已有值public Map<String,List<String>> headers()
headers in interface HeaderOperation<SoapClient>public SoapClient clearHeaders()
public jakarta.xml.soap.SOAPHeaderElement addSOAPHeader(QName name, String actorURI, String roleUri, Boolean mustUnderstand, Boolean relay)
SOAPHeaderElement可以设置具体属性和子节点name - 头信息标签名actorURI - 中间的消息接收者roleUri - Role的URImustUnderstand - 标题项对于要对其进行处理的接收者来说是强制的还是可选的relay - relay属性SOAPHeaderElementpublic jakarta.xml.soap.SOAPHeaderElement addSOAPHeader(String localName)
SOAPHeaderElement可以设置具体属性和子节点localName - 头节点名称SOAPHeaderElementpublic jakarta.xml.soap.SOAPHeaderElement addSOAPHeader(String localName, String value)
SOAPHeaderElement可以设置具体属性和子节点localName - 头节点名称value - 头节点的值SOAPHeaderElementpublic jakarta.xml.soap.SOAPHeaderElement addSOAPHeader(QName name)
SOAPHeaderElement可以设置具体属性和子节点name - 头节点名称SOAPHeaderElementpublic SoapClient setMethod(jakarta.xml.soap.Name name, Map<String,Object> params, boolean useMethodPrefix)
name - 方法名及其命名空间params - 参数useMethodPrefix - 是否使用方法的命名空间前缀public SoapClient setMethod(QName name, Map<String,Object> params, boolean useMethodPrefix)
name - 方法名及其命名空间params - 参数useMethodPrefix - 是否使用方法的命名空间前缀public SoapClient setMethod(String methodName)
methodName - 方法名public SoapClient setMethod(String methodName, String namespaceURI)
methodName - 方法名(可有前缀也可无)namespaceURI - 命名空间URIpublic SoapClient setMethod(QName name)
name - 方法名及其命名空间public SoapClient setParam(String name, Object value)
name - 参数名value - 参数值,可以是字符串或Map或SOAPElementpublic SoapClient setParam(String name, Object value, boolean useMethodPrefix)
name - 参数名value - 参数值,可以是字符串或Map或SOAPElementuseMethodPrefix - 是否使用方法的命名空间前缀public SoapClient setParams(Map<String,Object> params)
params - 参数列表public SoapClient setParams(Map<String,Object> params, boolean useMethodPrefix)
params - 参数列表useMethodPrefix - 是否使用方法的命名空间前缀public jakarta.xml.soap.SOAPBodyElement getMethodEle()
SOAPBodyElementpublic jakarta.xml.soap.SOAPMessage getMessage()
SOAPMessageSOAPMessagepublic String getMsgStr(boolean pretty)
pretty - 是否格式化public SoapClient write(OutputStream out)
out - 输出流public SoapResponse send()
SoapResponsepublic Response sendForResponse()
Copyright © 2025. All rights reserved.