Subversion Repositories XServices

Rev

Rev 79 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
16 brianR 1
/*
2
 *   Copyright 2010 Brian Rosenberger (Brutex Network)
3
 *
4
 *   Licensed under the Apache License, Version 2.0 (the "License");
5
 *   you may not use this file except in compliance with the License.
6
 *   You may obtain a copy of the License at
7
 *
8
 *       http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 *   Unless required by applicable law or agreed to in writing, software
11
 *   distributed under the License is distributed on an "AS IS" BASIS,
12
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 *   See the License for the specific language governing permissions and
14
 *   limitations under the License.
15
 */
16
package net.brutex.xservices.ws;
17
 
18
import javax.jws.WebMethod;
19
import javax.jws.WebParam;
20
import javax.jws.WebService;
21 brianR 21
import net.brutex.xservices.types.FileSetResource;
18 brianR 22
import net.brutex.xservices.types.HostConnection;
78 brianR 23
import net.brutex.xservices.types.HostinfoType;
22 brianR 24
import net.brutex.xservices.types.MailMimeType;
16 brianR 25
import net.brutex.xservices.types.ReturnCode;
26
import net.brutex.xservices.util.BrutexNamespaces;
78 brianR 27
 
28
import org.apache.cxf.aegis.type.java5.XmlElement;
23 brianR 29
import org.apache.cxf.annotations.WSDLDocumentation;
16 brianR 30
 
31
/**
32
 *
33
 * @author Brian Rosenberger, bru@brutex.de
70 brianR 34
 * @since 0.4.0
16 brianR 35
 */
21 brianR 36
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES)
72 brianR 37
@WSDLDocumentation("Various service operations.")
16 brianR 38
public interface MiscService {
39
 
23 brianR 40
 
41
 
42
    /**
43
     * @param hostname
72 brianR 44
     * @return ReturnCode
23 brianR 45
     */
21 brianR 46
    @WebMethod(operationName = "getHostinfo")
72 brianR 47
    @WSDLDocumentation(value = "Get information about a host.")
78 brianR 48
    public HostinfoType getHostinfo(
49
    		@WebParam(name = "hostname") @XmlElement(minOccurs="1", nillable=false ) String hostname);
18 brianR 50
 
23 brianR 51
    /**
52
     *
53
     * @param mailhost
54
     * @param from
55
     * @param tolist
56
     * @param subject
57
     * @param message
72 brianR 58
     * @return ReturnCode
23 brianR 59
     */
21 brianR 60
    @WebMethod(operationName = "sendMailSimple")
72 brianR 61
    @WSDLDocumentation(value = "Send an email (simple).")
79 brianR 62
    public ReturnCode sendMailSimple(
63
    		@WebParam(name = "mailhost") @XmlElement(minOccurs="1", nillable=false) HostConnection mailhost,
64
            @WebParam(name = "from") @XmlElement(minOccurs="1", nillable=false) String from,
65
            @WebParam(name = "to") @XmlElement(minOccurs="1", nillable=false) String tolist,
21 brianR 66
            @WebParam(name = "subject") String subject,
67
            @WebParam(name = "message") String message);
20 brianR 68
 
23 brianR 69
    /**
70
     *
71
     * @param mailhost
72
     * @param from
73
     * @param tolist
74
     * @param subject
75
     * @param message
76
     * @param res
72 brianR 77
     * @return ReturnCode
23 brianR 78
     */
21 brianR 79
    @WebMethod(operationName = "sendMailSimpleWithAttachment")
72 brianR 80
    @WSDLDocumentation(value = "Send an email with attachment (simple).")
79 brianR 81
    public ReturnCode sendMailSimpleWithAttachment(
82
    		@WebParam(name = "mailhost") @XmlElement(minOccurs="1", nillable=false) HostConnection mailhost,
83
            @WebParam(name = "from") @XmlElement(minOccurs="1", nillable=false) String from,
84
            @WebParam(name = "to") @XmlElement(minOccurs="1", nillable=false) String tolist,
21 brianR 85
            @WebParam(name = "subject") String subject,
86
            @WebParam(name = "message") String message,
87
            @WebParam(name = "attachments") FileSetResource res);
88
 
23 brianR 89
    /**
90
     *
91
     * @param mailhost
92
     * @param from
93
     * @param tolist
94
     * @param cclist
95
     * @param bcclist
96
     * @param subject
97
     * @param mimetype
98
     * @param charset
99
     * @param message
100
     * @param res
101
     * @param ssl
102
     * @param tls
72 brianR 103
     * @return ReturnCode
23 brianR 104
     */
22 brianR 105
    @WebMethod(operationName = "sendMail")
72 brianR 106
    @WSDLDocumentation(value = "Send an email (advanced).")
79 brianR 107
    public ReturnCode sendMail(
108
    		@WebParam(name = "mailhost") @XmlElement(minOccurs="1", nillable=false) HostConnection mailhost,
109
            @WebParam(name = "from") @XmlElement(minOccurs="1", nillable=false) String from,
110
            @WebParam(name = "to") @XmlElement(minOccurs="1", nillable=false) String tolist,
22 brianR 111
            @WebParam(name = "cc") String cclist,
112
            @WebParam(name = "bcc") String bcclist,
113
            @WebParam(name = "subject") String subject,
114
            @WebParam(name = "mimetype") MailMimeType mimetype,
115
            @WebParam(name = "charset") String charset,
116
            @WebParam(name = "message") String message,
117
            @WebParam(name = "attachments") FileSetResource res,
118
            @WebParam(name = "useSSL") boolean ssl,
119
            @WebParam(name = "useStartTLS") boolean tls);
120
 
23 brianR 121
    /**
122
     *
123
     * @param minutes
124
     * @param seconds
72 brianR 125
     * @return ReturnCode
23 brianR 126
     */
21 brianR 127
    @WebMethod(operationName = "sleep")
72 brianR 128
    @WSDLDocumentation(value = "Delay request response a specified duration.")
79 brianR 129
    public ReturnCode sleep(
130
    		@WebParam(name = "minutes") int minutes,
21 brianR 131
            @WebParam(name = "seconds") int seconds);
54 brianR 132
 
133
 
72 brianR 134
    /**
135
     * @return ReturnCode
136
     */
54 brianR 137
    @WebMethod(operationName = "getInfo")
72 brianR 138
    @WSDLDocumentation(value = "Get XService information.")
54 brianR 139
    public ReturnCode getInfo();
140
 
78 brianR 141
    /**
142
     * Generate a UUID
143
     * @return new UUID
144
     */
145
    @WebMethod(operationName = "generateUUID")
146
    @WSDLDocumentation(value = "Generate a UUID.")
147
    public String generateUUID();
148
 
16 brianR 149
}