protected Iterable<MIMEPart> getMimeParts(TWSDLExtensible ext) { MIMEMultipartRelated multiPartRelated = (MIMEMultipartRelated) getAnyExtensionOfType(ext, MIMEMultipartRelated.class); if(multiPartRelated == null) { return Collections.emptyList(); } return multiPartRelated.getParts(); }
/** * @param operation * @return true if operation has valid style and part */ private boolean validateStyleAndPart(BindingOperation operation, List<MessagePart> parts) { SOAPOperation soapOperation = (SOAPOperation) getExtensionOfType(operation, SOAPOperation.class); for (MessagePart part : parts) { if (part.getBindingExtensibilityElementKind() == MessagePart.SOAP_BODY_BINDING) { if (!isStyleAndPartMatch(soapOperation, part)) { return false; } } } return true; }
/** * @param operation * @return true if operation has valid body parts */ protected boolean validateBodyParts(BindingOperation operation) { boolean isRequestResponse = info.portTypeOperation.getStyle() == OperationStyle.REQUEST_RESPONSE; List<MessagePart> inputParts = getMessageParts(getSOAPRequestBody(), getInputMessage(), true); if (!validateStyleAndPart(operation, inputParts)) { return false; } if(isRequestResponse){ List<MessagePart> outputParts = getMessageParts(getSOAPResponseBody(), getOutputMessage(), false); if (!validateStyleAndPart(operation, outputParts)) { return false; } } return true; }
/** * @param message * @return MessageParts referenced by the mime:content */ protected List<MessagePart> getMimeContentParts(Message message, TWSDLExtensible ext) { ArrayList<MessagePart> mimeContentParts = new ArrayList<MessagePart>(); for (MIMEPart mimePart : getMimeParts(ext)) { MessagePart part = getMimeContentPart(message, mimePart); if (part != null) { mimeContentParts.add(part); } } return mimeContentParts; }
if (portTypeFault != null) { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_UNIQUE(bindingFault.getName(), info.bindingOperation.getName())); } else { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_FOUND(bindingFault.getName(), info.bindingOperation.getName())); (SOAPFault)getExtensionOfType(bindingFault, SOAPFault.class); if (soapFault == null) { warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); }else { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); if(faultMessage.getParts().isEmpty()) { error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_EMPTY_MESSAGE(bindingFault.getName(), faultMessage.getName())); warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_R_2716_R_2726("soapbind:fault", soapFault.getName()));
protected SOAPBody getSOAPRequestBody() { SOAPBody requestBody = (SOAPBody)getAnyExtensionOfType(info.bindingOperation.getInput(), SOAPBody.class); if (requestBody == null) { // the WSDL document is invalid error(info.bindingOperation.getInput(), ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_INPUT_MISSING_SOAP_BODY(info.bindingOperation.getName())); } return requestBody; }
private MessagePart getMimeContentPart(Message message, MIMEPart part) { for( MIMEContent mimeContent : getMimeContents(part) ) { String mimeContentPartName = mimeContent.getPart(); MessagePart mPart = message.getPart(mimeContentPartName); //RXXXX mime:content MUST have part attribute if(null == mPart) { error(mimeContent, ModelerMessages.WSDLMODELER_ERROR_PARTS_NOT_FOUND(mimeContentPartName, message.getName())); } mPart.setBindingExtensibilityElementKind(MessagePart.WSDL_MIME_BINDING); return mPart; } return null; }
private boolean validateMimeContentPartNames(List<MIMEContent> mimeContents) { //validate mime:content(s) in the mime:part as per R2909 for (MIMEContent mimeContent : mimeContents) { String mimeContnetPart; mimeContnetPart = getMimeContentPartName(mimeContent); if(mimeContnetPart == null) { warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart())); return false; } } return true; }
/** * @param ext * @param message * @param name * @return List of MimeContents from ext */ protected List<MIMEContent> getMimeContents(TWSDLExtensible ext, Message message, String name) { for (MIMEPart mimePart : getMimeParts(ext)) { List<MIMEContent> mimeContents = getMimeContents(mimePart); for (MIMEContent mimeContent : mimeContents) { if (mimeContent.getPart().equals(name)) { return mimeContents; } } } return null; }
/** * * @param port * @param wsdlPort */ protected void applyPortMethodCustomization(Port port, com.sun.tools.ws.wsdl.document.Port wsdlPort) { if (isProvider(wsdlPort)) { return; } JAXWSBinding jaxwsBinding = (JAXWSBinding)getExtensionOfType(wsdlPort, JAXWSBinding.class); String portMethodName = (jaxwsBinding != null)?((jaxwsBinding.getMethodName() != null)?jaxwsBinding.getMethodName().getName():null):null; if(portMethodName != null){ port.setPortGetter(portMethodName); }else{ portMethodName = Names.getPortName(port); portMethodName = BindingHelper.mangleNameToClassName(portMethodName); port.setPortGetter("get"+portMethodName); } }
(SOAPBinding)getExtensionOfType(binding, SOAPBinding.class); (SOAPBinding)getExtensionOfType(binding, SOAP12Binding.class); PortType portType = binding.resolvePortType(wsdlDocument); QName bindingName = WSDLModelerBase.getQNameOf(binding);
mimeParts = getMimeContentParts(message, info.bindingOperation.getInput()); } else { mimeParts = getMimeContentParts(message, info.bindingOperation.getOutput()); MessagePart mPart = message.getPart(part); if (null == mPart) { error(message, ModelerMessages.WSDLMODELER_ERROR_PARTS_NOT_FOUND(part, message.getName()));
protected boolean isProvider(com.sun.tools.ws.wsdl.document.Port wsdlPort){ JAXWSBinding portCustomization = (JAXWSBinding)getExtensionOfType(wsdlPort, JAXWSBinding.class); Boolean isProvider = (portCustomization != null)?portCustomization.isProvider():null; if(isProvider != null){ return isProvider; } JAXWSBinding jaxwsGlobalCustomization = (JAXWSBinding)getExtensionOfType(document.getDefinitions(), JAXWSBinding.class); isProvider = (jaxwsGlobalCustomization != null)?jaxwsGlobalCustomization.isProvider():null; if (isProvider != null) { return isProvider; } return false; }
private String getMimeContentType(MIMEContent mimeContent){ String mimeType = mimeContent.getType(); if(mimeType == null){ error(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_TYPE_ATTRIBUTE(info.operation.getName().getLocalPart())); } return mimeType; }
protected List<String> getAlternateMimeTypes(List<MIMEContent> mimeContents) { List<String> mimeTypes = new ArrayList<String>(); //validateMimeContentPartNames(mimeContents.iterator()); // String mimeType = null; for(MIMEContent mimeContent:mimeContents){ String mimeType = getMimeContentType(mimeContent); if (!mimeTypes.contains(mimeType)) { mimeTypes.add(mimeType); } } return mimeTypes; }
if (portTypeFault != null) { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_UNIQUE(bindingFault.getName(), info.bindingOperation.getName())); } else { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_FOUND(bindingFault.getName(), info.bindingOperation.getName())); (SOAPFault)getExtensionOfType(bindingFault, SOAPFault.class); if (soapFault == null) { warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); }else { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); if(faultMessage.getParts().isEmpty()) { error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_EMPTY_MESSAGE(bindingFault.getName(), faultMessage.getName())); warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_R_2716_R_2726("soapbind:fault", soapFault.getName()));
protected SOAPBody getSOAPResponseBody() { SOAPBody responseBody = (SOAPBody)getAnyExtensionOfType(info.bindingOperation.getOutput(), SOAPBody.class); if (responseBody == null) { // the WSDL document is invalid error(info.bindingOperation.getOutput(), ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_OUTPUT_MISSING_SOAP_BODY(info.bindingOperation.getName())); } return responseBody; }
private MessagePart getMimeContentPart(Message message, MIMEPart part) { for( MIMEContent mimeContent : getMimeContents(part) ) { String mimeContentPartName = mimeContent.getPart(); MessagePart mPart = message.getPart(mimeContentPartName); //RXXXX mime:content MUST have part attribute if(null == mPart) { error(mimeContent, ModelerMessages.WSDLMODELER_ERROR_PARTS_NOT_FOUND(mimeContentPartName, message.getName())); } mPart.setBindingExtensibilityElementKind(MessagePart.WSDL_MIME_BINDING); return mPart; } return null; }
private boolean validateMimeContentPartNames(List<MIMEContent> mimeContents) { //validate mime:content(s) in the mime:part as per R2909 for (MIMEContent mimeContent : mimeContents) { String mimeContnetPart; mimeContnetPart = getMimeContentPartName(mimeContent); if(mimeContnetPart == null) { warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart())); return false; } } return true; }
/** * @param message * @return MessageParts referenced by the mime:content */ protected List<MessagePart> getMimeContentParts(Message message, TWSDLExtensible ext) { ArrayList<MessagePart> mimeContentParts = new ArrayList<MessagePart>(); for (MIMEPart mimePart : getMimeParts(ext)) { MessagePart part = getMimeContentPart(message, mimePart); if (part != null) { mimeContentParts.add(part); } } return mimeContentParts; }