|
Axis 2 example source code file (EndpointInterfaceDescriptionValidator.java)
The Axis 2 EndpointInterfaceDescriptionValidator.java source code/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.axis2.jaxws.description.validator; import org.apache.axis2.jaxws.description.EndpointInterfaceDescription; import org.apache.axis2.jaxws.description.EndpointInterfaceDescriptionJava; import org.apache.axis2.jaxws.description.EndpointInterfaceDescriptionWSDL; import org.apache.axis2.jaxws.description.OperationDescription; import javax.wsdl.Operation; import javax.wsdl.PortType; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * */ public class EndpointInterfaceDescriptionValidator extends Validator { EndpointInterfaceDescription epInterfaceDesc; EndpointInterfaceDescriptionJava epInterfaceDescJava; EndpointInterfaceDescriptionWSDL epInterfaceDescWSDL; public EndpointInterfaceDescriptionValidator(EndpointInterfaceDescription toValidate) { epInterfaceDesc = toValidate; epInterfaceDescJava = (EndpointInterfaceDescriptionJava)epInterfaceDesc; epInterfaceDescWSDL = (EndpointInterfaceDescriptionWSDL)epInterfaceDesc; } /* (non-Javadoc) * @see org.apache.axis2.jaxws.description.validator.Validator#validate() */ @Override public boolean validate() { if (getValidationLevel() == ValidationLevel.OFF) { return VALID; } if (!validateSEIvsWSDLPortType()) { return INVALID; } if (!validateSEIvsImplementation()) { return INVALID; } return VALID; } private boolean validateSEIvsWSDLPortType() { PortType portType = epInterfaceDescWSDL.getWSDLPortType(); if (portType != null) { // TODO: Need more validation here, including: operation name, parameters, faults List wsdlOperationList = portType.getOperations(); OperationDescription[] dispatchableOpDescArray = epInterfaceDesc.getDispatchableOperations(); if (wsdlOperationList.size() != dispatchableOpDescArray.length) { addValidationFailure(this, "The number of operations in the WSDL " + "portType does not match the number of methods in the SEI or " + "Web service implementation class."); return INVALID; } // If they are the same size, let's check to see if the operation names match if (!checkOperationsMatchMethods(wsdlOperationList, dispatchableOpDescArray)) { addValidationFailure(this, "The operation names in the WSDL portType " + "do not match the method names in the SEI or Web service i" + "mplementation class."); return INVALID; } } return VALID; } private boolean checkOperationsMatchMethods(List wsdlOperationList, OperationDescription[] opDescArray) { List<String> opNameList = createWSDLOperationNameList(wsdlOperationList); for (int i = 0; i < opDescArray.length; i++) { OperationDescription opDesc = opDescArray[i]; if (opNameList.contains(opDesc.getOperationName())) { opNameList.remove(opDesc.getOperationName()); } else { return false; } } return true; } private List<String> createWSDLOperationNameList(List wsdlOperationList) { List<String> opNameList = new ArrayList Other Axis 2 examples (source code examples)Here is a short list of links related to this Axis 2 EndpointInterfaceDescriptionValidator.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.