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; }
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; }
/** * @param mimeParts */ protected boolean validateMimeParts(Iterable<MIMEPart> mimeParts) { boolean gotRootPart = false; List<MIMEContent> mimeContents = new ArrayList<MIMEContent>(); for (MIMEPart mPart : mimeParts) { for (TWSDLExtension obj : mPart.extensions()) { if (obj instanceof SOAPBody) { if (gotRootPart) { warning(mPart, ModelerMessages.MIMEMODELER_INVALID_MIME_PART_MORE_THAN_ONE_SOAP_BODY(info.operation.getName().getLocalPart())); return false; } gotRootPart = true; } else if (obj instanceof MIMEContent) { mimeContents.add((MIMEContent) obj); } } if (!validateMimeContentPartNames(mimeContents)) { return false; } if(mPart.getName() != null) { warning(mPart, ModelerMessages.MIMEMODELER_INVALID_MIME_PART_NAME_NOT_ALLOWED(info.portTypeOperation.getName())); } } return true; }
error(portTypeFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_UNIQUE(bindingFault.getName(), info.bindingOperation.getName())); error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_FOUND(bindingFault.getName(), info.bindingOperation.getName())); warning(portTypeFault,ModelerMessages.WSDLMODELER_INVALID_PORT_TYPE_FAULT_NOT_FOUND(portTypeFault.getName(),info.portTypeOperation.getName())); warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); soapFault = new SOAPFault(new LocatorImpl()); } else { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_IGNORING_FAULT_NOT_LITERAL(bindingFault.getName(), info.bindingOperation.getName())); } else { error(soapFault, ModelerMessages.WSDLMODELER_INVALID_OPERATION_FAULT_NOT_LITERAL(bindingFault.getName(), info.bindingOperation.getName())); warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NO_SOAP_FAULT_NAME(bindingFault.getName(), info.bindingOperation.getName())); } else if (!soapFault.getName().equals(bindingFault.getName())) { warning(soapFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_WRONG_SOAP_FAULT_NAME(soapFault.getName(), bindingFault.getName(), info.bindingOperation.getName())); } else if (soapFault.getNamespace() != null) { warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_R_2716_R_2726("soapbind:fault", soapFault.getName())); error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_EMPTY_MESSAGE(portTypeFault.getName(), faultMessage.getName())); warning(faultPart, ModelerMessages.WSDLMODELER_DUPLICATE_FAULT_SOAP_NAME(portTypeFault.getName(), info.portTypeOperation.getName(), faultPart.getName())); continue; error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_MESSAGE_HAS_MORE_THAN_ONE_PART(portTypeFault.getName(), faultMessage.getName())); warning(faultPart, ModelerMessages.WSDLMODELER_INVALID_MESSAGE_PART_MUST_HAVE_ELEMENT_DESCRIPTOR(faultMessage.getName(), faultPart.getName()));
&& info.portTypeOperation.getStyle() != OperationStyle.ONE_WAY) { if (options.isExtensionMode()) { warning(info.portTypeOperation, ModelerMessages.WSDLMODELER_WARNING_IGNORING_OPERATION_NOT_SUPPORTED_STYLE(info.portTypeOperation.getName())); return null; } else { error(info.portTypeOperation, ModelerMessages.WSDLMODELER_INVALID_OPERATION_NOT_SUPPORTED_STYLE(info.portTypeOperation.getName(), info.port.resolveBinding(document).resolvePortType(document).getName())); if (soapRequestBody == null) { error(info.bindingOperation, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_INPUT_MISSING_SOAP_BODY(info.bindingOperation.getName())); if (soapRequestBody.isEncoded()) { if(options.isExtensionMode()){ warning(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED()); processNonSOAPOperation(); }else{ error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
JAXBType responseBeanType = getJAXBModelBuilder().getJAXBType(responseBeanName); if (responseBeanType == null) { error(info.operation.getEntity(), ModelerMessages.WSDLMODELER_RESPONSEBEAN_NOTFOUND(info.operation.getName())); if (inParameter == null) { if (options.isExtensionMode()) { warning(info.operation.getEntity(), ModelerMessages.WSDLMODELER_WARNING_IGNORING_OPERATION_PART_NOT_FOUND(info.operation.getName().getLocalPart(), name)); } else { error(info.operation.getEntity(), ModelerMessages.WSDLMODELER_ERROR_PART_NOT_FOUND(info.operation.getName().getLocalPart(), name));
typeAnno = getJAXBModelBuilder().getElementTypeAndAnn(desc); if(typeAnno == null){ error(part, ModelerMessages.WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(part.getDescriptor(), part.getName())); warning(part, ModelerMessages.MIMEMODELER_ELEMENT_PART_INVALID_ELEMENT_MIME_TYPE(part.getName(), mimeType)); error(part, ModelerMessages.WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(desc, part.getName()));
private List<MessagePart> getBodyParts(SOAPBody body, Message message) { String bodyParts = body.getParts(); if (bodyParts != null) { List<MessagePart> partsList = new ArrayList<MessagePart>(); StringTokenizer in = new StringTokenizer(bodyParts.trim(), " "); while (in.hasMoreTokens()) { String part = in.nextToken(); MessagePart mPart = message.getPart(part); if (null == mPart) { error(message, ModelerMessages.WSDLMODELER_ERROR_PARTS_NOT_FOUND(part, message.getName())); } mPart.setBindingExtensibilityElementKind(MessagePart.SOAP_BODY_BINDING); partsList.add(mPart); } return partsList; } return null; }
/** * @return List of SOAPHeader extensions */ protected List<SOAPHeader> getHeaderExtensions(TWSDLExtensible extensible) { List<SOAPHeader> headerList = new ArrayList<SOAPHeader>(); for (TWSDLExtension extension : extensible.extensions()) { if (extension.getClass()==MIMEMultipartRelated.class) { for( MIMEPart part : ((MIMEMultipartRelated) extension).getParts() ) { boolean isRootPart = isRootPart(part); for (TWSDLExtension obj : part.extensions()) { if (obj instanceof SOAPHeader) { //bug fix: 5024015 if (!isRootPart) { warning((Entity) obj, ModelerMessages.MIMEMODELER_WARNING_IGNORINGINVALID_HEADER_PART_NOT_DECLARED_IN_ROOT_PART(info.bindingOperation.getName())); return new ArrayList<SOAPHeader>(); } headerList.add((SOAPHeader) obj); } } } } else if (extension instanceof SOAPHeader) { headerList.add((SOAPHeader) extension); } } return headerList; }
error(portTypeFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_UNIQUE(bindingFault.getName(), info.bindingOperation.getName())); error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_FOUND(bindingFault.getName(), info.bindingOperation.getName())); warning(portTypeFault,ModelerMessages.WSDLMODELER_INVALID_PORT_TYPE_FAULT_NOT_FOUND(portTypeFault.getName(),info.portTypeOperation.getName())); warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); soapFault = new SOAPFault(new LocatorImpl()); } else { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_IGNORING_FAULT_NOT_LITERAL(bindingFault.getName(), info.bindingOperation.getName())); } else { error(soapFault, ModelerMessages.WSDLMODELER_INVALID_OPERATION_FAULT_NOT_LITERAL(bindingFault.getName(), info.bindingOperation.getName())); warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NO_SOAP_FAULT_NAME(bindingFault.getName(), info.bindingOperation.getName())); } else if (!soapFault.getName().equals(bindingFault.getName())) { warning(soapFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_WRONG_SOAP_FAULT_NAME(soapFault.getName(), bindingFault.getName(), info.bindingOperation.getName())); } else if (soapFault.getNamespace() != null) { warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_R_2716_R_2726("soapbind:fault", soapFault.getName())); error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_EMPTY_MESSAGE(portTypeFault.getName(), faultMessage.getName())); warning(faultPart, ModelerMessages.WSDLMODELER_DUPLICATE_FAULT_SOAP_NAME(portTypeFault.getName(), info.portTypeOperation.getName(), faultPart.getName())); continue; error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_MESSAGE_HAS_MORE_THAN_ONE_PART(portTypeFault.getName(), faultMessage.getName())); warning(faultPart, ModelerMessages.WSDLMODELER_INVALID_MESSAGE_PART_MUST_HAVE_ELEMENT_DESCRIPTOR(faultMessage.getName(), faultPart.getName()));
&& info.portTypeOperation.getStyle() != OperationStyle.ONE_WAY) { if (options.isExtensionMode()) { warning(info.portTypeOperation, ModelerMessages.WSDLMODELER_WARNING_IGNORING_OPERATION_NOT_SUPPORTED_STYLE(info.portTypeOperation.getName())); return null; } else { error(info.portTypeOperation, ModelerMessages.WSDLMODELER_INVALID_OPERATION_NOT_SUPPORTED_STYLE(info.portTypeOperation.getName(), info.port.resolveBinding(document).resolvePortType(document).getName())); if (soapRequestBody == null) { error(info.bindingOperation, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_INPUT_MISSING_SOAP_BODY(info.bindingOperation.getName())); if (soapRequestBody.isEncoded()) { if(options.isExtensionMode()){ warning(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED()); processNonSOAPOperation(); }else{ error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
JAXBType responseBeanType = getJAXBModelBuilder().getJAXBType(responseBeanName); if (responseBeanType == null) { error(info.operation.getEntity(), ModelerMessages.WSDLMODELER_RESPONSEBEAN_NOTFOUND(info.operation.getName())); if (inParameter == null) { if (options.isExtensionMode()) { warning(info.operation.getEntity(), ModelerMessages.WSDLMODELER_WARNING_IGNORING_OPERATION_PART_NOT_FOUND(info.operation.getName().getLocalPart(), name)); } else { error(info.operation.getEntity(), ModelerMessages.WSDLMODELER_ERROR_PART_NOT_FOUND(info.operation.getName().getLocalPart(), name));
typeAnno = getJAXBModelBuilder().getElementTypeAndAnn(desc); if(typeAnno == null){ error(part, ModelerMessages.WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(part.getDescriptor(), part.getName())); warning(part, ModelerMessages.MIMEMODELER_ELEMENT_PART_INVALID_ELEMENT_MIME_TYPE(part.getName(), mimeType)); error(part, ModelerMessages.WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(desc, part.getName()));
private List<MessagePart> getBodyParts(SOAPBody body, Message message) { String bodyParts = body.getParts(); if (bodyParts != null) { List<MessagePart> partsList = new ArrayList<MessagePart>(); StringTokenizer in = new StringTokenizer(bodyParts.trim(), " "); while (in.hasMoreTokens()) { String part = in.nextToken(); MessagePart mPart = message.getPart(part); if (null == mPart) { error(message, ModelerMessages.WSDLMODELER_ERROR_PARTS_NOT_FOUND(part, message.getName())); } mPart.setBindingExtensibilityElementKind(MessagePart.SOAP_BODY_BINDING); partsList.add(mPart); } return partsList; } return null; }
/** * @return List of SOAPHeader extensions */ protected List<SOAPHeader> getHeaderExtensions(TWSDLExtensible extensible) { List<SOAPHeader> headerList = new ArrayList<SOAPHeader>(); for (TWSDLExtension extension : extensible.extensions()) { if (extension.getClass()==MIMEMultipartRelated.class) { for( MIMEPart part : ((MIMEMultipartRelated) extension).getParts() ) { boolean isRootPart = isRootPart(part); for (TWSDLExtension obj : part.extensions()) { if (obj instanceof SOAPHeader) { //bug fix: 5024015 if (!isRootPart) { warning((Entity) obj, ModelerMessages.MIMEMODELER_WARNING_IGNORINGINVALID_HEADER_PART_NOT_DECLARED_IN_ROOT_PART(info.bindingOperation.getName())); return new ArrayList<SOAPHeader>(); } headerList.add((SOAPHeader) obj); } } } } else if (extension instanceof SOAPHeader) { headerList.add((SOAPHeader) extension); } } return headerList; }
error(portTypeFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_UNIQUE(bindingFault.getName(), info.bindingOperation.getName())); error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NOT_FOUND(bindingFault.getName(), info.bindingOperation.getName())); warning(portTypeFault,ModelerMessages.WSDLMODELER_INVALID_PORT_TYPE_FAULT_NOT_FOUND(portTypeFault.getName(),info.portTypeOperation.getName())); warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); soapFault = new SOAPFault(new LocatorImpl()); } else { error(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_OUTPUT_MISSING_SOAP_FAULT(bindingFault.getName(), info.bindingOperation.getName())); warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_IGNORING_FAULT_NOT_LITERAL(bindingFault.getName(), info.bindingOperation.getName())); } else { error(soapFault, ModelerMessages.WSDLMODELER_INVALID_OPERATION_FAULT_NOT_LITERAL(bindingFault.getName(), info.bindingOperation.getName())); warning(bindingFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_NO_SOAP_FAULT_NAME(bindingFault.getName(), info.bindingOperation.getName())); } else if (!soapFault.getName().equals(bindingFault.getName())) { warning(soapFault, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_WRONG_SOAP_FAULT_NAME(soapFault.getName(), bindingFault.getName(), info.bindingOperation.getName())); } else if (soapFault.getNamespace() != null) { warning(soapFault, ModelerMessages.WSDLMODELER_WARNING_R_2716_R_2726("soapbind:fault", soapFault.getName())); error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_EMPTY_MESSAGE(portTypeFault.getName(), faultMessage.getName())); warning(faultPart, ModelerMessages.WSDLMODELER_DUPLICATE_FAULT_SOAP_NAME(portTypeFault.getName(), info.portTypeOperation.getName(), faultPart.getName())); continue; error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_MESSAGE_HAS_MORE_THAN_ONE_PART(portTypeFault.getName(), faultMessage.getName())); warning(faultPart, ModelerMessages.WSDLMODELER_INVALID_MESSAGE_PART_MUST_HAVE_ELEMENT_DESCRIPTOR(faultMessage.getName(), faultPart.getName()));
&& info.portTypeOperation.getStyle() != OperationStyle.ONE_WAY) { if (options.isExtensionMode()) { warning(info.portTypeOperation, ModelerMessages.WSDLMODELER_WARNING_IGNORING_OPERATION_NOT_SUPPORTED_STYLE(info.portTypeOperation.getName())); return null; } else { error(info.portTypeOperation, ModelerMessages.WSDLMODELER_INVALID_OPERATION_NOT_SUPPORTED_STYLE(info.portTypeOperation.getName(), info.port.resolveBinding(document).resolvePortType(document).getName())); if (soapRequestBody == null) { error(info.bindingOperation, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_INPUT_MISSING_SOAP_BODY(info.bindingOperation.getName())); if (soapRequestBody.isEncoded()) { if(options.isExtensionMode()){ warning(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED()); processNonSOAPOperation(); }else{ error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
JAXBType responseBeanType = getJAXBModelBuilder().getJAXBType(responseBeanName); if (responseBeanType == null) { error(info.operation.getEntity(), ModelerMessages.WSDLMODELER_RESPONSEBEAN_NOTFOUND(info.operation.getName())); if (inParameter == null) { if (options.isExtensionMode()) { warning(info.operation.getEntity(), ModelerMessages.WSDLMODELER_WARNING_IGNORING_OPERATION_PART_NOT_FOUND(info.operation.getName().getLocalPart(), name)); } else { error(info.operation.getEntity(), ModelerMessages.WSDLMODELER_ERROR_PART_NOT_FOUND(info.operation.getName().getLocalPart(), name));
/** * @param mimeParts */ protected boolean validateMimeParts(Iterable<MIMEPart> mimeParts) { boolean gotRootPart = false; List<MIMEContent> mimeContents = new ArrayList<MIMEContent>(); for (MIMEPart mPart : mimeParts) { for (TWSDLExtension obj : mPart.extensions()) { if (obj instanceof SOAPBody) { if (gotRootPart) { warning(mPart, ModelerMessages.MIMEMODELER_INVALID_MIME_PART_MORE_THAN_ONE_SOAP_BODY(info.operation.getName().getLocalPart())); return false; } gotRootPart = true; } else if (obj instanceof MIMEContent) { mimeContents.add((MIMEContent) obj); } } if (!validateMimeContentPartNames(mimeContents)) { return false; } if(mPart.getName() != null) { warning(mPart, ModelerMessages.MIMEMODELER_INVALID_MIME_PART_NAME_NOT_ALLOWED(info.portTypeOperation.getName())); } } return true; }
typeAnno = getJAXBModelBuilder().getElementTypeAndAnn(desc); if(typeAnno == null){ error(part, ModelerMessages.WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(part.getDescriptor(), part.getName())); warning(part, ModelerMessages.MIMEMODELER_ELEMENT_PART_INVALID_ELEMENT_MIME_TYPE(part.getName(), mimeType)); error(part, ModelerMessages.WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(desc, part.getName()));