private boolean isHeaderPart(final BindingOperation bop, final Part part) { QName elementName = part.getElementName(); if (elementName != null) { String partName = elementName.getLocalPart(); SoapHeader inSoapHeader = SOAPBindingUtil.getBindingInputSOAPHeader(bop); if (inSoapHeader != null) { return partName.equals(inSoapHeader.getPart()); } SoapHeader outSoapHeader = SOAPBindingUtil.getBindingOutputSOAPHeader(bop); if (outSoapHeader != null) { return partName.equals(outSoapHeader.getPart()); } } return false; }
private boolean isHeaderPart(final BindingOperation bop, final Part part) { QName elementName = part.getElementName(); if (elementName != null) { String partName = elementName.getLocalPart(); SoapHeader inSoapHeader = SOAPBindingUtil.getBindingInputSOAPHeader(bop); if (inSoapHeader != null) { return partName.equals(inSoapHeader.getPart()); } SoapHeader outSoapHeader = SOAPBindingUtil.getBindingOutputSOAPHeader(bop); if (outSoapHeader != null) { return partName.equals(outSoapHeader.getPart()); } } return false; }
private void processSoapHeader(JavaMethod jm, BindingOperationInfo operation, ExtensibilityElement ext) { if (isOutOfBandHeader(operation.getInput(), ext)) { return; } SoapHeader soapHeader = SOAPBindingUtil.getSoapHeader(ext); for (JavaParameter parameter : jm.getParameters()) { if (soapHeader.getPart().equals(parameter.getPartName())) { setParameterAsHeader(parameter); break; } } }
private static Set<QName> getHeaderQNames(BindingMessageInfo bmi) { Set<QName> set = new HashSet<>(); List<MessagePartInfo> mps = bmi.getMessageInfo().getMessageParts(); List<ExtensibilityElement> extList = bmi.getExtensors(ExtensibilityElement.class); if (extList != null) { for (ExtensibilityElement ext : extList) { if (SOAPBindingUtil.isSOAPHeader(ext)) { SoapHeader header = SOAPBindingUtil.getSoapHeader(ext); String pn = header.getPart(); for (MessagePartInfo mpi : mps) { if (pn.equals(mpi.getName().getLocalPart())) { if (mpi.isElement()) { set.add(mpi.getElementQName()); } else { set.add(mpi.getTypeQName()); } break; } } } } } return set; }
private static Set<QName> getHeaderQNames(BindingMessageInfo bmi) { Set<QName> set = new HashSet<>(); List<MessagePartInfo> mps = bmi.getMessageInfo().getMessageParts(); List<ExtensibilityElement> extList = bmi.getExtensors(ExtensibilityElement.class); if (extList != null) { for (ExtensibilityElement ext : extList) { if (SOAPBindingUtil.isSOAPHeader(ext)) { SoapHeader header = SOAPBindingUtil.getSoapHeader(ext); String pn = header.getPart(); for (MessagePartInfo mpi : mps) { if (pn.equals(mpi.getName().getLocalPart())) { if (mpi.isElement()) { set.add(mpi.getElementQName()); } else { set.add(mpi.getTypeQName()); } break; } } } } } return set; }
headerInfo.setUse(header.getUse()); if (StringUtils.isEmpty(header.getPart())) { throw new RuntimeException("Problem with WSDL: soap:header element in operation " + bmsg.getBindingOperation().getName().getLocalPart() header.getPart())); if (mpi2.getName().getLocalPart().equals(header.getPart()) && mpi2.getMessageInfo().getName().equals(header.getMessage())) { mpi = mpi2;
headerInfo.setUse(header.getUse()); if (StringUtils.isEmpty(header.getPart())) { throw new RuntimeException("Problem with WSDL: soap:header element in operation " + bmsg.getBindingOperation().getName().getLocalPart() header.getPart())); if (mpi2.getName().getLocalPart().equals(header.getPart()) && mpi2.getMessageInfo().getName().equals(header.getMessage())) { mpi = mpi2;
SoapHeaderInfo headerInfo = new SoapHeaderInfo(); headerInfo.setUse(header.getUse()); if (StringUtils.isEmpty(header.getPart())) { throw new RuntimeException("Problem with WSDL: soap:header element in operation " + boi.getName().getLocalPart() header.getPart())); if (part != null && header.getMessage() != null && !part.getMessageInfo().getName().equals(header.getMessage())) { if (mpi.getName().getLocalPart().equals(header.getPart()) && mpi.getMessageInfo().getName().equals(header.getMessage())) { part = mpi;
SoapHeaderInfo headerInfo = new SoapHeaderInfo(); headerInfo.setUse(header.getUse()); if (StringUtils.isEmpty(header.getPart())) { throw new RuntimeException("Problem with WSDL: soap:header element in operation " + boi.getName().getLocalPart() header.getPart())); if (part != null && header.getMessage() != null && !part.getMessageInfo().getName().equals(header.getMessage())) { if (mpi.getName().getLocalPart().equals(header.getPart()) && mpi.getMessageInfo().getName().equals(header.getMessage())) { part = mpi;
protected void addMessageFromBinding(ExtensibilityElement ext, BindingOperationInfo bop, boolean isInput) { SoapHeader header = SOAPBindingUtil.getSoapHeader(ext); ServiceInfo serviceInfo = bop.getBinding().getService(); if (header != null && header.getMessage() == null) { throw new RuntimeException("Problem with WSDL: soap:header element" + " for operation " + bop.getName() + " under binding " + bop.getBinding().getName() + " does not contain a valid message attribute."); } if (header != null && serviceInfo.getMessage(header.getMessage()) == null) { Definition def = (Definition)serviceInfo.getProperty(WSDLServiceBuilder.WSDL_DEFINITION); SchemaCollection schemas = serviceInfo.getXmlSchemaCollection(); if (def != null && schemas != null) { QName qn = header.getMessage(); javax.wsdl.Message msg = findMessage(qn, def); if (msg != null) { addOutOfBandParts(bop, msg, schemas, isInput, header.getPart()); serviceInfo.refresh(); } else { throw new RuntimeException("Problem with WSDL: soap:header element" + " for operation " + bop.getName() + " is referring to an undefined wsdl:message element: " + qn); } } } } private javax.wsdl.Message findMessage(QName qn, Definition def) {
protected void addMessageFromBinding(ExtensibilityElement ext, BindingOperationInfo bop, boolean isInput) { SoapHeader header = SOAPBindingUtil.getSoapHeader(ext); ServiceInfo serviceInfo = bop.getBinding().getService(); if (header != null && header.getMessage() == null) { throw new RuntimeException("Problem with WSDL: soap:header element" + " for operation " + bop.getName() + " under binding " + bop.getBinding().getName() + " does not contain a valid message attribute."); } if (header != null && serviceInfo.getMessage(header.getMessage()) == null) { Definition def = (Definition)serviceInfo.getProperty(WSDLServiceBuilder.WSDL_DEFINITION); SchemaCollection schemas = serviceInfo.getXmlSchemaCollection(); if (def != null && schemas != null) { QName qn = header.getMessage(); javax.wsdl.Message msg = findMessage(qn, def); if (msg != null) { addOutOfBandParts(bop, msg, schemas, isInput, header.getPart()); serviceInfo.refresh(); } else { throw new RuntimeException("Problem with WSDL: soap:header element" + " for operation " + bop.getName() + " is referring to an undefined wsdl:message element: " + qn); } } } } private javax.wsdl.Message findMessage(QName qn, Definition def) {
if (soapHeader.getPart().equals(parameter.getPartName())) { setParameterAsHeader(parameter); found = true; && jm.getReturn().getName().equals(soapHeader.getPart())) { found = true; MessagePartInfo exPart = service.getMessage(soapHeader.getMessage()) .getMessagePart(new QName(soapHeader.getMessage().getNamespaceURI(), soapHeader.getPart())); JavaParameter jp = processor.addParameterFromBinding(jm, exPart, JavaType.Style.OUT); setParameterAsHeader(jp);