Wrong translation commond when I write Tuxedo Service to use Informix Database
Old Environment:
DB : Informix Dynamic Server Version 7.31.UC5
Tools : INFORMIX-ESQL Version 7.24.UC8
MIDDLE : Tuxedo 6.4 patch 341
New Environment :
DB : Informix Dynamic Server Version 9.30.FC1
Tools : IBM Informix CSDK Version 2.80,
IBM Informix-ESQL Version 9.52.UC2
MIDDLE : Tuxedo 8.0 patch 135
Event :
My old tuxedo service had wroted to communicate with Informix Database by
XA transaction. In my service code have to
prepare informix statement by command
' EXEC SQL PREPARE p_roll FROM "ROLLBACK WORK" ' And in my old environment it's
workable until I upgrade my environment.
My old tuxedo service can compile in new environment but when i try to test
service by ud32 tool the result is error "A syntax error has occurred". After
I check my code and receive statement at Database host I found some thing does
not correct.
I send to prepare ' ROLLBACK WORK ' but at database host received ' ROLLBACK WORKRK"
' that unknown command to database.
I try to write my small new code to test PREPARE command of Informix ESQL/C
without to build to Tuxedo Server, It's can work correctly.
If you had found the same case , Please advise me too.
Thanks you very much for your advise.
[roll.ec]
If ud32 reported a syntax error, then your service was never called.
Normally, a service running under XA control should not issue transactional SQL
statements. Begins and Rollbacks are issued from the transaction manager, not the
application code.
Can you post the Tuxedo message catalog number, and your ud32 script, as well as
your environment variables?
Scott Orshan
Sutep wrote:
Old Environment:
DB : Informix Dynamic Server Version 7.31.UC5
Tools : INFORMIX-ESQL Version 7.24.UC8
MIDDLE : Tuxedo 6.4 patch 341
New Environment :
DB : Informix Dynamic Server Version 9.30.FC1
Tools : IBM Informix CSDK Version 2.80,
IBM Informix-ESQL Version 9.52.UC2
MIDDLE : Tuxedo 8.0 patch 135
Event :
My old tuxedo service had wroted to communicate with Informix Database by
XA transaction. In my service code have to
prepare informix statement by command
' EXEC SQL PREPARE p_roll FROM "ROLLBACK WORK" ' And in my old environment it's
workable until I upgrade my environment.
My old tuxedo service can compile in new environment but when i try to test
service by ud32 tool the result is error "A syntax error has occurred". After
I check my code and receive statement at Database host I found some thing does
not correct.
I send to prepare ' ROLLBACK WORK ' but at database host received ' ROLLBACK WORKRK"
' that unknown command to database.
I try to write my small new code to test PREPARE command of Informix ESQL/C
without to build to Tuxedo Server, It's can work correctly.
If you had found the same case , Please advise me too.
Thanks you very much for your advise.
#include <stdio.h>
#define BUFF 30
#define SQLROWCOUNT sqlca.sqlerrd[2]
exec sql define LNGTH1 40;
main()
exec sql whenever sqlerror goto :sqlx;
exec sql begin declare section;
string hs_vlue_char[LNGTH1];
string hs_sql[500];
exec sql end declare section;
long li_line;
fprintf(stderr,"\nProcessing...\n");
exec sql connect to 'sysmaster@oltp';
li_line = __LINE__;
exec sql prepare bwork from "BEGIN WORK";
li_line = __LINE__;
exec sql prepare cwork from "COMMIT WORK";
li_line = __LINE__;
exec sql prepare rwork from "ROLLBACK WORK";
printf("%d: Before Rollback Work\n", __LINE__);
EXEC SQL PREPARE p_rwork FROM "ROLLBACK WORK";
/* free(hs_v[tmp]);
hs_v[tmp] = strfmt("%s", "rollback work");
CHECK_STRFMT_ERROR( hs_v, tmp);
debug("'%s'", hs_v[tmp]);
exec sql prepare p_rwork from :hs_v[tmp];
printf("%d: After Rollback Work\n", __LINE__);
printf("%d: Before Begin Work\n", __LINE__);
EXEC SQL PREPARE p_bwork FROM "BEGIN WORK";
printf("%d: After Begin Work\n", __LINE__);
printf("%d: Before Commit Work\n", __LINE__);
EXEC SQL PREPARE p_cwork FROM "COMMIT WORK";
printf("%d: After Commit Work\n", __LINE__);
sprintf(hs_sql, "SELECT vlue_char from cs_dfpm where dfpm_code = 'LOG_PATH_NAME1'");
printf("hs_Sql = %s\n", hs_sql);
exec sql prepare sel_sql from :hs_sql;
exec sql execute sel_sql into :hs_vlue_char;
printf("hs_vlue_char = %s\n", hs_vlue_char);
exec sql free sel_sql;
exec sql execute p_bwork;
exec sql
update cs_dfpm
set vlue_char = '/test/'
where dfpm_code = 'LOG_PATH_NAME1';
if ( SQLROWCOUNT == 0 )
exec sql execute p_rwork;
exec sql execute p_cwork;
exec sql free p_bwork;
exec sql free p_cwork;
exec sql free p_rwork;
exec sql disconnect current;
fprintf(stderr, "\nProcess completed successfully.\n");
return(0);
sqlx:
fprintf(stderr,"\nDB error encountered at line = %ld(%ld)\n", li_line, SQLCODE);
fprintf(stderr,"\nDB error encountered(%ld)\n", SQLCODE);
exec sql whenever sqlerror continue;
exec sql free sel_sql;
exec sql free p_bwork;
exec sql free cwork;
exec sql free rwork;
exec sql disconnect current;
printf("%s@%d:Process completed with Error.\n", __FILE__, __LINE__);
Similar Messages
-
Encountered problem when invoking a Tuxedo service
Good day.
I'm currently encountering a problem when trying to invoke a Tuxedo service from a JCS. The error is a LIBTUX_CAT:488 : ERROR: Invalid data pointer given to tpreturn(). The returned error message to the WLS console was "tpcall invocation failed[null]."
It was previously working until I added a few more lines of code that invoked a database.
Both the JCS and the JCX used to invoke the Tuxedo service are in a Web Service project, stored separately in different folders though.
Could anyone help please? I haven't found any solution to this problem yet.
Thank you.Umm.. I already problem. Sorry for bothering everyone.
I was simply passing a value that was longer than the set buffer in the Tuxedo service.
Could someone please close topic? Thank you. -
I have taken off/turned off iCloud on my mac mini (OS 10.8) but when I send an email and use contacts , it will convert the non - iCloud email to an iCloud email automatically. Anyway to stop this automatic conversation?
Robert...
the iCloud webserver wont accept my password for a .mac login, nor will it allow me to change it
See if you can change your password > Apple - My Apple ID
If that doesn't help, launch iTunes on your computer.
From the iTunes menu bar click iTunes / Preferences then select the Advanced tab.
Click: Reset warnings and Reset cache
Click OK.
Restart your computer.
If that that doesn't help...
Moreover, when I try to go into my .mac account on the web,
Delete all apple cookies and empty your browser cache.
See if you can access your account at iCloud.com -
How to write Tuxedo service with conversational mode ?
Is there anyone do me a favour and tell me how to write the conversational service
? I failed to use tpconnect to set up the converational communication channel
since the returned error number from tpconnect is 6.
Many Thanks !"huchacha" <[email protected]> wrote:
>
Is there anyone do me a favour and tell me how to write the conversational
service
? I failed to use tpconnect to set up the converational communication
channel
since the returned error number from tpconnect is 6.
Many Thanks !Hello,
1. TPNOENT=6 (from atmi.h).
2. After tpconnect (from Tuxedo docs):
[TPENOENT] Cannot initiate a connection to svc
because it does not exist or is not a conversational service.
3. Check SERVER section in ubbconfig,
for example (from Tuxedo docs):
CONV = {Y | N} specifies whether or not the server
is a conversational server.
Connections can only be made to conversational servers,
and rpc requests (via tpacall() or tpcall()) can only be made
to non-conversational servers. The default is N.
Best regards,
Vladimir -
ADF in Jdev 10.1.3.2 - Wrong Page Opens When "Open Link in New Window" Used
We are former Oracle Forms/Reports developers and Struts developers in the early stages of a new project using ADF in JDeveloper 10.1.3.2. We are all new to this development environment (though not new to Java), so apologies in advance if this is trivial.
Our early work is based on samples extracted from Oracle's ADF Tutorial for Forms/4GL developers and is pretty simple at this stage. We have done little more than create a page layout and implemented skeletons of each page. As long as we click a link with the left mouse button, we can navigate from page to page as expected, no problem.
The strangeness starts when we right click a link, and select Open in New Window. For example:
(Note, all of this is taking place in our development environment: Jdeveloper running on our personal PCs / laptops, we have not even tried to deploy to an application server yet):
1. Open page 1.
2. Error 1: Right click button or tab to page 2, select Open in New Window. Page 1, not page 2, will open in the new window.
3. Close the new window so that the original page 1 is displayed.
4. Left click a link to navigate to page 2. Page 2 is display as expected.
5. On page 2, left click link back to page 1 (NOT the browser Back button). Page 1 is displayed as expected.
6. Error 2: Right click a link to page 3, select Open in New Window. Page 2, not page 3 will open in the new window.
7. Close the window containing Page 2. Left-click the link for page 3 and it will open as expected.
8. On page 3, left click a link back to page 1 (NOT the browser Back button). Page 1 is displayed as expected.
9. Now right-click the same link to page 3 as in step 6 and select open in new window and page 3 will display as expected.
The logs mention "Reusing a cached session application module instance" and I think this is where our trouble is. I considered turning this caching off (if possible) to see if it clears up the problem, but (a) I don't see where to do that and (b) it seems like we would want to use any caching features once we go to production.
I suspect we have some minor configuration error somewhere as it seems unlikely that ADF applications would all come with a "No opening in new windows allowed" warning. Or, maybe we are just missing the boat on why this shouldn't work. Either way, any useful guidance would be appreciated.
Thanks!Pravin
We dont get number datatype if you have SQL92 selected as SQL Flavour. So i dont think this would help. SQL TYPE Map is JAVA basically in my project. Do you want me to import some of oracle.jbo.domains specifically or something else you want me to do
regards
Amit -
TPESYSTEM error when calling tuxedo service
Hello,
I have a problem when running my own EJB as a TUXEDO service using WTC.
Im using TUXEDO 8.1 and WL 8.1.
My TUXEDO and WTC configuration seems OK, because TOLOWER example is running OK.
When im trying to run my own EJB as a TUXEDO service on TUXEDO side TPESYSTEM
error appears.
JDNI name and configuration of the EJB is correct, because when I put wrong JNDI
then on TUXEDO side TPENOENTRY error appears. Additionally - my EJB's bussines
logic is pretty the same as TOLOWER example.
I think that is EJB issue because in server logs there is an information that
domains are connected but ejbCreate method isn't called. My EJB was developed
using JBuilder 9 WebLOgic Edition and WL Workshop 8.1.
Thanks,
PatrickHi Hemant,
I'm not sure, but my guess is it was a setup problem. Perhaps not implementing the right interface in the EJB, not having the correct home specified, etc.
Usually the best way to find these errors the first time is to turn on some debugging information in WLS. More information can be found at: http://edocs.bea.com/wls/docs91/wtc_admin/Install.html
For this sort of problem, it probably makes sense to enable -Dweblogic.debug.DebugWTCGwtEx=true and/or -Dweblogic.debug.DebugWTCJatmiEx=true
The above examples are for WLS 9.1 and later. For earlier releases of WLS, check edocs for the settings of weblogic.wtc.TraceLevel
Best Regards,
Todd Little
BEA Tuxedo Chief Architect -
I have a problem when running my own EJB as a TUXEDO service using WTC.
Hello,
I have a problem when running my own EJB as a TUXEDO service using WTC. I am using TUXEDO 8.1 and WL 9.1.
When I am trying to run my own EJB as a TUXEDO service error appears.
TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could not find service TOUPPER
at weblogic.wtc.gwt.WTCService.getImport(WTCService.java:4988)
at weblogic.wtc.gwt.TuxedoConnection.getImport(TuxedoConnection.java:303)
at weblogic.wtc.gwt.TuxedoConnection.tpcall(TuxedoConnection.java:1302)
at examples.MyTestSessionBean.Toupper(MyTestSessionBean.java:102)
at examples.TestSessionBean_knby6k_EOImpl.Toupper(TestSessionBean_knby6k_EOImpl.java:61)
at net.roseindia.web.servlets.SessionTestServlet.doGet(SessionTestServlet.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:165)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3153)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
e8
10
java.rmi.RemoteException: EJB Exception: ; nested exception is:
java.lang.NullPointerException
at weblogic.ejb.container.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:95)
at weblogic.ejb.container.internal.BaseEJBObject.handleSystemException(BaseEJBObject.java:713)
at weblogic.ejb.container.internal.BaseEJBObject.handleSystemException(BaseEJBObject.java:681)
at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:447)
at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)
at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:374)
at examples.TestSessionBean_knby6k_EOImpl.Toupper(TestSessionBean_knby6k_EOImpl.java:75)
at net.roseindia.web.servlets.SessionTestServlet.doGet(SessionTestServlet.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:165)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3153)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
Caused by: java.lang.NullPointerException
at examples.MyTestSessionBean.Toupper(MyTestSessionBean.java:130)
at examples.TestSessionBean_knby6k_EOImpl.Toupper(TestSessionBean_knby6k_EOImpl.java:61)
... 15 more
Any clue on this.
With Regards,
MVSIf you are trying to create a Tuxedo service in Java using WTC you need to develop an EJB that implements the TuxedoService interface and register its home in JNDI so WTC can look it up. Once that is done you can then export the service to a remote domain in the WTC configuration.
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
Errors when compiling the web service (SAP Web Service Design Tool)
After downloading and installing the SAP de Web Service Design Tool (for Crystal Reports Server) I created a connection, a simple query and was able to deploy a web services. I tested the web service with an Xcelsius dashboard within InfoView. Thereafter I created a second connection (other name but same ODBC connection / server) and created another simple query with two date(range) parameters and a group by year and month function in order to do a select count(). It executes fine, but when I try to publish the web service I get an error.
There are errors when compiling the web service.
Is does not say whatu2019s wrong or how I can solve this problem.
Who can help me?
Some notes:
1) Within expert mode I used a MONTH() SQL function which does not show in the normal mode.
2) It seams that the u2018administrationu2019 of Web Service Design Tool got u2018corruptedu2019 after only creating the two connections, queries and services mentioned above. I believe so because I could select one of two queries when I created the second service, but within the current connection I had only one query.
Thanks for any help,
Ron
ADDITIONAL INFO: The parameters seam to be the problem. After removing the parameters I can publish the service. But without parameters it is NO SOLOTION.
Edited by: RonKoudijs on Aug 26, 2010 6:28 PMHello Taylan,
I think the error that you received was due to packaging issues.I placed the
UtilClass.java file under a directory called data which was present under
the project directory.
When you want to access a java class, you can either place the compiled
class file in the WEB-INF/classes folder or you can place the java file
under the project directory.
I have attached the sample project that I created with your files.
Let me know if you have any other questions.
Thanks
Raj Alagumalai
WebLogic Workshop Support
"taylan" <[email protected]> wrote in message
news:3d6351b0$[email protected]..
>
I am trying to write a simpe web service in WebLogic Workshop, but havingan error
which I could not understand. Could you please help me? Thanks in advance.
Regards,
Taylan
My web service code is like belows:
import weblogic.jws.control.JwsContext;
import data.*;
public class WebService1
/** @jws:context */
JwsContext context;
* @jws:operation
public UtilClass testType(UtilClass tTest){
UtilClass returnObj=new UtilClass();
if(tTest.getName()!= null){
returnObj.setName(tTest.getName());
return returnObj;
and my UtilClass is placed in the data directory under the same directorywith
my web service code. It is a simpe class as belows:
package data;
public class UtilClass
private String name;
public void setName(String name){
this.name=name;
public String getName(){
return name;
However I got an error when I try to compile the webservice class. Theerror is
like belows:
File Line Message
WebService1.jws 0 Resource found on system classpath: data.UtilClass
Build complete - 1 error(s), 0 warning(s)
[ngroup.zip] -
Can i write a tuxedo service using JAVA...does tuxedo provide APIs for that ?
Hi,
You can build any binary executable that calls Java and vice versa, using JNI, but then, manageing a tpreturn(3c) without getting back to the C stub sounds dangerous, when you know what tpreturn(3c) does (longjump). Put your JavaCose Caller C Function in a library, and it can be called from any C code.
Then you need to be aware that you loose some good points of Java: How can you make a ThreadDump in that context?
Also it rises new basic questions: Will Java's Multiple threads interfere with Tuxedo MultiThreaded server-side architecture? How can all the threads of your server safely share the same JVM instance? What about the classloaders? The Database connections? The XA Interface?
But if you do so, be warned about the memory leak problems you may face. Some products use that technology, but have to commit suicide every 10000 requests to avoid memory leaks.
I would strongly advice you to benchmark your executables so as to prevent that from happening...
A++
Lionel -
UPDATE ... FROM, wrong translation in Scratch Editor
I use SQL Developer 1.5.0.52
I want migrate from T-SQL(MSSQL 2005) to PL/SQL(Oracle 10g) in the Scratch Editor. I often use the UPDATE ... FROM command in T-SQL, the tranlation in the Scratch Editor is wrong with more than one join. I need a quick solution for my problem!
Little example:
Tables:
drop table A;
create table A(
a1 int,
a2 int
drop table B;
create table B(
b1 int,
b2 int
drop table C;
create table C(
c1 int,
c2 int
insert into A values( 1, 1);
insert into A values( 2, 2);
insert into A values( 3, 3);
insert into B values( 1, 1);
insert into B values( 2, 2);
insert into B values( 3, 3);
insert into C values( 1, 11);
insert into C values( 2, 22);
insert into C values( 3, 33);
T-SQL with 2 tables
update A
set A.a2 = c.c2
from A inner join C on A.a1 = c.c1
PL/SQL with 2 tables
The Scratch Editor translates it correct and I can work with this translation.
MERGE INTO A
USING (SELECT * FROM C) C
ON ( A.a1 = c.c1 )
WHEN MATCHED THEN UPDATE SET a2 = c.c2;
T-SQL with 3 tables
Now we take a table more between A and C (it's simple in T-SQL):
update A
set A.a2 = c.c2
from A
inner join B on A.a1 = B.b1
inner join C on B.b2 = c.c1
PL/SQL with 3 tables, wrong translation
The Scratch Editor translates it in a difficult form and it's only correct, when the where clause get only one ROW.
==> The solution is wrong for all other cases( more then one ROW)
UPDATE A
SET ( a2 ) = ( SELECT c.c2
FROM A
JOIN B on A.a1 = B.b1
JOIN C on B.b2 = c.c1 )
WHERE ROWID IN (SELECT A.ROWID
FROM A
JOIN B on A.a1 = B.b1
JOIN C on B.b2 = c.c1);
PL/SQL with 3 tables, correct translation(my desire)
My own translation:
MERGE INTO A
USING ( select B.b1, B.b2, C.c1, C.c2
from B
inner join C on B.b2 = C.c1) e
on (A.a1 = e.b1)
WHEN MATCHED THEN UPDATE
set A.a2 = e.c2;
I want the correct translation with the Scratch Editor or I must write an own tool for this case. It is possible to config the Scratch Editor for specific cases?Hi Carlos,
Thanks for this feedback. The nice testcase really helps.
I have replicated your issue and added the details to the bug
6976327: OTNFORUMS : UPDATE JOIN CLAUSE NOT TRANSLATED CORRECTLY
As they are in a similar area to the other issue you reported.
You solution is fine, but I would like to suggest a small change as to how the Translator should behave.
T-SQL
update A
set A.a2 = c.c2
from A
inner join B on A.a1 = B.b1
inner join C on B.b2 = c.c1
Your Solution
MERGE INTO A
USING ( select B.b1, B.b2, C.c1, C.c2
from B
inner join C on B.b2 = C.c1) e
on (A.a1 = e.b1)
WHEN MATCHED THEN UPDATE
set A.a2 = e.c2;
Suggested Solution
MERGE INTO A
USING ( SELECT a.rowid a_rowid, c.c2
from A
inner join B on A.a1 = B.b1
inner join C on B.b2 = c.c1) x
on (A.rowid = x.a_rowid)
WHEN MATCHED THEN UPDATE
set A.a2 = x.c2;
I think the suggested solution is a little more easier to translate and maintain.
I keep the entire set/from/on clauses together and just added the rowid. . Then I only have to reference the rowid in the ON clause to specify which rows to change. In your solution the on clauses are broken up between the subquery and the on condition.
Any comments appreciated.
Thanks
Dermot. -
Build Tuxedo service in Visual Studio
Hi!
I need to build the executable for a Tuxedo service. The Visual Studio project
already contains a TuxServer.cp file which has the tpsvrinit function, and tux.c
which was generated by BuildTuxedo. It also contains a sybesql.c file and other
codes files. It was a legacy system, and I don't know much about Tuxedo. The machine
I want to build it on already has Visual Studio, Sybase and Tuxedo installed.
How do I set up the environment so I can build the exe in Visual Studio itself?
Thanks,
CarolineHello and thank you very much for your answers
Right now I tried RobertH's solution. I'm gona try it also with Coq rouge's link.
To RobertH's way:
I inserted the line __declspec(dllexport) unsigned int __stdcall multiply(unsigned char a, unsigned char b);
and my file looked like this:
#include "stdafx.h" __declspec(dllexport) unsigned int __stdcall multiply(unsigned char a, unsigned char b);unsigned int multiply(unsigned char a, unsigned char b) {unsigned int c; c = a * b;return c; }
When I tried to compile, i got an errormessage:
error C2373: 'multiply': Neudefinition; unterschiedliche Modifizierer
in English:
error C2373 'multiply': redefinition; different modifier
I could fix this error by editing the line
unsigned int multiply(unsigned char a, unsigned char b)
into
unsigned int __stdcall multiply(unsigned char a, unsigned char b)
but i have no idea if this is the correct way. Maybe this is wrong? Now i could compile.
I also could open the function multiply in LabView. I created at the call library function node the inputs and outputs. LabView described the functionprototype as:
uint16_t ?multiply@@YGIEE@Z(uint8_t a, uint8_t b);
I could start the programm, but I got a LabView errormessage:
Error 1097 occurred at Call Library Function Node in extcodetest.vi
Possible reason(s):
LabVIEW: An exception occurred within the external code called by a Call Library Function Node. The exception may have corrupted LabVIEW's memory. Save any work to a new location and restart LabVIEW.
I tried both calling conventions, c and stdcall
At least, i could start the LabView Programm. Thats already a littel success. But i think i will need more help.
Now I'm also gonna try Coq rouge's link. -
Tpinit error when call a remote service
i have to call a remote tuxedo service in my local service,and the remote
service need to be authenticated when use tpinit. when i use tpinit in my
service,it will be error, i think maybe the application does not know which
tuxedo service i will call(local or remote),so,it may think my tpinit was
for my local service,then some error here.
what shall i do when call a remote service which need to be authenticated at
tpinit???
fishit's ok now,i made a stupid mistake.:)
"Anthony Fryer" <[email protected]> дÈëÏûÏ¢ÐÂÎÅ
:[email protected]..
>
What you should do is configure DOMAIN gateways between the remote tuxedodomain
and your own local domain. Then you don't need to call tpinit at all fromthe
local service that calls the remote service.
"fish" <[email protected]> wrote:
i have to call a remote tuxedo service in my local service,and the remote
service need to be authenticated when use tpinit. when i use tpinit in
my
service,it will be error, i think maybe the application does not know
which
tuxedo service i will call(local or remote),so,it may think my tpinit
was
for my local service,then some error here.
what shall i do when call a remote service which need to be authenticated
at
tpinit???
fish -
Hi
I have a Tuxedo COBOL service and I have a problem: the TPSVCSTART routine it seams that not working very well.
When I start the service for the first time and I send some record to the TPSVCSTART service routine, everything goes fine. After the COBOL service is terminated (COPY TPRETURN...) and I try to connect to the service again, the VIEW record passed to the TPSVCSTART routine contains the data that I sent but contains also random chars in his string fields, although the record's string value fields and their lengths are correctly set on the client side.
Anyone knows why this is happening?
Code for the TPSVCSTART routine:
DO-TPSVCSTART.
INITIALIZE ClientData
MOVE "VIEW" TO REC-TYPE OF TPTYPE-REC.
MOVE "ClientData" TO SUB-TYPE OF TPTYPE-REC.
MOVE LENGTH OF CLIENT-DATA-REC TO LEN IN TPTYPE-REC.
CALL "TPSVCSTART" USING TPSVCDEF-REC
TPTYPE-REC
CLIENT-DATA-REC
TPSTATUS-REC.
IF TPTRUNCATE
MOVE "Input data exceeded DATA-REC length"
TO LOGMSG-TEXT
PERFORM DO-USERLOG
PERFORM EZ-EXIT.
IF NOT TPOK
MOVE "TPSVCSTART Failed" TO LOGMSG-TEXT
PERFORM DO-USERLOG
PERFORM EZ-EXIT.
IF REC-TYPE NOT = "VIEW"
MOVE "REC-TYPE is not VIEW" TO LOGMSG-TEXT
PERFORM DO-USERLOG
PERFORM EZ-EXIT.
Thanx
DanielRun the server manually using the command line from "tmboot -n -d1" and
see if it is dumping core or failing in some other manner.
Or if you already have a core file, get a stack trace with a debugger.
Paul van Rixel wrote:
Hi,
With version Tuxedo 6.4 I have a fmldef.fml with 472 entries. The number of views
is 121. So when I tried to add a service the tuxedo services will not start and
returns with an "CMDTUX_CAT:819 INFO: Process Id=.... assumed started (pipe)".
However, when I delete this service (or another one) the tmboot process does not
return an error and works fine.
So I wondered if there might be (default) value which I exceed. Anyone an idea?
Regards,
Paul -
[help]a problem about dbx/attach a tuxedo service
I attempted to trace a Tuxedo service process via dbx/attach command:
attach nnnnwhen I attached dbx to the service PID, the service process is stopped somewhere outside my service program:
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where
current thread: t@1
=>[1] __systemcall(0xffbfeda8, 0x31, 0x2, 0x10540c, 0x2cc0e8, 0x641dc), at 0xfe120080
[2] _libc_msgrcv(0x10540c, 0x2cc0e8, 0x641dc, 0xc0000000, 0x0, 0x2ec), at 0xfe117928
[3] msgrcv(0x10540c, 0x2cc0e8, 0x641dc, 0xc0000000, 0x0, 0x0), at 0xfe45dc40
[4] _tmmbrecvm(0x0, 0xbdb0c, 0x2, 0xa, 0x0, 0x7), at 0xfe59b658
[5] _tmmsgrcv(0xfffffffc, 0xfe5fdaa8, 0x0, 0xffff, 0xbf800, 0xb76c8), at 0xfe4bc1d0
[6] _tmrcvrq(0xae608, 0xffbff38c, 0x22, 0x10000000, 0x1000, 0xc0000000), at 0xfe4f9738
[7] _tmrunserver(0x0, 0x1400, 0x0, 0xfe5fdaa8, 0x0, 0xb76c8), at 0xfe4fe418
[8] _tmstartserver(0x15, 0x1c00, 0x8b160, 0xae608, 0x0, 0x8af88), at 0xfe4d7530
[9] main(0x15, 0xffbff4bc, 0xffbff514, 0x8b000, 0x0, 0x0), at 0x238f8However, I can not resume the service process either. when I use cont command, the dbx seems to stop there with no input prompt.
Has anyone debug a tuxedo serive in SunOS using dbx?How can I resume the server process If I want to print the local variables?Thank you in advance!
Edited by: angeloyu on Sep 16, 2008 8:02 PMangeloyu wrote:
I attempted to trace a Tuxedo service process via dbx/attach command:
attach nnnnwhen I attached dbx to the service PID, the service process is stopped somewhere outside my service program:
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where
current thread: t@1
[9] main(0x15, 0xffbff4bc, 0xffbff514, 0x8b000, 0x0, 0x0), at 0x238f8
Judging by WS6U2 above, I assume you are using dbx 6.2, which is very, very old. Unless you need it to work on similarly old Solaris, please consider upgrading to Sun Studio 11 (supports Solaris 8) or Sun Studio 12 (supports Solaris 9+). Both are free and contain many improvements.
angeloyu wrote:
However, I can not resume the service process either. when I use cont command, the dbx seems to stop there with no input prompt.That's kind of expected behavior from the debugger - it resumes debuggee and sits there until debuggee generates some event (like hitting breakpoint or receiving a signal). Once dbx gets notified of this event, it presents details to the user and provides input prompt.
Did you put any breakpoints in (with stop command)? You'll also need to make sure breakpoint is reached by that service you are debugging.
Anyways, if all you need is to trace the service, it might be easier to use truss(1) command like this:
$ truss -p `pgrep Tuxedo` -
Passing data from jsp/servlet to a Tuxedo Service thru VIEW
Hi..
We are using Tuxedo10g R3 on AIX 5.3..
We have a Tuxedo Service running which takes values from the VIEW and converts that to upper case.. From the jsp page v r passing values to the VIEW fields which will be accepted by the service..
For testing v checked the service with a tuxedo client and it is working fine..
We have defined a jolt repository file for this service and finished bulkloading and coded the servlet also.. After passing the datas from the jsp, the Tuxedo service is called and it is ended.. but in the service only blank values are passed or the datas are not passed to VIEW fields.. It is not showing any error..
The repository file for this service:
service=NSIMPSRV
export=true
inbuf=VIEW
inview=sample
outbuf=STRING
param=FIRSTSTR
type=string
access=in
param=SECONDSTR
type=string
access=in
param=THIRDSTR
type=string
access=in
param=S-FIRST
type=string
access=out
param=S-SECOND
type=string
access=out
param=S-THIRD
type=string
access=out
and the servlet code for this service:
Result result1;
ServletSessionPool servletsession = (ServletSessionPool) joltsession.getSessionPool("demojoltpool");
ServletDataSet joltdataset = new ServletDataSet();
joltdataset.setValue("FIRSTSTR","Testing");
joltdataset.setValue("SECONDSTR","Tuxedo");
joltdataset.setValue("THIRDSTR","Views");
result1 = servletsession.call("NSIMPSRV", joltdataset, null);
System.out.println("FIRSTSTR:"+result1.getValue("S-FIRST",""));
System.out.println("SECONDSTR:"+result1.getValue("S-SECOND",""));
System.out.println("THIRDSTR:"+result1.getValue("S-THIRD",""));
we are not sure why the datas have not been passed.. do anyone have any idea regarding this??
Thanks..Hi Wayne,
This is my view definition:
VIEW sample
# type cname fbna count flag size null
string firststr - 1 - 10 -
string secondstr - 1 - 10 -
string thirdstr - 1 - 10 -
ENDJolt repository file:
service=NSIMPSRV
export=true
inbuf=VIEW
inview=sample
outbuf=VIEW
outview=sample
param=FIRSTSTR
type=string
access=inout
param=SECONDSTR
type=string
access=inout
param=THIRDSTR
type=string
access=inoutThe Servlet code is:
package Servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bea.jolt.pool.servlet.weblogic.PoolManagerStartUp;
import bea.jolt.pool.servlet.*;
import bea.jolt.pool.ApplicationException;
import bea.jolt.pool.SessionPoolException;
import bea.jolt.pool.ServiceException;
import bea.jolt.pool.SessionPoolManager;
import bea.jolt.pool.*;
* Servlet implementation class ZC00582Servlet
public class VIEWServlet extends HttpServlet {
private ServletSessionPoolManager joltsession = (ServletSessionPoolManager) SessionPoolManager.poolmgr;
public VIEWServlet() {
super();
// TODO Auto-generated constructor stub
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
ServletResult result;
Result result1;
String String1 = request.getParameter("FIRSTSTR");
String String2 = request.getParameter("SECONDSTR");
String String3 = request.getParameter("THIRDSTR");
System.out.println("THE VALUES BEFORE CONVERSION");
System.out.println("FIRSTSTR:"+String1);
System.out.println("SECONDSTR:"+String2);
System.out.println("THIRDSTR:"+String3);
System.out.println("1..");
//ServletResult message;
ServletSessionPool servletsession = (ServletSessionPool) joltsession.getSessionPool("demojoltpool");
System.out.println("2..");
ServletDataSet joltdataset = new ServletDataSet();
//joltdataset.importRequest(request);
System.out.println("3..");
//joltdataset.setValue("firststr","Hi");
joltdataset.setValue("firststr",String1);
System.out.println("4..");
//joltdataset.setValue("secondstr","hello");
joltdataset.setValue("secondstr",String2);
System.out.println("5..");
//joltdataset.setValue("thridstr","fine");
joltdataset.setValue("thirdstr",String3);
System.out.println("6..");
//result = (ServletResult) servletsession.call("NSIMPSRV", joltdataset, null);
result1 = servletsession.call("NSIMPSRV", joltdataset, null);
result = (ServletResult) result1;
System.out.println("THE VALUES AFTER CONVERSION");
System.out.println("FIRSTSTR:"+result.getStringValue("firststr",""));
System.out.println("SECONDSTR:"+result.getStringValue("secondstr",""));
System.out.println("THIRDSTR:"+result.getStringValue("thirdstr",""));
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
and my server program :
IDENTIFICATION DIVISION.
PROGRAM-ID. NSIMPSRV.
AUTHOR. TUXEDO DEVELOPMENT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
* Tuxedo definitions
01 TPSVCRET-REC.
COPY TPSVCRET.
01 TPTYPE-REC.
COPY TPTYPE.
01 TPSTATUS-REC.
COPY TPSTATUS.
01 TPSVCDEF-REC.
COPY TPSVCDEF.
* Log message definitions
01 LOGMSG.
05 FILLER PIC X(10) VALUE
"NSIMPSRV :".
05 LOGMSG-TEXT PIC X(50).
01 LOGMSG-LEN PIC S9(9) COMP-5.
* User defined data records
01 STRING-DATA.
COPY SAMPLE.
LINKAGE SECTION.
PROCEDURE DIVISION.
START-FUNDUPSR.
MOVE LENGTH OF LOGMSG TO LOGMSG-LEN.
MOVE "Started" TO LOGMSG-TEXT.
PERFORM DO-USERLOG.
* Get the data that was sent by the client
MOVE LENGTH OF STRING-DATA TO LEN.
CALL "TPSVCSTART" USING TPSVCDEF-REC
TPTYPE-REC
STRING-DATA
TPSTATUS-REC.
IF NOT TPOK
MOVE "TPSVCSTART Failed" TO LOGMSG-TEXT
PERFORM DO-USERLOG
PERFORM EXIT-PROGRAM
END-IF.
IF TPTRUNCATE
MOVE "Data was truncated" TO LOGMSG-TEXT
PERFORM DO-USERLOG
PERFORM EXIT-PROGRAM
END-IF.
MOVE FIRSTSTR TO LOGMSG-TEXT.
PERFORM DO-USERLOG.
MOVE SECONDSTR TO LOGMSG-TEXT.
PERFORM DO-USERLOG.
MOVE THIRDSTR TO LOGMSG-TEXT.
PERFORM DO-USERLOG.
INSPECT FIRSTSTR CONVERTING
"abcdefghijklmnopqrstuvwxyz" TO
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
INSPECT SECONDSTR CONVERTING
"abcdefghijklmnopqrstuvwxyz" TO
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
INSPECT THIRDSTR CONVERTING
"abcdefghijklmnopqrstuvwxyz" TO
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
MOVE "Success" TO LOGMSG-TEXT.
PERFORM DO-USERLOG.
MOVE STRING-DATA TO LOGMSG-TEXT.
PERFORM DO-USERLOG.
SET TPSUCCESS TO TRUE.
COPY TPRETURN REPLACING
DATA-REC BY STRING-DATA.
* Write out a log err messages
DO-USERLOG.
CALL "USERLOG" USING LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
* EXIT PROGRAM
EXIT-PROGRAM.
MOVE "Failed" TO LOGMSG-TEXT.
PERFORM DO-USERLOG.
SET TPFAIL TO TRUE.
COPY TPRETURN REPLACING
DATA-REC BY STRING-DATA.
Thanks & Regards,
Janani.
Maybe you are looking for
-
RAM issues after installation (Late 2009 iMac)
I was trying to upgrade a late 2009 iMac computer from its original RAM of 4GB. I purchased 8GB of memory from Corsair off Amazon (http://www.amazon.com/Corsair-Channel-204-Pin-SO-DIMM-CMSA8GX3M2A1066C7/dp/B0050 5EZYW/ref=sr_1_6?ie=UTF8&qid=140320129
-
Signing with Smart Card (PKCS#11)
I'm trying to sign my .jar with ActivCard smart card and jarsigner.exe, but I got NullPointerException. I have succeeded to get list of certificates present on smart card. Is there better PKCS#11 provider then sun.security.pkcs11.SunPKCS11?
-
How can u insert and retrieve text files in any format using forms6i.
how can u insert and retrieve text files in any format using forms6i. can u give me an example of an insert statement, let's assume the file is located in the a:drive. and retrieving the files, i would give the user a list of all the files that are i
-
my ipod wont turn on, it wont turn on when you plug it in to charge it, and it wont turn on when i plug it into my computer it doesnt do anything. anyone have any suggestions how what to do?
-
WHy does it take so long to send photos taken on Ipad to another email address. Some have taken 10 hours?????