use of javax.wsdl.BindingInput in project cxf by apache.
the class ServiceWSDLBuilder method buildBindingInput.
protected void buildBindingInput(Definition def, BindingOperation bindingOperation, BindingMessageInfo bindingMessageInfo) {
if (bindingMessageInfo != null) {
final BindingInput bindingInput = def.createBindingInput();
addDocumentation(bindingInput, bindingMessageInfo.getDocumentation());
bindingInput.setName(bindingMessageInfo.getMessageInfo().getName().getLocalPart());
bindingOperation.setBindingInput(bindingInput);
addExtensibilityAttributes(def, bindingInput, bindingMessageInfo.getExtensionAttributes());
addExtensibilityElements(def, bindingInput, getWSDL11Extensors(bindingMessageInfo));
}
}
use of javax.wsdl.BindingInput in project pentaho-kettle by pentaho.
the class WsdlUtils method getSOAPBindingUse.
/**
* Get the SOAP Use type for the specified operation.
*
* @param binding
* A WSDL Binding instance.
* @param operationName
* The name of the operation.
* @return Either 'literal' or 'encoded'.
* @throws RuntimeException
* If the use type cannot be determined.
*/
protected static String getSOAPBindingUse(Binding binding, String operationName) {
BindingOperation bindingOperation = binding.getBindingOperation(operationName, null, null);
if (bindingOperation == null) {
throw new IllegalArgumentException("Can not find operation: " + operationName);
}
// first try getting the use setting from the input message
BindingInput bindingInput = bindingOperation.getBindingInput();
if (bindingInput != null) {
ExtensibilityElement soapBodyElem = WsdlUtils.findExtensibilityElement(bindingInput, SOAP_BODY_ELEMENT_NAME);
if (soapBodyElem != null) {
if (soapBodyElem instanceof SOAP12BodyImpl) {
return ((SOAP12BodyImpl) soapBodyElem).getUse();
} else {
return ((SOAPBody) soapBodyElem).getUse();
}
}
}
// if there was no input message try getting the use from the output message
BindingOutput bindingOutput = bindingOperation.getBindingOutput();
if (bindingOutput != null) {
ExtensibilityElement soapBodyElem = WsdlUtils.findExtensibilityElement(bindingOutput, SOAP_BODY_ELEMENT_NAME);
if (soapBodyElem != null) {
if (soapBodyElem instanceof SOAP12BodyImpl) {
return ((SOAP12BodyImpl) soapBodyElem).getUse();
} else {
return ((SOAPBody) soapBodyElem).getUse();
}
}
}
throw new RuntimeException("Unable to determine SOAP use for operation: " + operationName);
}
Aggregations