Behaviour change for SOAP clients in Uniface 10.3

Author: adrian.gosbell@synapse-i.jp (Adrian Gosbell)

A reminder that with effect from Uniface 10.3, any component-level operation or exec operation of a Service component or Static Server Page has to be declared as public for it to be activated from a SOAP request.  (Dynamic Server Pages have already required this).  From Uniface 9.7.04+G402 is was optional, with Uniface 10.3, it's required.  Pasted from the Uniface 10.3 documentation: 

soap

Declares that the operation can be activated by a SOAP request.

public soap

Use

Use in the declaration of the component-level operation or exec operation of a Service component, Dynamic Server Page, or Static Server Page.

Description

The public soap declaration can be used to make an operation accessible to the SOAP client. If a SOAP client attempts to activate an operation that does not contain the public soap declaration, a
SoapFault
is returned with the message Access denied.

Making Operations Accessible to SOAP Clients

operation SOAP_UPDATE
public soap ;- declare accessible via SOAP channel
  params
  endparams
  <... do something ...>
end

Making a DSP Operation Accessible to Both Web and SOAP Clients

It is possible to use both the public soap and public web declarations in a DSP operation or trigger.
 
operation doSomething 
  public soap
  public web
  scope       
    input
    output
  endscope
  < ... do something ...>
end

 

 

2 Comments

  1. Hi Adrian, I presume the INIT operation would not be invoked if the public soap statement for the requested operation isn't there? Knut


    Author: Knut (knut.dybendahl@gmail.com)
  2. Knut said Hi Adrian, I presume the INIT operation would not be invoked if the public soap statement for the requested operation isn't there? Knut  

    Hi Knut, No, the INIT operation will still be invoked. The public soap deceleration is only required for operations that should be activated (directly) from a SOAP client. This is not the case for the INIT since it will be activated implicitly by Uniface. The same is true for the CLEANUP operation or the SOAP Callback Operations (SOAP_CALLIN_PRE or SOAP_CALLIN_POST). Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)