KD SOAP
1.10.0
|
KDSoapUdpClient provides an interface for implementing a SOAP-over-UDP client. More...
#include <KDSoapUdpClient.h>
Inherits QObject.
Public Slots | |
bool | sendMessage (const KDSoapMessage &message, const KDSoapHeaders &headers, const QHostAddress &address, quint16 port) |
Signals | |
void | receivedMessage (const KDSoapMessage &message, const KDSoapHeaders &headers, const QHostAddress &address, quint16 port) |
Public Member Functions | |
bool | bind (quint16 port=0, QAbstractSocket::BindMode mode=QAbstractSocket::DefaultForPlatform) |
void | setSoapVersion (KDSoap::SoapVersion version) |
KDSoapUdpClient provides an interface for implementing a SOAP-over-UDP client.
One-way SOAP-over-UDP can be send by simply using sendMessage().
Request-response SOAP-over-UDP is supported by bind()ing to a sender UDP port. You can send the request using sendMessage() and the response will is signaled using receivedMessage(). receivedMessage() will signal any response, including those of other requests, there is no help with finding the correct response. The WS-Addressing properties of the message can be used to filter the received responses.
bool KDSoapUdpClient::bind | ( | quint16 | port = 0 , |
QAbstractSocket::BindMode | mode = QAbstractSocket::DefaultForPlatform |
||
) |
Bind UDP socket to port. This is needed to receive messages. Both the IPv4 and IPv6 port will be bound.
port | The UDP port to bind to. When port is 0, a random port is chosen. |
mode | This is passed directly to QUdpSocket::bind(). |
void KDSoapUdpClient::setSoapVersion | ( | KDSoap::SoapVersion | version | ) |
Sets the SOAP version to be used for any subsequent send message.
version | #SOAP1_1 or #SOAP1_2 The default version is SOAP 1.2. |
|
slot |
Send a SOAP-over-UDP message to IP address.
message | The actual message to be send. Use KDSoapMessage::setMessageAddressingProperties() to set the WS-Addressing properties of the message. |
headers | can be used to add additional SOAP headers. |
address | The address to send to message to. Messages send to a multicast address will be send to all interfaces. |
port | The UDP port to send the message to |
|
signal |
emitted when a SOAP-over-UDP message is received over a bound socket. KDSoapUdpClient doesn't do any filtering, so duplicate messages, spoofed or responses to other requests will all be received. For example, if a message is send via both IPv4 and IPv6, then the receivedMessage will be emitted twice (with the same message, but with a different address)
message | The parsed message received over the socket. Use KDSoapMessage::messageAddressingProperties() to see who the recipient is and what SOAP action is requested. |
headers | The additional headers of the message |
address | The IP-address of the sender |
port | The UDP port of the sender |