public void accept(WSDLDocumentVisitor visitor) throws Exception { visitor.preVisit(this); for (Iterator iter = _imports.iterator(); iter.hasNext();) { ((Import) iter.next()).accept(visitor); } if (_types != null) { _types.accept(visitor); } for (Iterator iter = _messages.iterator(); iter.hasNext();) { ((Message) iter.next()).accept(visitor); } for (Iterator iter = _portTypes.iterator(); iter.hasNext();) { ((PortType) iter.next()).accept(visitor); } for (Iterator iter = _bindings.iterator(); iter.hasNext();) { ((Binding) iter.next()).accept(visitor); } for (Iterator iter = _services.iterator(); iter.hasNext();) { ((Service) iter.next()).accept(visitor); } _helper.accept(visitor); visitor.postVisit(this); }
public void validateThis() { if (getName() == null) { errorReceiver.error(getLocator(), WsdlMessages.VALIDATION_MISSING_REQUIRED_ATTRIBUTE("name", "wsdl:message")); throw new AbortException(); } }
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())); for (MessagePart mPart : message.getParts()) { if (!mimeParts.contains(mPart)) { mPart.setBindingExtensibilityElementKind(MessagePart.SOAP_BODY_BINDING); for (MessagePart mPart : message.getParts()) { if (mimeParts.contains(mPart)) { mPart.setBindingExtensibilityElementKind(MessagePart.WSDL_MIME_BINDING);
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; }
context.push(); context.registerNamespaces(e); Message message = new Message(definitions, forest.locatorTable.getStartLocation(e), errReceiver); String name = Util.getRequiredAttribute(e, Constants.ATTR_NAME); message.setName(name); message.setDocumentation(getDocumentationFor(e2)); } else if (XmlUtil.matchesTagNS(e2, WSDLConstants.QNAME_PART)) { MessagePart part = parseMessagePart(context, e2); message.add(part); } else {
public static List<Parameter> createRpcLitParameters(Message message, Block block, S2JJAXBModel jaxbModel, ErrorReceiverFilter errReceiver){ RpcLitStructure rpcStruct = (RpcLitStructure)block.getType(); List<Parameter> parameters = new ArrayList<Parameter>(); for(MessagePart part : message.getParts()){ if(!ModelerUtils.isBoundToSOAPBody(part)) continue; QName name = part.getDescriptor(); TypeAndAnnotation typeAndAnn = jaxbModel.getJavaType(name); if(typeAndAnn == null){ String msgQName = "{"+message.getDefining().getTargetNamespaceURI()+"}"+message.getName(); errReceiver.error(part.getLocator(), ModelerMessages.WSDLMODELER_RPCLIT_UNKOWNSCHEMATYPE(name.toString(), part.getName(), msgQName)); throw new AbortException(); } String type = typeAndAnn.getTypeClass().fullName(); type = ClassNameInfo.getGenericClass(type); RpcLitMember param = new RpcLitMember(new QName("", part.getName()), type); JavaType javaType = new JavaSimpleType(new JAXBTypeAndAnnotation(typeAndAnn)); param.setJavaType(javaType); rpcStruct.addRpcLitMember(param); Parameter parameter = ModelerUtils.createParameter(part.getName(), param, block); parameter.setEmbedded(true); parameters.add(parameter); } return parameters; }
protected boolean isSingleInOutPart(Set inputParameterNames, MessagePart outputPart) { // As of now, we dont have support for in/out in doc-lit. So return false. SOAPOperation soapOperation = (SOAPOperation) getExtensionOfType(info.bindingOperation, SOAPOperation.class); if ((soapOperation != null) && (soapOperation.isDocument() || info.soapBinding.isDocument())) { Iterator iter = getInputMessage().parts(); while (iter.hasNext()) { MessagePart part = (MessagePart) iter.next(); if (outputPart.getName().equals(part.getName()) && outputPart.getDescriptor().equals(part.getDescriptor())) { return true; } } } else if (soapOperation != null && soapOperation.isRPC() || info.soapBinding.isRPC()) { com.sun.tools.ws.wsdl.document.Message inputMessage = getInputMessage(); if (inputParameterNames.contains(outputPart.getName())) { if (inputMessage.getPart(outputPart.getName()).getDescriptor().equals(outputPart.getDescriptor())) { return true; } } } return false; }
public Parameter(String name, Entity entity) { super(entity); this.name = name; if(entity instanceof com.sun.tools.ws.wsdl.document.Message){ this.entityName = ((com.sun.tools.ws.wsdl.document.Message)entity).getName(); }else if(entity instanceof MessagePart){ this.entityName = ((MessagePart)entity).getName(); }else{ this.entityName = name; } }
List<MessagePart> getAdditionHeaderParts(BindingOperation bindingOperation,Message message, boolean isInput){ List<MessagePart> headerParts = new ArrayList<MessagePart>(); List<MessagePart> parts = message.getParts(); List<MessagePart> headers = getHeaderParts(bindingOperation, isInput); for(MessagePart part: headers){ if (parts.contains(part)) { continue; } headerParts.add(part); } return headerParts; }
if ((inputMessage != null && inputMessage.numParts() != 1) || (outputMessage != null && outputMessage.numParts() != 1)) { return false; ? inputMessage.parts().next() : null; MessagePart outputPart = outputMessage != null ? outputMessage.parts().next() : null; String operationName = info.portTypeOperation.getName();
Iterator iter2 = faultMessage.parts(); if (!iter2.hasNext()) { error(faultMessage, ModelerMessages.WSDLMODELER_INVALID_BINDING_FAULT_EMPTY_MESSAGE(portTypeFault.getName(), faultMessage.getName())); 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())); } else { error(faultPart, ModelerMessages.WSDLMODELER_INVALID_MESSAGE_PART_MUST_HAVE_ELEMENT_DESCRIPTOR(faultMessage.getName(), faultPart.getName()));
private Message getHeaderMessage(MessagePart part, TWSDLExtensible ext) { Iterator<SOAPHeader> headers = getHeaderExtensions(ext).iterator(); while (headers.hasNext()) { SOAPHeader header = headers.next(); if (!header.isLiteral()) { continue; } com.sun.tools.ws.wsdl.document.Message headerMessage = findMessage(header.getMessage(), document); if (headerMessage == null) { continue; } MessagePart headerPart = headerMessage.getPart(header.getPart()); if (headerPart == part) { return headerMessage; } } return null; }
private List<MessagePart> getHeaderPartsFromMessage(Message message, boolean isInput) { List<MessagePart> headerParts = new ArrayList<MessagePart>(); Iterator<MessagePart> parts = message.parts(); List<MessagePart> headers = getHeaderParts(info.bindingOperation, isInput); while (parts.hasNext()) { MessagePart part = parts.next(); if (headers.contains(part)) { headerParts.add(part); } } return headerParts; }
context.push(); context.registerNamespaces(e); Message message = new Message(definitions, forest.locatorTable.getStartLocation(e), errReceiver); String name = Util.getRequiredAttribute(e, Constants.ATTR_NAME); message.setName(name); message.setDocumentation(getDocumentationFor(e2)); } else if (XmlUtil.matchesTagNS(e2, WSDLConstants.QNAME_PART)) { MessagePart part = parseMessagePart(context, e2); message.add(part); } else {
public static List<Parameter> createRpcLitParameters(Message message, Block block, S2JJAXBModel jaxbModel, ErrorReceiverFilter errReceiver){ RpcLitStructure rpcStruct = (RpcLitStructure)block.getType(); List<Parameter> parameters = new ArrayList<Parameter>(); for(MessagePart part : message.getParts()){ if(!ModelerUtils.isBoundToSOAPBody(part)) continue; QName name = part.getDescriptor(); TypeAndAnnotation typeAndAnn = jaxbModel.getJavaType(name); if(typeAndAnn == null){ String msgQName = "{"+message.getDefining().getTargetNamespaceURI()+"}"+message.getName(); errReceiver.error(part.getLocator(), ModelerMessages.WSDLMODELER_RPCLIT_UNKOWNSCHEMATYPE(name.toString(), part.getName(), msgQName)); throw new AbortException(); } String type = typeAndAnn.getTypeClass().fullName(); type = ClassNameInfo.getGenericClass(type); RpcLitMember param = new RpcLitMember(new QName("", part.getName()), type); JavaType javaType = new JavaSimpleType(new JAXBTypeAndAnnotation(typeAndAnn)); param.setJavaType(javaType); rpcStruct.addRpcLitMember(param); Parameter parameter = ModelerUtils.createParameter(part.getName(), param, block); parameter.setEmbedded(true); parameters.add(parameter); } return parameters; }
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; }
protected boolean isSingleInOutPart(Set inputParameterNames, MessagePart outputPart) { // As of now, we dont have support for in/out in doc-lit. So return false. SOAPOperation soapOperation = (SOAPOperation) getExtensionOfType(info.bindingOperation, SOAPOperation.class); if ((soapOperation != null) && (soapOperation.isDocument() || info.soapBinding.isDocument())) { Iterator iter = getInputMessage().parts(); while (iter.hasNext()) { MessagePart part = (MessagePart) iter.next(); if (outputPart.getName().equals(part.getName()) && outputPart.getDescriptor().equals(part.getDescriptor())) { return true; } } } else if (soapOperation != null && soapOperation.isRPC() || info.soapBinding.isRPC()) { com.sun.tools.ws.wsdl.document.Message inputMessage = getInputMessage(); if (inputParameterNames.contains(outputPart.getName())) { if (inputMessage.getPart(outputPart.getName()).getDescriptor().equals(outputPart.getDescriptor())) { return true; } } } return false; }
public Parameter(String name, Entity entity) { super(entity); this.name = name; if(entity instanceof com.sun.tools.ws.wsdl.document.Message){ this.entityName = ((com.sun.tools.ws.wsdl.document.Message)entity).getName(); }else if(entity instanceof MessagePart){ this.entityName = ((MessagePart)entity).getName(); }else{ this.entityName = name; } }