Sends a request to an object through the Wonderwall. When accessing an object through the Wonderwall, always use this function instead of IiopRequest.
Due to a Wonderwall misbehavior, you should not use the standard procedure in case of a location forward during a request.
Wonderwall.bdh
IiopWWRequest(in hIiop : number, in sRequest : string, in nFlag : number optional, in nId : number optional): number;
REQUEST_SUCCESS if successful
REQUEST_FORWARD if a location forward occurred. It is up to the user to resend the request.
REQUEST_FAILED otherwise
Parameter | Description |
---|---|
hIiop | Handle to a CORBA object. |
sRequest | Name of the requested operation. |
nFlag |
Specifies the request message variant sent to the server (optional). Possible values are:
This parameter may be combined with the following flag:
|
nId |
Identification number for this request (optional). 注: This parameter affects the function behavior only if nFlag is set to IIOP_NON_BLOCKING.
If an identification number is associated with a request, the IiopWaitForReply function can be used to wait for a reply from the request. Exceptional cases:
|
dcltrans transaction TWWRequest const WW_HOST := "192.168.20.35"; // Wonderwall host WW_PORT := 16000; // Wonderwall port HOST := "192.168.20.21"; // server PORT := 1052; // port var hDaemon, hBank, hAccount: number; begin IiopSetMaxGiopVersion("1.0"); IiopSetByteOrder(IIOP_BIG_ENDIAN);IiopWWBind(WW_HOST, WW_PORT); // OrbixWeb bootstrapping with Wonderwall hDaemon := IiopWWDaemonBind(HOST, PORT); // get proxy object reference to bank object hBank := IiopWWServerBind(hDaemon, HOST, "bank", "","bank"); // Create an account IiopSetString(hBank, “John Dow”); IiopWWRequest(hBank, "newAccount"); // extract new account object IiopWWGetObject(hBank, hAccount); end TWWRequest;