
package cdpp3dview;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import cdpp3dview.types.Body;
import cdpp3dview.types.BodyType;
import cdpp3dview.types.CarringtonMap;
import cdpp3dview.types.CarringtonMapType;
import cdpp3dview.types.DoubleArray;
import cdpp3dview.types.Frame;
import cdpp3dview.types.GroundStation;
import cdpp3dview.types.Instrument;
import cdpp3dview.types.Matrix3D;
import cdpp3dview.types.ProjectionMap;
import cdpp3dview.types.SbCatalog;
import cdpp3dview.types.Star;
import cdpp3dview.types.StarSubset;
import cdpp3dview.types.TimeFile;
import cdpp3dview.types.TimeFileType;
import cdpp3dview.types.TimeRange;
import cdpp3dview.types.Tuple3D;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.6-1b01 
 * Generated source version: 2.1
 * 
 */
@WebService(name = "cdppServices", targetNamespace = "http://cdpp3dview")
@XmlSeeAlso({
    cdpp3dview.params.ObjectFactory.class,
    cdpp3dview.types.ObjectFactory.class
})
public interface CdppServices {


    /**
     * Returns the list of available frames for methods listOrbData, listOrbVOTData, ListAttData and ListAttVOTData.
     * 
     * @return
     *     returns java.util.List<cdpp3dview.types.Frame>
     */
    @WebMethod(action = "cdppBinder_listFrames")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listFrames", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListFrames")
    @ResponseWrapper(localName = "listFramesResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListFramesResponse")
    public List<Frame> listFrames();

    /**
     * Returns the list of available frames for methods listNewFrameAtt, listNewFrameOrb, listOrbData2 and ListAttData2.
     * 
     * @return
     *     returns java.util.List<cdpp3dview.types.Frame>
     */
    @WebMethod(action = "cdppBinder_listFrames2")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listFrames2", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListFrames2")
    @ResponseWrapper(localName = "listFrames2Response", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListFrames2Response")
    public List<Frame> listFrames2();

    /**
     * Returns all available bodies, natural or artificial, depending on pType parameter. If pType set to null, all bodies are returned.
     * 
     * @param pType
     * @return
     *     returns java.util.List<cdpp3dview.types.Body>
     */
    @WebMethod(action = "cdppBinder_listBodies")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listBodies", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListBodies")
    @ResponseWrapper(localName = "listBodiesResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListBodiesResponse")
    public List<Body> listBodies(
        @WebParam(name = "pType", targetNamespace = "")
        BodyType pType);

    /**
     * List natural bodies of interest associated to a spacecraft.
     * 
     * @param pBodyId
     * @return
     *     returns java.util.List<cdpp3dview.types.Body>
     */
    @WebMethod(action = "cdppBinder_listBois")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listBois", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListBois")
    @ResponseWrapper(localName = "listBoisResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListBoisResponse")
    public List<Body> listBois(
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId);

    /**
     * List available files of a spacecraft, covering specified time range. It must be used before listOrbData and listAttData call.
     * 
     * @param pStartTime
     * @param pBodyId
     * @param type
     * @param pStopTime
     * @return
     *     returns java.util.List<cdpp3dview.types.TimeFile>
     */
    @WebMethod(action = "cdppBinder_listFiles")
    @WebResult(name = "timeFile", targetNamespace = "")
    @RequestWrapper(localName = "listFiles", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListFiles")
    @ResponseWrapper(localName = "listFilesResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.types.TimeFileArray")
    public List<TimeFile> listFiles(
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId,
        @WebParam(name = "type", targetNamespace = "")
        TimeFileType type,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime);

    /**
     * Get overall data coverage for a body.
     * 
     * @param pBodyId
     * @return
     *     returns cdpp3dview.types.TimeRange
     */
    @WebMethod(action = "cdppBinder_getCoverage")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "getCoverage", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetCoverage")
    @ResponseWrapper(localName = "getCoverageResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetCoverageResponse")
    public TimeRange getCoverage(
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId);

    /**
     * Get 3D radius size of a natural body in km.
     * 
     * @param pBodyId
     * @return
     *     returns cdpp3dview.types.Tuple3D
     */
    @WebMethod(action = "cdppBinder_getSize")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "getSize", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetSize")
    @ResponseWrapper(localName = "getSizeResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetSizeResponse")
    public Tuple3D getSize(
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId);

    /**
     * List available star catalog. Use it before calling listStars.
     * 
     * @return
     *     returns java.util.List<cdpp3dview.types.StarSubset>
     */
    @WebMethod(action = "cdppBinder_listStarSubsets")
    @WebResult(name = "starSubset", targetNamespace = "")
    @RequestWrapper(localName = "listStarSubsets", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListStarSubsets")
    @ResponseWrapper(localName = "listStarSubsetsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListStarSubsetsResponse")
    public List<StarSubset> listStarSubsets();

    /**
     * Get stars of one subset got from listStarSubsets method. A star contains its Id, declination, right ascension and visual magnitude.
     * 
     * @param pStarSubsetId
     * @return
     *     returns java.util.List<cdpp3dview.types.Star>
     */
    @WebMethod(action = "cdppBinder_listStars")
    @WebResult(name = "star", targetNamespace = "")
    @RequestWrapper(localName = "listStars", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListStars")
    @ResponseWrapper(localName = "listStarsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListStarsResponse")
    public List<Star> listStars(
        @WebParam(name = "pStarSubsetId", targetNamespace = "")
        int pStarSubsetId);

    /**
     * Returns instruments of a spacecraft.
     * 
     * @param pBodyId
     * @return
     *     returns java.util.List<cdpp3dview.types.Instrument>
     */
    @WebMethod(action = "cdppBinder_listInsts")
    @WebResult(name = "star", targetNamespace = "")
    @RequestWrapper(localName = "listInsts", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListInsts")
    @ResponseWrapper(localName = "listInstsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListInstsResponse")
    public List<Instrument> listInsts(
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId);

    /**
     * Returns footprints Paths of a spacecraft between 2 dates.
     * 
     * @param pStartTime
     * @param pBodyName
     * @param pStopTime
     * @return
     *     returns java.util.List<java.lang.String>
     */
    @WebMethod(action = "cdppBinder_getFpPaths")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "getFpPaths", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetFpPaths")
    @ResponseWrapper(localName = "getFpPathsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetFpPathsResponse")
    public List<String> getFpPaths(
        @WebParam(name = "pBodyName", targetNamespace = "")
        String pBodyName,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime);

    /**
     * Returns earth ground stations of a spacecraft.
     * 
     * @param pBodyId
     * @return
     *     returns java.util.List<cdpp3dview.types.GroundStation>
     */
    @WebMethod(action = "cdppBinder_listGS")
    @WebResult(name = "star", targetNamespace = "")
    @RequestWrapper(localName = "listGS", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListGS")
    @ResponseWrapper(localName = "listGSResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListGSResponse")
    public List<GroundStation> listGS(
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId);

    /**
     * Get orbit data of a body from its naif id in km.
     * For a spacecraft, a TimeFile of type ORBIT must be provided. For natural body, leave it null.
     * pStep must be provided in seconds.
     * 
     * 
     * @param pFrameId
     * @param pStartTime
     * @param pFile
     * @param pBodyId
     * @param pCenterId
     * @param pStep
     * @param pStopTime
     * @return
     *     returns java.util.List<cdpp3dview.types.Tuple3D>
     */
    @WebMethod(action = "cdppBinder_listOrbData")
    @WebResult(name = "tuple3d", targetNamespace = "")
    @RequestWrapper(localName = "listOrbData", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListOrbData")
    @ResponseWrapper(localName = "listOrbDataResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.types.Tuple3DArray")
    public List<Tuple3D> listOrbData(
        @WebParam(name = "pFile", targetNamespace = "")
        TimeFile pFile,
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId,
        @WebParam(name = "pFrameId", targetNamespace = "")
        int pFrameId,
        @WebParam(name = "pCenterId", targetNamespace = "")
        int pCenterId,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime,
        @WebParam(name = "pStep", targetNamespace = "")
        int pStep);

    /**
     * Same as listOrbData but returns a URL pointing to a VOTable formatted file.
     * 
     * @param pFrameId
     * @param pStartTime
     * @param pFile
     * @param pBodyId
     * @param pCenterId
     * @param pStep
     * @param pStopTime
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_listOrbVOTData")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listOrbVOTData", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListOrbVOTData")
    @ResponseWrapper(localName = "listOrbVOTDataResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListOrbVOTDataResponse")
    public String listOrbVOTData(
        @WebParam(name = "pFile", targetNamespace = "")
        TimeFile pFile,
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId,
        @WebParam(name = "pFrameId", targetNamespace = "")
        int pFrameId,
        @WebParam(name = "pCenterId", targetNamespace = "")
        int pCenterId,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime,
        @WebParam(name = "pStep", targetNamespace = "")
        int pStep);

    /**
     * Get Orbit data with new frames implementation.
     * 
     * @param pFrame
     * @param pTimeFiles
     * @param pBodyId
     * @param pTimes
     * @param pCenterId
     * @return
     *     returns java.util.List<java.lang.String>
     */
    @WebMethod(action = "cdppBinder_listOrbData2")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listOrbData2", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListOrbData2")
    @ResponseWrapper(localName = "listOrbData2Response", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListOrbData2Response")
    public List<String> listOrbData2(
        @WebParam(name = "pBodyId", targetNamespace = "")
        List<Integer> pBodyId,
        @WebParam(name = "pFrame", targetNamespace = "")
        Frame pFrame,
        @WebParam(name = "pCenterId", targetNamespace = "")
        int pCenterId,
        @WebParam(name = "pTimes", targetNamespace = "")
        List<XMLGregorianCalendar> pTimes,
        @WebParam(name = "pTimeFiles", targetNamespace = "")
        List<TimeFile> pTimeFiles);

    /**
     * Returns rotation attitude matrix of a frame relative to another.
     * For a spacecraft, a TimeFile of type ATTITUDE must be provided. For natural body, leave it null.
     * pStep must be provided in seconds.
     * 
     * 
     * @param pFrameId
     * @param pStartTime
     * @param pFile
     * @param pBodyId
     * @param pStep
     * @param pStopTime
     * @return
     *     returns java.util.List<cdpp3dview.types.Matrix3D>
     */
    @WebMethod(action = "cdppBinder_listAttData")
    @WebResult(name = "matrix3d", targetNamespace = "")
    @RequestWrapper(localName = "listAttData", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListAttData")
    @ResponseWrapper(localName = "listAttDataResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.types.Matrix3DArray")
    public List<Matrix3D> listAttData(
        @WebParam(name = "pFile", targetNamespace = "")
        TimeFile pFile,
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId,
        @WebParam(name = "pFrameId", targetNamespace = "")
        int pFrameId,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime,
        @WebParam(name = "pStep", targetNamespace = "")
        int pStep);

    /**
     * Same as listOrbData but returns a URL pointing to a VOTable formatted file.
     * 
     * @param pFrameId
     * @param pStartTime
     * @param pFile
     * @param pBodyId
     * @param pStep
     * @param pStopTime
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_listAttVOTData")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listAttVOTData", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListAttVOTData")
    @ResponseWrapper(localName = "listAttVOTDataResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListAttVOTDataResponse")
    public String listAttVOTData(
        @WebParam(name = "pFile", targetNamespace = "")
        TimeFile pFile,
        @WebParam(name = "pBodyId", targetNamespace = "")
        int pBodyId,
        @WebParam(name = "pFrameId", targetNamespace = "")
        int pFrameId,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime,
        @WebParam(name = "pStep", targetNamespace = "")
        int pStep);

    /**
     * Returns list of rotation matrix from specified attitude to EMEJ2000 frame.
     * pStep must be provided in seconds.
     * 
     * 
     * @param pFrameId
     * @param pStartTime
     * @param pStep
     * @param pStopTime
     * @return
     *     returns java.util.List<cdpp3dview.types.Matrix3D>
     */
    @WebMethod(action = "cdppBinder_listEmeAttData")
    @WebResult(name = "matrix3d", targetNamespace = "")
    @RequestWrapper(localName = "listEmeAttData", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListEmeAttData")
    @ResponseWrapper(localName = "listEmeAttDataResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.types.Matrix3DArray")
    public List<Matrix3D> listEmeAttData(
        @WebParam(name = "pFrameId", targetNamespace = "")
        int pFrameId,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime,
        @WebParam(name = "pStep", targetNamespace = "")
        int pStep);

    /**
     * Get Attitude data with new frames implementation.
     * 
     * @param pFrame
     * @param pTimeFiles
     * @param pBodyId
     * @param pTimes
     * @return
     *     returns java.util.List<java.lang.String>
     */
    @WebMethod(action = "cdppBinder_listAttData2")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listAttData2", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListAttData2")
    @ResponseWrapper(localName = "listAttData2Response", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListAttData2Response")
    public List<String> listAttData2(
        @WebParam(name = "pBodyId", targetNamespace = "")
        List<Integer> pBodyId,
        @WebParam(name = "pFrame", targetNamespace = "")
        Frame pFrame,
        @WebParam(name = "pTimes", targetNamespace = "")
        List<XMLGregorianCalendar> pTimes,
        @WebParam(name = "pTimeFiles", targetNamespace = "")
        List<TimeFile> pTimeFiles);

    /**
     * Convert position values from a frame to another. It performs rotation and translation transforms.
     * Two calls are available: giving a URL pointing to a VOTable formatted file or a list of points(Tuple3D).
     * Values are in km.
     * 
     * 
     * @param pOutCenter
     * @param pInCenter
     * @param pDataInput
     * @param pUrlInput
     * @param pDateTimeInput
     * @param pInFrame
     * @param pOutFrame
     * @param pTimeFiles
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_listNewFrameOrb")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listNewFrameOrb", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListNewFrameOrb")
    @ResponseWrapper(localName = "listNewFrameOrbResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListNewFrameOrbResponse")
    public String listNewFrameOrb(
        @WebParam(name = "pDateTimeInput", targetNamespace = "")
        List<XMLGregorianCalendar> pDateTimeInput,
        @WebParam(name = "pDataInput", targetNamespace = "")
        List<Tuple3D> pDataInput,
        @WebParam(name = "pUrlInput", targetNamespace = "")
        String pUrlInput,
        @WebParam(name = "pInFrame", targetNamespace = "")
        String pInFrame,
        @WebParam(name = "pInCenter", targetNamespace = "")
        String pInCenter,
        @WebParam(name = "pOutFrame", targetNamespace = "")
        String pOutFrame,
        @WebParam(name = "pOutCenter", targetNamespace = "")
        String pOutCenter,
        @WebParam(name = "pTimeFiles", targetNamespace = "")
        List<TimeFile> pTimeFiles);

    /**
     * Convert vector values from a frame to another. It performs only rotation transforms.
     * Two calls are available: giving a URL pointing to a VOTable formatted file or a list of points (Tuple3D).
     * 
     * 
     * @param pOutCenter
     * @param pInCenter
     * @param pDataInput
     * @param pUrlInput
     * @param pDateTimeInput
     * @param pInFrame
     * @param pOutFrame
     * @param pTimeFiles
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_listNewFrameAtt")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listNewFrameAtt", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListNewFrameAtt")
    @ResponseWrapper(localName = "listNewFrameAttResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListNewFrameAttResponse")
    public String listNewFrameAtt(
        @WebParam(name = "pDateTimeInput", targetNamespace = "")
        List<XMLGregorianCalendar> pDateTimeInput,
        @WebParam(name = "pDataInput", targetNamespace = "")
        List<Tuple3D> pDataInput,
        @WebParam(name = "pUrlInput", targetNamespace = "")
        String pUrlInput,
        @WebParam(name = "pInFrame", targetNamespace = "")
        String pInFrame,
        @WebParam(name = "pInCenter", targetNamespace = "")
        String pInCenter,
        @WebParam(name = "pOutFrame", targetNamespace = "")
        String pOutFrame,
        @WebParam(name = "pOutCenter", targetNamespace = "")
        String pOutCenter,
        @WebParam(name = "pTimeFiles", targetNamespace = "")
        List<TimeFile> pTimeFiles);

    /**
     * Get Attitude data for a RTN type frame given a center known body and a list
     *               of position or a body. It can be used for RTN or RTP frames.
     * 
     * @param pOutFrameBodyId
     * @param pUrlInput
     * @param pInFrame
     * @param pTimeFiles
     * @param pOutFrameCenterId
     * @param pOutFramePosUrl
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_listRtnFrameAtt")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listRtnFrameAtt", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListRtnFrameAtt")
    @ResponseWrapper(localName = "listRtnFrameAttResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListRtnFrameAttResponse")
    public String listRtnFrameAtt(
        @WebParam(name = "pUrlInput", targetNamespace = "")
        String pUrlInput,
        @WebParam(name = "pInFrame", targetNamespace = "")
        String pInFrame,
        @WebParam(name = "pOutFrameCenterId", targetNamespace = "")
        int pOutFrameCenterId,
        @WebParam(name = "pOutFramePosUrl", targetNamespace = "")
        String pOutFramePosUrl,
        @WebParam(name = "pOutFrameBodyId", targetNamespace = "")
        int pOutFrameBodyId,
        @WebParam(name = "pTimeFiles", targetNamespace = "")
        List<TimeFile> pTimeFiles);

    /**
     * Generates a VOTable file from a list of variables and returns a URL pointing to it.
     * 
     * @param pDataInput
     * @param pDateTimeInput
     * @param pNames
     * @param pUnits
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_getVotUrl")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "getVotUrl", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetVotUrl")
    @ResponseWrapper(localName = "getVotUrlResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetVotUrlResponse")
    public String getVotUrl(
        @WebParam(name = "pDateTimeInput", targetNamespace = "")
        List<XMLGregorianCalendar> pDateTimeInput,
        @WebParam(name = "pDataInput", targetNamespace = "")
        List<DoubleArray> pDataInput,
        @WebParam(name = "pNames", targetNamespace = "")
        List<String> pNames,
        @WebParam(name = "pUnits", targetNamespace = "")
        List<String> pUnits);

    /**
     * Generates a VOTable file from a list of positions and returns a URL pointing to it. Kept for compatibility.
     *           Use getVotUrl instead.
     *           
     * 
     * @param pDataInput
     * @param pDateTimeInput
     * @param pUnit
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_getOrbUrl")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "getOrbUrl", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetOrbUrl")
    @ResponseWrapper(localName = "getOrbUrlResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.GetOrbUrlResponse")
    public String getOrbUrl(
        @WebParam(name = "pDateTimeInput", targetNamespace = "")
        List<XMLGregorianCalendar> pDateTimeInput,
        @WebParam(name = "pDataInput", targetNamespace = "")
        List<Tuple3D> pDataInput,
        @WebParam(name = "pUnit", targetNamespace = "")
        String pUnit);

    /**
     * Retreives available projection maps.
     * 
     * @param pNaifId
     * @return
     *     returns java.util.List<cdpp3dview.types.ProjectionMap>
     */
    @WebMethod(action = "cdppBinder_listProjMaps")
    @WebResult(name = "projectionMap", targetNamespace = "")
    @RequestWrapper(localName = "listProjMaps", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListProjMaps")
    @ResponseWrapper(localName = "listProjMapsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListProjMapsResponse")
    public List<ProjectionMap> listProjMaps(
        @WebParam(name = "pNaifId", targetNamespace = "")
        int pNaifId);

    /**
     * Retreives available Carrington map types.
     * 
     * @return
     *     returns java.util.List<cdpp3dview.types.CarringtonMapType>
     */
    @WebMethod(action = "cdppBinder_listCRMapTypes")
    @WebResult(name = "carringtonMapType", targetNamespace = "")
    @RequestWrapper(localName = "listCRMapTypes", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListCRMapTypes")
    @ResponseWrapper(localName = "listCRMapTypesResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListCRMapTypesResponse")
    public List<CarringtonMapType> listCRMapTypes();

    /**
     * Generates a list of Carrington maps between 2 dates from a Carrington data path and returns a list of URLs pointing to them.
     * 
     * @param pPath
     * @param pStartTime
     * @param pStopTime
     * @return
     *     returns java.util.List<cdpp3dview.types.CarringtonMap>
     */
    @WebMethod(action = "cdppBinder_listCRMaps")
    @WebResult(name = "carringtonMap", targetNamespace = "")
    @RequestWrapper(localName = "listCRMaps", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListCRMaps")
    @ResponseWrapper(localName = "listCRMapsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListCRMapsResponse")
    public List<CarringtonMap> listCRMaps(
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime,
        @WebParam(name = "pPath", targetNamespace = "")
        String pPath);

    /**
     * 
     *       Search from the kernel pool for a range of body in a sphere around a center body in a Time range.
     *       Additional bodies kernels can be provided.
     *       Naif ids are defined like this:
     *      ID < 0 : artificial bodies.
     *       0 <= ID < 10 : barycenters.
     *       10 <= ID <= 999 : planets and moons (Earth = 399, moon = 301, Mars = 499, Phobos = 401, Deimos = 402, ...).
     *       1000001 <= ID < 2000000 : orbiting comets.
     *       2000001 <= ID : asteroids.
     * 		
     * 
     * @param pDateStart
     * @param pDateStop
     * @param pMaxNaifId
     * @param pCenterNaifId
     * @param pDist
     * @param pMinNaifId
     * @param pLstNaifIds
     * @param pSbCatalogs
     * @return
     *     returns java.util.List<cdpp3dview.types.Body>
     */
    @WebMethod(action = "cdppBinder_listBodiesInRegion")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listBodiesInRegion", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListBodiesInRegion")
    @ResponseWrapper(localName = "listBodiesInRegionResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListBodiesInRegionResponse")
    public List<Body> listBodiesInRegion(
        @WebParam(name = "pCenterNaifId", targetNamespace = "")
        int pCenterNaifId,
        @WebParam(name = "pDist", targetNamespace = "")
        long pDist,
        @WebParam(name = "pLstNaifIds", targetNamespace = "")
        List<Integer> pLstNaifIds,
        @WebParam(name = "pMinNaifId", targetNamespace = "")
        int pMinNaifId,
        @WebParam(name = "pMaxNaifId", targetNamespace = "")
        int pMaxNaifId,
        @WebParam(name = "pDateStart", targetNamespace = "")
        XMLGregorianCalendar pDateStart,
        @WebParam(name = "pDateStop", targetNamespace = "")
        XMLGregorianCalendar pDateStop,
        @WebParam(name = "pSbCatalogs", targetNamespace = "")
        List<SbCatalog> pSbCatalogs);

    /**
     * List small bodies catalogs available at 3DView.
     * 
     * @return
     *     returns java.util.List<cdpp3dview.types.SbCatalog>
     */
    @WebMethod(action = "cdppBinder_listSbCatalogs")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listSbCatalogs", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListSbCatalogs")
    @ResponseWrapper(localName = "listSbCatalogsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListSbCatalogsResponse")
    public List<SbCatalog> listSbCatalogs();

    /**
     * Return an URL pointing to a list of CME Fronts observed by an observer between 2 dates.
     * 
     * @param pStartTime
     * @param pObserverName
     * @param pStopTime
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "cdppBinder_listCMEFronts")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listCMEFronts", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListCMEFronts")
    @ResponseWrapper(localName = "listCMEFrontsResponse", targetNamespace = "http://cdpp3dview/params", className = "cdpp3dview.params.ListCMEFrontsResponse")
    public String listCMEFronts(
        @WebParam(name = "pObserverName", targetNamespace = "")
        String pObserverName,
        @WebParam(name = "pStartTime", targetNamespace = "")
        XMLGregorianCalendar pStartTime,
        @WebParam(name = "pStopTime", targetNamespace = "")
        XMLGregorianCalendar pStopTime);

}
