|
Axis 2 example source code file (OperationDescription.java)
The Axis 2 OperationDescription.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;
import org.apache.axis2.description.AxisOperation;
import javax.xml.namespace.QName;
import java.lang.reflect.Method;
/**
* An OperationDescripton corresponds to a method on an SEI. That SEI could be explicit (i.e.
* WebService.endpointInterface=sei.class) or implicit (i.e. public methods on the service
* implementation are the contract and thus the implicit SEI). Note that while
* OperationDescriptions are created on both the client and service side, implicit SEIs will only
* occur on the service side.
* <p/>
* OperationDescriptons contain information that is only relevent for and SEI-based service, i.e.
* one that is invoked via specific methods. This class does not exist for Provider-based services
* (i.e. those that specify WebServiceProvider)
* <p/>
* <pre>
* <b>OperationDescription details
* <p/>
* CORRESPONDS TO: A single operation on an SEI (on both Client and Server)
* <p/>
* AXIS2 DELEGATE: AxisOperation
* <p/>
* CHILDREN: 0..n ParameterDescription
* 0..n FaultDescription (Note: Not fully implemented)
* <p/>
* ANNOTATIONS:
* WebMethod [181]
* SOAPBinding [181]
* Oneway [181]
* WebResult [181]
* RequestWrapper [224]
* ResponseWrapper [224]
* <p/>
* WSDL ELEMENTS:
* operation
* <p/>
* </pre>
*/
public interface OperationDescription {
/**
* Paramater set on AxisOperation which contains an ArrayList of SOAP header QNames
* corresponding to SEI parameters.
*/
public static final String HEADER_PARAMETER_QNAMES = "org.apache.axis2.jaxws.description.OperationDescription.headerParameterQNames";
public EndpointInterfaceDescription getEndpointInterfaceDescription();
public FaultDescription[] getFaultDescriptions();
public FaultDescription resolveFaultByExceptionName(String exceptionClassName);
public ParameterDescription getParameterDescription(int parameterNumber);
public ParameterDescription getParameterDescription(String parameterName);
public ParameterDescription[] getParameterDescriptions();
// indicates whether or not an @XmlList annotation was found on the method
public boolean isListType();
public abstract AxisOperation getAxisOperation();
public String getJavaMethodName();
public String getJavaDeclaringClassName();
public String[] getJavaParameters();
// TODO: Fix up the difference between getSEIMethod and getMethodFromServiceImpl when java reflection is removed.
/**
* Client side and non-DBC service side only! Return the SEI method for which a
* service.getPort(Class SEIClass) created the EndpointDescriptionInterface and the associated
* OperationDescriptions. Returns null on the service implementation side.
*
* @return
*/
public Method getSEIMethod();
/**
* Service implementation side only! Given a service implementation class, find the method on
* that class that corresponds to this operation description. This is necessary because on the
* service impl side, the OperationDescriptions can be built using byte-scanning and without the
* class actually having been loaded.
*
* @param serviceImpl
* @return
*/
public Method getMethodFromServiceImpl(Class serviceImpl);
/**
* Answer if this operation corresponds to the JAX-WS Client-only async methods. These methods
* are of the form: javax.xml.ws.Response<T> method(...) java.util.concurrent.Future>
* method(..., javax.xml.ws.AsyncHandler<T>)
*
* @return
*/
public boolean isJAXWSAsyncClientMethod();
public QName getName();
public String getOperationName();
public String getAction();
public boolean isOneWay();
public boolean isExcluded();
public boolean isOperationReturningResult();
public String getResultName();
public String getResultTargetNamespace();
public String getResultPartName();
public boolean isResultHeader();
/**
* Return the Class of the return type. For JAX-WS async returns of type Response<T> or
* AsyncHandler<T>, the class associated with Response or AsyncHanler respectively is returned.
* To get the class associated with <T>
*
* @return Class
* @see getResultActualType()
*/
public Class getResultType();
/**
* Return the actual Class of the type. For a JAX-WS async return type of Response<T> or
* AsyncHandler<T>, the class associated with
Other Axis 2 examples (source code examples)Here is a short list of links related to this Axis 2 OperationDescription.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.