17.7.4. WS-RM Protocol Endpoint Configuration
The setup is a virtual directory definition and grant of rights to the procedures for sender and receiver endpoints.
This will be demonstrated as an example of setting up both endpoints:
-
Sender
create user WSRMS; grant execute on WSRMSequenceAcknowledgment to WSRMS; vhost_define (lpath=>'/replyto', ppath=>'/SOAP/', soap_user=>'WSRMS');
-
Reply
create user WSRMR; grant execute on WSRMSequence to WSRMR; grant execute on WSRMSequenceTerminate to WSRMR; grant execute on WSRMAckRequested to WSRMR; vhost_define (lpath=>'/wsrm', ppath=>'/SOAP/', soap_user=>'WSRMR');
Example 17.32. WS-RM Ping Test Example
This is an example client used to perform the interoperability test "Ping" as proposed in "Interop Workshop Scenarios"
soap_dt_define ('',
'<element
xmlns="http://www.w3.org/2001/XMLSchema"
name="Ping" type="test:Ping_t"
targetNamespace = "http://tempuri.org/" xmlns:test="http://tempuri.org/" />');
soap_dt_define ('',
'<complexType xmlns="http://www.w3.org/2001/XMLSchema"
name="Ping_t" targetNamespace = "http://tempuri.org/">
<sequence>
<element minOccurs="1" maxOccurs="1" name="Text" type="string"/>
</sequence>
</complexType>');
create procedure WSRMTestPing (in _to varchar, in _from varchar)
{
declare addr wsa_cli;
declare test wsrm_cli;
declare req soap_client_req;
declare finish any;
declare ping soap_parameter;
ping := new soap_parameter (1);
ping.set_xsd ('http://tempuri.org/:Ping');
ping.s := vector ('Hello World');
addr := new wsa_cli ();
addr."to" := _to;
addr."from" := _from;
addr.action := 'urn:wsrm:Ping';
req := new soap_client_req ();
req.url := _to;
req.operation := 'Ping';
req.parameters := ping.get_call_param ('');
test := new wsrm_cli (addr, _to);
test.send_message (req);
test.send_message (req);
test.finish (req);
return test.seq;
}
;