Solved

Tuxedo client memory allocation

Posted on 2006-06-29
3
312 Views
Last Modified: 2013-12-10
Hi,

We are calling EJB from VC++ client through tuxedo call (tpcall).
Client (VC++ 6.0)/Windows Tuxedo Client ----> Tuxedo Domain/Gateway/Broker (V 8.0) ----> Weblogic domain (8.1 SP5) ----> EJB (running in different application server).

We are having the following problem:

From the VC++ client we are calling a EJB which will return a search result. We don't know the number of results (i.e. size) that will be returned to the client. The prblem is we are allocating the output buffer (tpalloc) in the client to hold the result that will be returned by the EJB before calling the service.  So we are not able to display the results if it exceeds the the size of output buffer.

Can anyone let me know what to do in this situation so that we will be able to display the whole result always.

Thanks
0
Comment
Question by:pbsmbc
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 3

Accepted Solution

by:
yuseungkim earned 500 total points
ID: 17011235
What is buffer type you're using ?

did you try to check the size of olen from tpcall and compare it with initial size allocated and if olen is bigger than what initially allocated by tpalloc, try to resize it using tprealloc ?

int tpcall(char *svc, char *idata, long ilen, char **odata, long *olen, long flags)

As you know, odata is the address of a pointer to the buffer where a reply is read into, and olen points to the length of that reply. *odata must point to a buffer originally allocated by tpalloc(). If the same buffer is to be used for both sending and receiving, odata should be set to the address of idata. FML and FML32 buffers often assume a minimum size of 4096 bytes; if the reply is larger than 4096, the size of the buffer is increased to a size large enough to accommodate the data being returned.

Cheers

Andy K

0
 

Author Comment

by:pbsmbc
ID: 17011441
Thanks Andy.
We are using FML32 buffer and we not using same buffer for sending and receiving the request.


0
 
LVL 3

Expert Comment

by:yuseungkim
ID: 17012461
Did you try to resize it based on olen using tprealloc ?
0

Featured Post

Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This exercise is about for the following scenario: Dmgr and One node with 2 application server. Each application server contains it owns application. Application server name as follows server1 contains app1 server2 contains app1 Prereq…
Most of the developers using Tomcat find it easy to configure the datasource in Server.xml and use the JNDI name in the code to get the connection.  So the default connection pool using DBCP (or any other framework) is made available and the life go…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question