| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 1411.1 |  | VAXCPU::michaud | Jeff Michaud - ObjectBroker | Tue May 27 1997 12:50 | 5 | 
|  | 	Which platform(s) are you seeing the error on?
> We are using Objectbroker V2.7.
	Which BL? (is it V2.7-11?)
 | 
| 1411.2 | BL 2.7-10 | GRANPA::DGRANT |  | Tue May 27 1997 13:29 | 4 | 
|  |     Platform:  Windows NT V3.51
    BL:	Objectbroker V2.7-10
    
    Thanks for the quick response.
 | 
| 1411.3 |  | RECV::SLAVIN |  | Tue May 27 1997 13:37 | 13 | 
|  | Have you tried using the network tester that comes with OBB. This 
would tell you if the 2 nodes are communicating.
The question about restarting the server and allowing the client to 
continue to run depends on how you wrote your client. ObjectBroker 
does not retry the client request automatically in this case.
 - The client needs to detect the server shutdown - a timeout or other 
	mechanism can be used.
- The client needs to retry the operation. This would mean doing a new 
	invocation, as the server could restart on a different socket or 
	channel than the one used in the original request.
 | 
| 1411.4 |  | RECV::SLAVIN |  | Tue May 27 1997 13:40 | 6 | 
|  | Also,
There are problems autostarting servers on NT. These are corrected in 
OBB V3.0 -- the name service is a regular server.
MAS
 | 
| 1411.5 | Only on server restart | GRANPA::DGRANT |  | Tue May 27 1997 14:54 | 16 | 
|  |     We have no problem communicating to the server and are able to process
    requests.  The only problem is in "reconnecting" to the server once it
    has been restarted.
    
    We realize that the client request must be retried but it is on this
    retry we get the initial "OBB_INV_TRANSERR".  Any subsequent retries of
    the request also fail with the same error.  It seems as though the
    client is not releasing the socket and seems to be trying to access the
    "new" server on the same socket.  How can we get the client to release
    the socket?  We've tried CORBA_object_release and CORBA::release but
    neither release the socket.
    
    BTW,  we are going through the name resolution and object reference 
    resolution before each client request as described in the initial note.
    
    Thanks.
 | 
| 1411.6 |  | RECV::BOWER | Peter Bower, ObjectBroker | Tue May 27 1997 15:24 | 13 | 
|  |     
    Most likely, you are not releasing an object reference.
    
    CosNaming_NamingContext_resolve returns a C object reference. After the
    call to CORBA_ORB_object_to_string, the C object reference should
    be released via CORBA_Object_release.
    
    CORBA::ORB::string_to_object creates a C++ object reference. After the
    call to narrow, it should be released via CORBA::release.
    
    The narrow returns a specific interface C++ object reference. After the
    invoke, it should be released via CORBA::release
    
 | 
| 1411.7 | It worked!! | GRANPA::DGRANT |  | Wed May 28 1997 11:16 | 17 | 
|  |     Its working!! Thanks for your help.
    
    We added the CORBA_Object_release for the C Object reference for the
    CosNaming_NamingContext_resolve after the call to
    CORBA_ORB_obect_to_string and for the string from
    CORBA_ORB_object_to_string after the CORBA::DEC_ORB->string_to_object.
    
    We also added the CORBA::release for the C++ Object reference after the
    _narrow for the object reference returned from the
    CORBA::DEC_ORB->string_to_object call. 
    
    We could not perform a CORBA::release after the invocation since it
    would cause an acc vio on the return from the method.
    
    
    Thanks again for all of your help and prompt responses.
    Debbie Grant
 |