Solved

Tuxedo client memory allocation

Posted on 2006-06-29
3
317 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

[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

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

Configure Web Service (server application) I. Configure security for Web Services methods First, we need to protect Session bean which implements the service: 1. Open EJB deployment descriptor (ejb-jar.xml) in the EJB project that contains you…
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…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

617 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