下面列出了怎么用javax.jws.soap.SOAPBinding.Use的API类实例代码及写法,或者点击链接到github查看源代码。
BindingHelper(BindingMessageInfo bindingMessageInfo) throws ParserException, ParserConfigurationException {
this.bindingMessageInfo = bindingMessageInfo;
this.bindingOperation = bindingMessageInfo.getBindingOperation();
this.schemaCollection = bindingMessageInfo.getBindingOperation().getBinding().getService().getXmlSchemaCollection();
SoapOperationInfo soapOperationInfo = bindingOperation.getExtensor(SoapOperationInfo.class);
SoapBindingInfo soapBindingInfo = (SoapBindingInfo) bindingOperation.getBinding();
soapVersion = soapBindingInfo.getSoapVersion();
// get binding style
if (soapOperationInfo.getStyle() != null) {
style = Style.valueOf(soapOperationInfo.getStyle().toUpperCase(Locale.US));
} else if (soapBindingInfo.getStyle() != null) {
style = Style.valueOf(soapBindingInfo.getStyle().toUpperCase(Locale.US));
} else {
style = Style.DOCUMENT;
}
// get body binding
SoapBodyInfo soapBodyInfo = bindingMessageInfo.getExtensor(SoapBodyInfo.class);
List<SoapHeaderInfo> soapHeaders = bindingMessageInfo.getExtensors(SoapHeaderInfo.class);
bodyParts = soapBodyInfo.getParts();
// get any headers as MessagePartInfos
hasHeaders = soapHeaders != null && !soapHeaders.isEmpty();
headerParts = hasHeaders ?
soapHeaders.stream().map(SoapHeaderInfo::getPart).collect(Collectors.toList()) : null;
// get required body use
Use use = Use.valueOf(soapBodyInfo.getUse().toUpperCase(Locale.US));
if (ENCODED.equals(use)) {
// TODO could we add support for RPC/encoded messages by setting schema type to any??
throw new ParserException("Messages with use='encoded' are not supported");
}
// Document builder for create schemaset
this.documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
}
@Override
public String getUse() {
SOAPBinding sb = getServiceClass().getAnnotation(SOAPBinding.class);
if (sb != null) {
if (sb.use().equals(Use.LITERAL)) {
return "literal";
} else if (sb.use().equals(Use.ENCODED)) {
return "encoded";
}
}
return super.getUse();
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
/**
* Get {@link Use} such as <code>literal</code> or <code>encoded</code>.
*/
public Use getUse() {
return use;
}
/**
* Returns true if its document/literal
*/
public boolean isDocLit() {
return style == Style.DOCUMENT && use == Use.LITERAL;
}
/**
* Returns true if this is a rpc/literal binding
*/
public boolean isRpcLit() {
return style == Style.RPC && use == Use.LITERAL;
}
@SOAPBinding(style = Style.RPC, use = Use.LITERAL)
@WebMethod(operationName = "sayHi", exclude = false)
String sayHi();