WTC example...
Hello, I'm trying to deploy in weblogic WTC. Anyone know where I can download the examples documented in order to test BEA Tuxedo services?. In BEA were called "wtc_toupper.jar" ...
Check here for the quick start guide:
http://download.oracle.com/docs/cd/E14571_01/web.1111/e13756/toc.htm
Check here for an older sample that still hopefully works:
http://www.oracle.com/technology/sample_code/products/tuxedo/index.html
Similar Messages
-
Can't configure WTC domai with ant
Greetings,
Have the following ant build file sequence:
<java classname="weblogic.Admin">
<arg line="${mbeanargs} SET -mbean cofaceDomain:Name=WtcService,Type=WTCServer
-property Targets cofaceDomain:Name=cofaceServer,Type=Server"/>
</java>
It raises the following exception:
[java] Error thrown by the setAttribute weblogic.management.internal.WebLog
icAttribute@2082173method of the Dynamic MBean
Any sugestion would be higky apreciated. Many thanks in advance,
NicolasNicolas,
Some thougts... Look at the WTC examples and examine their ant scripts. Try
using the CREATE option instead of the SET option.
Regards,
Todd
"nicolas duminil" <[email protected]> wrote:
>
Greetings,
Have the following ant build file sequence:
<java classname="weblogic.Admin">
<arg line="${mbeanargs} SET -mbean cofaceDomain:Name=WtcService,Type=WTCServer
-property Targets cofaceDomain:Name=cofaceServer,Type=Server"/>
</java>
It raises the following exception:
[java] Error thrown by the setAttribute weblogic.management.internal.WebLog
icAttribute@2082173method of the Dynamic MBean
Any sugestion would be higky apreciated. Many thanks in advance,
Nicolas -
Hi,
Are there any code examples of using WTC with FML32 buffers?
The examples are using the TypedString buffer. Where does the field table fit
in?An FML32 buffer example has been added with the WLS 6.1 release of
WTC. It can be found in the samples/examples/wtc/atmi/simpFML32
directory of the WLS 6.1 distribution.
An explanation of FML field table administration can be found with the WLS 6.1
WTC documentation at:
http://e-docs.bea.com/wls/docs61/wtc_admin/index.html
Bob Finan
Barry wrote:
Hi,
Are there any code examples of using WTC with FML32 buffers?
The examples are using the TypedString buffer. Where does the field table fit
in? -
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 -
Here are some common WTC questions and answers:
Q1: What is the transaction story for WTC between WLS and Tuxedo and how
does it differ from Jolt?
A1: In version 1.0 of WTC transactions may be started in WLS and will
"infect" Tuxedo with the same transaction. That implies that there is one
and only one commit coordinator, and that is in WLS. In version 1.0 of WTC
transactions originating
in Tuxedo via WTC is not supported. In version 1.1 of WTC transactions from
Tuxedo into WLS via WTC can be used, but only in Beta mode, as we will not
have done the required QA of "inbound" transactions. In order to use
inbound transactions in WTC 1.1 you will need to turn on the use of beta
features with an attribute called "UseBetaInboundTransactions" on the WTC
Startup class
in WLS.
This differs from Jolt in that while Jolt can start transactions in Tuxedo,
these transactions are not coordinated with anything in WLS. Hence it is
impossible to do a 2 phase commit which involves WLS resources and Tuxedo
resources with Jolt. Since Jolt does not have any means of invoking WLS
services transactions in that direction do not make sense.
Q2. How does the security mapping work?
A2: WLS and Tuxedo can share the same set of users (though they may be
administered differently in the two systems) and the users can propagate
their credentials from one system to the other. For example, if John Wells
logs into WLS then the services which he invokes in Tuxedo will have all of
the ACL permissions of John Wells as defined on the Tuxedo side.
Furthermore, if Jolene User logs into Tuxedo then any resources she attempts
to access in WLS via WTC will be checked against Jolene User's rights in WLS
land.
In order to accomplish this, a few things need to be set up:
1. You must be using Tuxedo 7.1 or Tuxedo 8.0 for this to work. Tuxedo 6.5
did not have the security infrastructure necessary to make this happen.
2. In your BDMCONFIG on the Tuxedo side you will need to set ACL_POLICY and
CREDENTIAL_POLICY to "GLOBAL" for the WLS remote domain. ACL_POLICY
controls whether or not a domain accepts credentials coming from a remote
domain and CREDENTIAL_POLICY controls whether or not we send credentials to
a remote domain. (In Tuxedo 7.1 there was no CREDENTIAL_POLICY - we always
sent the credentials to the remote domain).
3. In your BDMCONFIG on the WLS side you must likewise specify <ACL_POLICY>
and <CREDENTIAL_POLICY> to be "GLOBAL."
4. On the WLS side you must also configure a <TpUsrFile> which will point
to a file of the exact same format as the tpusr file generated by the
various Tuxedo commands to add and delete users. (Which also happens to be
of the same format as the unix /etc/passwd file). WTC needs this file
because in WLS users do not have user identification numbers or group
identification numbers. Hence we need a way to map WLS users into the
standard Tuxedo UID/GID appkey.
Voila! You have now set up your system such that users logged into either
system can be given access privelidges in the other system. This is known
as single sign-on. We are currently working on a way to better integrate
the two user databases between WLS and Tuxedo, and one day we will have
single administration and single-sign on!
Q3: How is the performance of WTC?
A3: Obviously, results will vary based on your machine, CPU, application
(i.e., transactions/no transactions) etc...
However, in the performance lab here we have seen WTC perform at levels that
nearly equal Tuxedo in a similar configuration.
Q4: What fail-over/fail-back mechanisms are there in WTC?
A4: WTC has many of the same fail-over fail-back mechanisms which /T
domains had. Any service can be offered by multiple remote domains, and if
a domain link is down we will attempt all of the backup domains. In /T
domains there was a limit of three backup remote domains, but in WTC there
is no limit to the number of backup domains you can configure for a service.
Furthermore, we support the connection policies of ON_STARTUP, ON_DEMAND and
INCOMING_ONLY. If the policy is ON_STARTUP then you can also configure a
retry interval and max-retries. We will attempt to connect to ON_STARTUP
remote domains every retry interval for a maximum number of retries before
giving up. If a domain is configured as ON_STARTUP or INCOMING_ONLY and the
connection is not currently established then no services will be routed to
that remote domain.
Q5: What support features are available in WTC?
A5: WTC has a tracing feature which can be enabled dynamically. If a
customer reports a problem, support will likely ask the customer to turn
tracing on and send a log file. This tracing facility has several levels of
severity and can also help debug WTC applications. It is turned on by
setting TraceLevel in the WTC startup class. The following are the defined
levels:
10000 - TBRIDGE Input/Output
15000 - TBRIDGE extra information
20000 - Gateway Input/Output (this will trace the ATMI verbs)
25000 - Gateway extra information
50000 - JATMI Input/Output (this will trace the low-level jatmi calls)
55000 - JATMI extra information
60000 - CORBA Input/Output (this will trace CORBA calls)
65000 - CORBA extra information
Q6: Will Jolt be deprecated?
A6: No. There are some features of Jolt that are not covered by WTC. For
example, the Jolt registry API are not supported by WTC. Furthermore WTC
must run in conjunction with WLS, while Jolt can be run from Applets or from
free-standing Java applications.
Q7: What about JCA? Is WTC a JCA adapter?
A7: WTC is not a JCA adapter. JCA does not define semantics for inbound
invokations into the JCA container, but WTC allows for Tuxedo clients to
invoke WLS EJBs. However, the jATMI object interactions are based on the
JCA client model. BEA is currently evaluating several JCA strategies for
connections into Tuxedo.
Q8. What versions of Tuxedo are supported?
A8. WTC 1.0 will support Tuxedo 6.5 and Tuxedo 8.0. WTC 1.1 (which adds
CORBA support) will support Tuxedo 6.5 and Tuxedo 8.0. Soon after the
release of both of these products we will certify WTC with Tuxedo 7.1.
However, the version of Tuxedo 7.1 you will need to have will be Tuxedo 7.1
after RP 89.
Q9. What WLS Releases will be supported?
A9. WTC 1.0 will be certified on WLS 6.0 SP2, WTC 1.1 will be bundled with
WLS 6.1
Q10. How will WTC be packaged?
A10. WTC 1.0 will be a separately downloaded binary (one for unix, one for
NT) that the user will have to install and configure in his/her WLS
environment. (Configuration will consist of putting the jatmi.jar file into
the classpath (as well as the normal BDMCONFIG configuration, of course)).
WTC 1.1 will be bundled right in there with the WLS 6.1.
John Wells (Aziz)
[email protected]
[email protected]References:
http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/28f02631-2291-4f8c-875a-4fa5397536ee/
Amalaraja Fernando,
SharePoint Architect
This post is provided "AS IS" with no warrenties and confers no rights. -
Here are some common WTC questions and answers:
Q1: What is the transaction story for WTC between WLS and Tuxedo and how
does it differ from Jolt?
A1: In version 1.0 of WTC transactions may be started in WLS and will
"infect" Tuxedo with the same transaction. That implies that there is one
and only one commit coordinator, and that is in WLS. In version 1.0 of WTC
transactions originating
in Tuxedo via WTC is not supported. In version 1.1 of WTC transactions from
Tuxedo into WLS via WTC can be used, but only in Beta mode, as we will not
have done the required QA of "inbound" transactions. In order to use
inbound transactions in WTC 1.1 you will need to turn on the use of beta
features with an attribute called "UseBetaFeatures" on the WTC Startup class
in WLS.
This differs from Jolt in that while Jolt can start transactions in Tuxedo,
these transactions are not coordinated with anything in WLS. Hence it is
impossible to do a 2 phase commit which involves WLS resources and Tuxedo
resources with Jolt. Since Jolt does not have any means of invoking WLS
services transactions in that direction do not make sense.
Q2. How does the security mapping work?
A2: WLS and Tuxedo can share the same set of users (though they may be
administered differently in the two systems) and the users can propagate
their credentials from one system to the other. For example, if John Wells
logs into WLS then the services which he invokes in Tuxedo will have all of
the ACL permissions of John Wells as defined on the Tuxedo side.
Furthermore, if Jolene User logs into Tuxedo then any resources she attempts
to access in WLS via WTC will be checked against Jolene User's rights in WLS
land.
In order to accomplish this, a few things need to be set up:
1. You must be using Tuxedo 7.1 or Tuxedo 8.0 for this to work. Tuxedo 6.5
did not have the security infrastructure necessary to make this happen.
2. In your BDMCONFIG on the Tuxedo side you will need to set ACL_POLICY and
CREDENTIAL_POLICY to "GLOBAL" for the WLS remote domain. ACL_POLICY
controls whether or not a domain accepts credentials coming from a remote
domain and CREDENTIAL_POLICY controls whether or not we send credentials to
a remote domain. (In Tuxedo 7.1 there was no CREDENTIAL_POLICY - we always
sent the credentials to the remote domain).
3. In your BDMCONFIG on the WLS side you must likewise specify <ACL_POLICY>
and <CREDENTIAL_POLICY> to be "GLOBAL."
4. On the WLS side you must also configure a <TpUsrFile> which will point
to a file of the exact same format as the tpusr file generated by the
various Tuxedo commands to add and delete users. (Which also happens to be
of the same format as the unix /etc/passwd file). WTC needs this file
because in WLS users do not have user identification numbers or group
identification numbers. Hence we need a way to map WLS users into the
standard Tuxedo UID/GID appkey.
Voila! You have now set up your system such that users logged into either
system can be given access privelidges in the other system. This is known
as single sign-on. We are currently working on a way to better integrate
the two user databases between WLS and Tuxedo, and one day we will have
single administration and single-sign on!
Q3: How is the performance of WTC?
A3: Obviously, results will vary based on your machine, CPU, application
(i.e., transactions/no transactions) etc...
However, in the performance lab here we have seen WTC perform at levels that
nearly equal Tuxedo in a similar configuration. The performance is equal to
or better than Jolt, and will scale much better than Jolt because of the
concentration of network bandwidth.
Q4: What fail-over/fail-back mechanisms are there in WTC?
A4: WTC has many of the same fail-over fail-back mechanisms which /T
domains had. Any service can be offered by multiple remote domains, and if
a domain link is down we will attempt all of the backup domains. In /T
domains there was a limit of three backup remote domains, but in WTC there
is no limit to the number of backup domains you can configure for a service.
Furthermore, we support the connection policies of ON_STARTUP, ON_DEMAND and
INCOMING_ONLY. If the policy is ON_STARTUP then you can also configure a
retry interval and max-retries. We will attempt to connect to ON_STARTUP
remote domains every retry interval for a maximum number of retries before
giving up. If a domain is configured as ON_STARTUP or INCOMING_ONLY and the
connection is not currently established then no services will be routed to
that remote domain.
Q5: What support features are available in WTC?
A5: WTC has a tracing feature which can be enabled dynamically. If a
customer reports a problem, support will likely ask the customer to turn
tracing on and send a log file. This tracing facility has several levels of
severity and can also help debug WTC applications. It is turned on by
setting TraceLevel in the WTC startup class. The following are the defined
levels:
10000 - TBRIDGE Input/Output
15000 - TBRIDGE extra information
20000 - Gateway Input/Output (this will trace the ATMI verbs)
25000 - Gateway extra information
50000 - JATMI Input/Output (this will trace the low-level jatmi calls)
55000 - JATMI extra information
60000 - CORBA Input/Output (this will trace CORBA calls)
65000 - CORBA extra information
Q6: Will Jolt be deprecated?
A6: No. There are some features of Jolt that are not covered by WTC. For
example, the Jolt registry API are not supported by WTC. Furthermore WTC
must run in conjunction with WLS, while Jolt can be run from Applets or from
free-standing Java applications.
Q7: What about JCA? Is WTC a JCA adapter?
A7: WTC is not a JCA adapter. JCA does not define semantics for inbound
invokations into the JCA container, but WTC allows for Tuxedo clients to
invoke WLS EJBs. However, the jATMI object interactions are based on the
JCA client model. BEA is currently evaluating several JCA strategies for
connections into Tuxedo.
John Wells (Aziz)
[email protected]
[email protected]Q8. What versions of Tuxedo are supported?
A8. WTC 1.0 will support Tuxedo 6.5 and Tuxedo 8.0. WTC 1.1 (which adds
CORBA support) will support Tuxedo 6.5 and Tuxedo 8.0. Soon after the
release of both of these products we will certify WTC with Tuxedo 7.1.
However, the version of Tuxedo 7.1 you will need to have will be Tuxedo 7.1
after a certain patch level, which I don't know the number of yet. I will
attempt to keep the public informed about which patch level will be required
in Tuxedo 7.1
Q9. What WLS Releases will be supported?
A9. WTC 1.0 will be certified on WLS 6.0 SP2, WTC 1.1 will be bundled with
WLS SilverSword release (6.1?)
Q10. How will WTC be packaged?
A10. WTC 1.0 will be a separately downloaded binary (one for unix, one for
NT) that the user will have to install and configure in his/her WLS
environment. (Configuration will consist of putting the jatmi.jar file into
the classpath (as well as the normal BDMCONFIG configuration, of course)).
WTC 1.1 will be bundled right in there with the WLS SilverSword release.
Q11. When will WTC go live (no more beta)?
A11. This is a question for Jeff Cutler, but my impression is that WTC 1.0
will be shipped in the same time-frame as the Tuxedo 8.0 release and
obviously (see A10) WTC 1.1 will be shipped with WLS SilverSword.
John Wells (Aziz)
[email protected] -
Hi, I am evaluating the weblogic 6.1 server. I have posted my question to
support.bea.com and weblogic.developer.interest.wtc but no reply. Thank you.
Problem description
I used Server - Sparc 20(32bit kernel) with 512 MB RAM and 1GB swap space to
install Weblogic server 6.1 sp1.
What I need to do is to connect Weblogic with our existing Tuxedo 6.5 or
vice versa. In order to test the connection between the two products, I will
call TOUPPER at TUXEDO 6.5.
I followed the document from
/wls/samples/examples/wtc/atmi/simpapp/package-summary.html to configure
WTC. When I run "run.sh aaa", below error message displayed:
setSessionContext called
ejbCreate called
toupper called, converting aaa
About to call tpcall
tpcall threw TPException TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could
not get a Tuxedo session
below are the configuration files for your reference:
ubbconfig
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
IPCKEY 41828
#Example:
#IPCKEY 123456
#DOMAINID simpapp
MASTER REL4_DC
MAXACCESSERS 50
MAXSERVERS 25
MAXSERVICES 50
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="/software/tuxedo6.5/sunos53.sc30/apps/simpapp"
TUXCONFIG="/software/tuxedo6.5/sunos53.sc30/apps/simpapp/tuxconf
ig"
TUXDIR="/software/tuxedo6.5/sunos53.sc30"
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
"itdrnd01" LMID="REL4_DC"
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID="REL4_DC" GRPNO=1 OPENINFO=NONE
GROUP2
LMID="REL4_DC" GRPNO=2 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
DMADM SRVGRP=GROUP2 SRVID=1
GWADM SRVGRP=GROUP2 SRVID=2
GWTDOMAIN SRVGRP=GROUP2 SRVID=3
*SERVICES
TOUPPER
dmconfig
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
txndom01 GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="REL4_DC"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGDEV="/software/tuxedo6.5/sunos53.sc30/apps/simpapp/DMTLOG"
AUDITLOG="/software/tuxedo6.5/sunos53.sc30/apps/simpapp/AUDITLOG"
DMTLOGNAME="DMTLOG"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
#txndom01 NWADDR="0x0002a3660a610232"
txndom01 NWADDR="//10.97.2.50:41830"
NWDEVICE="/dev/tcp"
#TDOM2 NWADDR="0x00021b590a610236"
TDOM2 NWADDR="//10.97.2.54:7007"
NWDEVICE="/dev/tcp"
*DM_REMOTE_SERVICES
TOLOWER RDOM="TDOM2"
bdmconfig.xml
<?xml version="1.0"?>
<!DOCTYPE WTC_CONFIG SYSTEM
"file:/software/bea/wlserver6.1/config/wlsdomain/wtc
_config.dtd">
<!--Java and XML-->
<WTC_CONFIG>
<BDMCONFIG>
<T_DM_LOCAL_TDOMAIN AccessPoint="TDOM2">
<WlsClusterName>Coolio</WlsClusterName>
<AccessPointId>TDOM2</AccessPointId>
<Type>TDOMAIN</Type>
<Security>NONE</Security>
<ConnectionPolicy>ON_DEMAND</ConnectionPolicy>
<BlockTime>30</BlockTime>
<NWAddr>//10.97.2.54:7007</NWAddr>
<!-- Example address: //wlsdomain.com:20304 -->
</T_DM_LOCAL_TDOMAIN>
<T_DM_REMOTE_TDOMAIN AccessPoint="txndom01">
<LocalAccessPoint>TDOM2</LocalAccessPoint>
<AccessPointId>REL4_DC</AccessPointId>
<Type>TDOMAIN</Type>
<NWAddr>//10.97.2.50:41830</NWAddr>
<Interoperate>Yes</Interoperate>
<!-- Example address: //wlsdomain.com:20305 -->
</T_DM_REMOTE_TDOMAIN>
<T_DM_EXPORT ResourceName="TOLOWER"
LocalAccessPoint="TDOM2">
<EJBName>tuxedo.services.TOLOWERHome</EJBName>
</T_DM_EXPORT>
<T_DM_IMPORT
ResourceName="TOUPPER"
LocalAccessPoint="TDOM2"
RemoteAccessPointList="txndom01">
<TranTime>600</TranTime>
</T_DM_IMPORT>
</BDMCONFIG>
</WTC_CONFIG>Hi.
First, I'll say that I know very little about WTC. However, from the following
link I don't know that WTC is supported with WLS 6.1:
http://e-docs.bea.com/wtc/wtc10/notes/WTC_ReleaseNotes_New.html#1109022
This link says it's only supported with WLS 6.0 sp2. I suggest you download
this version and try again. If you are still having problems then you should
open a case with support.
Regards,
Michael
Neo Gigs wrote:
Hi, I am evaluating the weblogic 6.1 server. I have posted my question to
support.bea.com and weblogic.developer.interest.wtc but no reply. Thank you.
Problem description
I used Server - Sparc 20(32bit kernel) with 512 MB RAM and 1GB swap space to
install Weblogic server 6.1 sp1.
What I need to do is to connect Weblogic with our existing Tuxedo 6.5 or
vice versa. In order to test the connection between the two products, I will
call TOUPPER at TUXEDO 6.5.
I followed the document from
/wls/samples/examples/wtc/atmi/simpapp/package-summary.html to configure
WTC. When I run "run.sh aaa", below error message displayed:
setSessionContext called
ejbCreate called
toupper called, converting aaa
About to call tpcall
tpcall threw TPException TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could
not get a Tuxedo session
below are the configuration files for your reference:
ubbconfig
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
IPCKEY 41828
#Example:
#IPCKEY 123456
#DOMAINID simpapp
MASTER REL4_DC
MAXACCESSERS 50
MAXSERVERS 25
MAXSERVICES 50
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="/software/tuxedo6.5/sunos53.sc30/apps/simpapp"
TUXCONFIG="/software/tuxedo6.5/sunos53.sc30/apps/simpapp/tuxconf
ig"
TUXDIR="/software/tuxedo6.5/sunos53.sc30"
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
"itdrnd01" LMID="REL4_DC"
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID="REL4_DC" GRPNO=1 OPENINFO=NONE
GROUP2
LMID="REL4_DC" GRPNO=2 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
DMADM SRVGRP=GROUP2 SRVID=1
GWADM SRVGRP=GROUP2 SRVID=2
GWTDOMAIN SRVGRP=GROUP2 SRVID=3
*SERVICES
TOUPPER
dmconfig
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
txndom01 GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="REL4_DC"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGDEV="/software/tuxedo6.5/sunos53.sc30/apps/simpapp/DMTLOG"
AUDITLOG="/software/tuxedo6.5/sunos53.sc30/apps/simpapp/AUDITLOG"
DMTLOGNAME="DMTLOG"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
#txndom01 NWADDR="0x0002a3660a610232"
txndom01 NWADDR="//10.97.2.50:41830"
NWDEVICE="/dev/tcp"
#TDOM2 NWADDR="0x00021b590a610236"
TDOM2 NWADDR="//10.97.2.54:7007"
NWDEVICE="/dev/tcp"
*DM_REMOTE_SERVICES
TOLOWER RDOM="TDOM2"
bdmconfig.xml
<?xml version="1.0"?>
<!DOCTYPE WTC_CONFIG SYSTEM
"file:/software/bea/wlserver6.1/config/wlsdomain/wtc
_config.dtd">
<!--Java and XML-->
<WTC_CONFIG>
<BDMCONFIG>
<T_DM_LOCAL_TDOMAIN AccessPoint="TDOM2">
<WlsClusterName>Coolio</WlsClusterName>
<AccessPointId>TDOM2</AccessPointId>
<Type>TDOMAIN</Type>
<Security>NONE</Security>
<ConnectionPolicy>ON_DEMAND</ConnectionPolicy>
<BlockTime>30</BlockTime>
<NWAddr>//10.97.2.54:7007</NWAddr>
<!-- Example address: //wlsdomain.com:20304 -->
</T_DM_LOCAL_TDOMAIN>
<T_DM_REMOTE_TDOMAIN AccessPoint="txndom01">
<LocalAccessPoint>TDOM2</LocalAccessPoint>
<AccessPointId>REL4_DC</AccessPointId>
<Type>TDOMAIN</Type>
<NWAddr>//10.97.2.50:41830</NWAddr>
<Interoperate>Yes</Interoperate>
<!-- Example address: //wlsdomain.com:20305 -->
</T_DM_REMOTE_TDOMAIN>
<T_DM_EXPORT ResourceName="TOLOWER"
LocalAccessPoint="TDOM2">
<EJBName>tuxedo.services.TOLOWERHome</EJBName>
</T_DM_EXPORT>
<T_DM_IMPORT
ResourceName="TOUPPER"
LocalAccessPoint="TDOM2"
RemoteAccessPointList="txndom01">
<TranTime>600</TranTime>
</T_DM_IMPORT>
</BDMCONFIG>
</WTC_CONFIG>--
Michael Young
Developer Relations Engineer
BEA Support -
Hi,
I'a new with tuxedo and I have to test the integration between weblogic integration(weblogic8.1) and the bea tuxedo product.
I've installed the bea tuxedo(9) and run the qsample example.
This one is ok. What I want to test now is the functionality with wtc to post message from jms to tuxedo queue and receive messages from tuxedo queue to jms.
I've configured the wtc connector with the Bridge and 2 redirections. I've also changed the ubbconfig file in order to add the dmadm, gwadm and gwtdomain. I've also created the dmconfig file. All seems to be ok.
But when I try to post a message on the jms queue, I received a message error and the message is enqueued to the jms error queue. The message is :
<cgServer> <Thread-11> <<WLS Kernel>> <> <BEA-180046> </tBexec/jmsQ2tuxQ/t#1 TPException explanation: TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could not find service QSPACE>
After reading and rereading the documentation on the gateway and wtc, I still don't understand what's wrong with the config.
Has anyone an idea?
Thanks,
Rodrigue
here is the ubbconfig :
*RESOURCES
IPCKEY 52617
DOMAINID qsample
MASTER SITE1
MAXACCESSERS 100
MAXSERVERS 50
MODEL SHM
*MACHINES
BOROMIR
LMID = SITE1
TUXDIR ="c:\beatuxedo\tuxedo9.0"
TUXCONFIG = "C:\beatuxedo\test\qssampdir\tuxconfig"
TLOGDEVICE ="C:\beatuxedo\test\qssampdir\TLOG"
TLOGSIZE=10
APPDIR = "C:\beatuxedo\test\qssampdir"
ULOGPFX = "C:\beatuxedo\test\qssampdir\ULOG"
# On Windows NT replace '/' character with '\' in paths.
# So use instead:
# TUXCONFIG = "<full path of APPDIR>\tuxconfig"
# TLOGDEVICE ="<full path of APPDIR>\TLOG"
# ULOGPFX = "<full path of APPDIR>\ULOG"
*GROUPS
DMADMGRP
LMID = SITE1
GRPNO=3
GWGROUP
LMID = SITE1
GRPNO=4
GROUP1
LMID = SITE1 GRPNO = 1
TMSNAME=TMS TMSCOUNT=2
QUE1
LMID = SITE1 GRPNO = 2
TMSNAME = TMS_QM TMSCOUNT = 2
OPENINFO = "TUXEDO/QM:C:\beatuxedo\test\qssampdir\QUE;QSPACE"
# For Windows NT delete previous line, uncomment next line
# OPENINFO = "TUXEDO/QM:<full path of APPDIR>\QUE;QSPACE"
*SERVERS
DEFAULT: CLOPT="-A"
server SRVGRP=GROUP1 SRVID=2
DMADM
SRVGRP=DMADMGRP
SRVID=4
REPLYQ=N
RESTART=Y
GRACE=0
GWADM
SRVGRP=GWGROUP
SRVID=5
REPLYQ=N
GWTDOMAIN
SRVGRP=GWGROUP
SRVID=6
CLOPT = "-A -- -s"
TMQUEUE
SRVGRP = QUE1 SRVID = 2
GRACE = 0 RESTART = Y CONV = N MAXGEN=10
CLOPT = "-s QSPACE:TMQUEUE -- "
TMQFORWARD
SRVGRP=QUE1 SRVID= 7 GRACE=0 RESTART=Y CONV=N MAXGEN=10
CLOPT="-- -i 2 -q STRING"
*SERVICES
The dmconfig :
*DM_LOCAL
LOCAL1 GWGRP=GWGROUP
TYPE=TDOMAIN
ACCESSPOINTID="qsample"
*DM_REMOTE
REMOT1 TYPE=TDOMAIN
ACCESSPOINTID="PLDAAccessPoint"
*DM_EXPORT
QSPACE LACCESSPOINT=LOCAL1
CONV=N
RNAME=QSPACE
STRING LACCESSPOINT=LOCAL1
CONV=N
RNAME=STRING
*DM_TDOMAIN
LOCAL1 NWADDR="//192.168.1.105:3051"
REMOT1 NWADDR="//192.168.1.102:7003"
part of the config.xml :
<WTCServer DeploymentOrder="3000" Name="PldaWTC Service" Targets="cgServer">
<WTCLocalTuxDom AccessPoint="PLDAAccessPoint"
AccessPointId="PLDAAccessPoint" ConnectionPolicy="ON_DEMAND"
NWAddr="//192.168.1.102:7003" Name="WTCLocalTuxDom-1128428553157"/>
<WTCtBridgeGlobal DeliveryModeOverride="PERSIST"
JmsFactory="weblogic.jws.jms.QueueConnectionFactory"
JndiFactory="weblogic.jndi.WLInitialContextFactory"
Name="WTCtBridgeGlobal-1128428647252"
TuxFactory="tuxedo.services.TuxedoConnection" WlsErrorDestination="javax.jms.TuxedoErrorQueue"/>
<WTCtBridgeRedirect Direction="JmsQ2TuxQ"
Name="JmsQ2TuxQRedirection" SourceAccessPoint=""
SourceName="javax.jms.TuxedoSenderQueue"
TargetAccessPoint="qsample" TargetName="STRING" TargetQspace="QSPACE"/>
<WTCRemoteTuxDom AccessPoint="qsample" AccessPointId="qsample"
AllowAnonymous="true" ConnectionPolicy="ON_DEMAND"
LocalAccessPoint="PLDAAccessPoint"
NWAddr="//192.168.1.105:3051" Name="WTCRemoteTuxDom-1128462130197"/>
<WTCtBridgeRedirect Direction="TuxQ2JmsQ"
Name="TuxQ2JmsQRedirection" SourceAccessPoint="qsample"
SourceName="RPLYQ" SourceQspace="QSPACE"
TargetAccessPoint="" TargetName="javax.jms.TuxedoReceiverQueue"/>
</WTCServer>Yes, I use TMQFORWARD. In the jmsQ2TuxQ(a part of the WTC configuration for bridge), I've put as:
reply queue : RPLYQ(a queue that I've created on QSPACE), target Qspace : QSPACE(the name of the qspace on the remote domain)
and as Queue name : STRING(which is also with TMQFORWARD the name of the service).
Then I don't understand why the wtc says it doesn't find the
QSPACE service. Why it doesn't search the STRING service?
In which config file is the error(in the ubbconfig?)?
Thanks -
What the best way to call twenty tuxedo domains from one weblogic server use WTC
I need to call twenty tuxedo domains from one weblogic server use
WTC. the Service be called in the twenty tuxdo domains are same, do I need to
write twenty EJB in the weblogic server to call the same service? who have good
adea to deal with this problem?Hi,
I have a question on the second case. When the client doesn't care of which
Tuxedo domain it is hitting. What happens if one of the Tux domain is down ? What
happens to the client request to that domain ?
Another question is lets say i have a Tuxedo configuration as MP mode( Multi
machine mode) how does WTC load balance between the Tuxedo domains.
Thanks,
Srinivas
"A. Honghsi Lo" <[email protected]> wrote:
Hi xcjing,
One way to handle your needs is to use local service name to remote
reservice name translation. For instance,
(in 6.1,6.0 WLS)
<T_DM_IMPORT ResourceName="TOUPPER1" LocalAccessPoint="WTC"
RemoteAccessPointList="TUX-DOM1">
<RemoteName>TOUPPER</RemoteName>
</T_DM_IMPORT>
<T_DM_IMPORT ResourceName="TOUPPER2" LocalAccessPoint="WTC"
RemoteAccessPointList="TUX-DOM2">
<RemoteName>TOUPPER</RemoteName>
</T_DM_IMPORT>
<T_DM_IMPORT ResourceName="TOUPPER3" LocalAccessPoint="WTC"
RemoteAccessPointList="TUX-DOM3">
<RemoteName>TOUPPER</RemoteName>
</T_DM_IMPORT>
etc
With this configuration if your client have to call "TOUPPER" service
in
TUX-DOM1 then you code your client to call "TOUPPER1" and the request
will be routed to TUX-DOM1. The same way for request has to go to
TUX-DOM3, your client calls "TOUPPER3" service and WTC will route it
to
TUX-DOM3. In this remote name translation you may have to write 20 EJB
although they are almost the same. However, if your EJB can analyze
your client input to decide which Remote Tuxedo Domain to send the
service request to then you probably only need one EJB.
In the case that your client does not care which remote Tuxedo Domain
provides the service then adding
<T_DM_IMPORT ResourceName="TOLOWER" LocalAccessPoint="WTC"
RemoteAccessPointList="TUX-DOM1">
<RemoteName>TOLOWER</RemoteName>
</T_DM_IMPORT>
<T_DM_IMPORT ResourceName="TOLOWER" LocalAccessPoint="WTC"
RemoteAccessPointList="TUX-DOM2">
<RemoteName>TOLOWER</RemoteName>
</T_DM_IMPORT>
<T_DM_IMPORT ResourceName="TOLOWER" LocalAccessPoint="WTC"
RemoteAccessPointList="TUX-DOM3">
<RemoteName>TOLOWEr</RemoteName>
</T_DM_IMPORT>
etc
Will load balance your client "TOLOWER" service request among your 20
remote Tuxedo Domain.
However, there is a bug in WTC that causes the Remote Service Name
translation functionality not working properly. It is fixed in the
upcoming release of WLS.
Honghsi :-)
xcjing wrote:
Thank you very much! But I still have question, give an example,
twenty Tuxedo domain is named domain1,domain2,....domain20. The
same Tuxedo Service: TOUPPER is deploy on those twenty Tuxedo domains,some time
I need call the TOUPPER Service on domain1,saome time I need call theTOUPPER
Service on domain3 or
other domain depend on the input from client. you mean I need to importThe TOUPPER
Service from twenty Tuxedo domains in the console,then write one EJBto call the
TOUPPER Service,but how can the EJB know which Tuxedo domain's TOUPPERto call
from?
Thank you!
"A. Honghsi Lo" <[email protected]> wrote:
hi xcjing,
You don't have to write 20 beans or deploy 20 beans because there
are
20
remote Tuxedo TDomain you need get the service from. Of course, WLSand
WTC does not prohibit you from doing it though. Whether you need20
beans or not depend more on you architecture.
To access 20 remote Tuxedo Domain from one single WLS with singleWTC
you can configure 20 remote Tuxedo Domain in the BDMCONFIG (6.1,6.0)
or
from the console (7.0). You import 20 services one from each remote
Tuxedo domain. You write one bean, and deploy one bean. Your WLS
clients will be able to access THE ejb, the EJB will access the WTC
service, and WTC will load balanced the service requests among the20
remote Tuxedo Domain.
Regards,
honghsi :-)
xcjing wrote:
I need to call twenty tuxedo domains from one weblogic server use
WTC. the Service be called in the twenty tuxdo domains are same,
do
I need to
write twenty EJB in the weblogic server to call the same service?
who
have good
adea to deal with this problem? -
Hi there,
Here i m trying to setup WTC where WebLogic talks to Tuxedo, but i got this error:
[java] <Feb 8, 2002 3:37:52 PM SGT> <Warning> <EJB> <EJB Deployment: Tolowe
r has a class weblogic.wtc.jatmi.TuxedoServiceHome which is in the classpath.
Th
is class should only be located in the ejb-jar file.>
[java] <Feb 8, 2002 3:37:52 PM SGT> <Warning> <EJB> <EJB Deployment: Tolowe
r has a class weblogic.wtc.jatmi.TuxedoService which is in the classpath. This
c
lass should only be located in the ejb-jar file.>
Any ideas?Couple of suggestions. This could be message mapping exception.
Example: if the target system sends happy flow good response, you have to map the response message of WSDL to your source message for mapping. Please check any problem with it. Similarly if the target system sends the fault message (application error) message you need to map that with the source side fault message to capture the response. Check that part too.
SOAPUI does not map your response message with WSDL, so you dont get that error. -
WTC call from Tuxedo gets to WebLogic but fails (WebLogic 10.0)
I set up a WTC connector and I am trying to invoke an EJB on my WebLogic server (10.0).
I followed the quick-start example from the documentation.
I enabled "debug mode" and "user data dump".
When I perform the call from Tuxedo to my EJB I see that the inbound message, but on the Tuxedo server side I get an error "can not find service TOUPPER".
What can cause this behaviour?I don't get new log messages after adding the new system property.
I'll describe the configuration I am using:
In Weblogic:
- I created a WTC server called "mySimpapp"
- I created a Local AP with name "myLocalAp", ID "TDOM2" and network address "//wlserver:12378"
- I created a remote AP named "myRemoteAp" with the ID "TDOM1", local acces point "myLocalAp"
and network address "//tuxserver:1234"
- I created an exported service named "mySimapp" with local access point "myLocalAp",
EJB name "toUpper#com.wtc.poc.ToUpperBean" and remote name "TOUPPER"
In Tuxedo, this is my DM config file:
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="TDOM1"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGDEV="/home/user1/tuxedo/dmt"
DMTLOGNAME="DMTLOG_TUXDOM"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
TDOM1 NWADDR="//tuxserver:1234"
TDOM2 NWADDR="//wlserver:12378"
*DM_REMOTE_SERVICES
TOUPPER RDOM="TDOM2"
In my WL server log file I see that the connectino was established and I see the inbound request, but then it looks like the request was discarded (nothing in the log file).
Can this information help you understand the problem?
Thanks -
hi,
i have the following( toupper( remote call from weblogic)
tolower( remote call from tuxedo)
my win machine name is bea01..
Tuxedo8.0
appdir:c:\bea\tuxedo8.1\simpapp
dom1config:*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="TDOM1"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGDEV="c:\bea\tuxedo8.1\simpapp\tlog"
DMTLOGNAME="DMTLOG_TUXDOM"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
TDOM1 NWADDR="//bea01:1234"
TDOM2 NWADDR="//bea01:2234"
*DM_REMOTE_SERVICES
TOLOWER RDOM="TDOM2"
** started tux(tmboot -y) and see all the services running
netstat -a results in the following:
i see
tcp bea01:1234 listening
**but cannot see 2234 entry
Weblogic8.1sp3
"**start Examples server...through console,
configured WTC as follows:
myLocalAp as
Access point id:TDOM2
network address: //bea01:2234
myremoteAp as
Access point id:TDOM1
local point:mylocalAp
network address: //bea01:1234
*"*tried various combinations of TDOM and accesspoint..
when i target my wtc service to examplesServer, i get:
Distributed Management [1 exceptions] startWTC failure: [WTC:180012]The LocalTDomain myLocalAp is not known.
hence cannot run samples/examples/wtc/simpapp..
therefore i get the following TuxedoConnection not found
entry when i do:
ant run.simpapp..
any help is appreciated...
thanks,,,i am using 8.1sp3 and
examples/wtc/simpapp application in wtc. quick configuration demo
dom1config is
TDOM1 NWADDR="//bea01:1234"
TDOM2 NWADDR="//bea01:2234"
( the following 2 lines r missing from WTC quick config guide)
*DM_LOCAL_SERVICES
TOUPPER LDOM="TDOM1"
*DM_REMOTE_SERVICES
TOLOWER RDOM="TDOM2"
in weblogic
LocalAp is
TDom2
//bea01:2234
RemoteAp is
TDom1
//bea01:1234
when i target Wtc-service to server..
using 8.1sp3 and tuxedo8.1
The LocalTDomain LocalAp is not known err....
ok, i configure
LocalAp is
TDom2
//xx.xx.xx.xx:2234
still doesnot work....
restart weblogic...
same error.. -
ThankS Bob, now Well I try, .. I have:Tuxedo 6.5, and in wtc_admin.pdf, says that:
User Authenticaion for Tuxedo 6.5,... "Tuxedo 6.5 users should set the Interoperate
parameter to Yes.TheAclPolicy and CredentialPolicy elements are ignored and the Tuxedo
remote domain DOMAINID is authenticated as a local WebLogic Server user. If you require
User Security features and use the WebLogic Tuxedo Connector, you will need to upgrade
to Tuxedo 7.1 or higher." Therefore only I create and include in the myreal(console):
A user: TDOM1, password: weblogic, All permit -================== Follow:
I execute: F:\>java examples.wtc.atmi.simpapp.Client hola "t3://localhost:7001" weblogic
weblogic
Beginning statefulSession.Client...
Creating Toupper
converting hola tperrno encountered: TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could
not get a Tuxedo session
Start server side stack trace: TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could not
get a Tuxedo session at weblogic.wtc.gwt.TuxedoConnection.getAtmi(TuxedoConnection.java:247)
at weblogic.wtc.gwt.TuxedoConnection.tpcall(TuxedoConnection.java:1225) at examples.wtc.atmi.simpapp.ToupperBean.Toupper(ToupperBean.java:123)
at examples.wtc.atmi.simpapp.ToupperBean_8roqg7_EOImpl.Toupper(ToupperBean_8roqg7_EOImpl.java:46)
at examples.wtc.atmi.simpapp.ToupperBean_8roqg7_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.activation.ActivatableServerRef.invoke(ActivatableServerRef.java:87)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:300) at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:762)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:295) at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30) at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
End server side stack trace
End statefulSession.Client...
---------------- Above break, in the WLS70 console, the msg is: ... ####<28-may-02
22:54:31 CDT> <Debug> <WTC> <carlincillo> <examplesServer> <ExecuteThread: '8' for
queue: 'default'> <kernel identity> <> <180046> <]/TpeIn/readTuxedoMessage/30/false>
####<28-may-02 22:54:31 CDT> <Debug> <WTC> <carlincillo> <examplesServer> <ExecuteThread:
'8' for queue: 'default'> <kernel identity> <> <180046> <*]/dsession(0)/do_connect/160/Exception:java.io.EOFException>
"THE BREAK POINT:" ####<28-may-02 22:54:31 CDT> <Debug> <WTC> <carlincillo> <examplesServer>
<ExecuteThread: '8' for queue: 'default'> <kernel identity> <> <180046> <]/TDMRemoteTDomain/getTsession/70/null/TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0:Unable
to get authentication level> ####<28-may-02 22:54:31 CDT> <Debug> <WTC> <carlincillo>
<examplesServer> <ExecuteThread: '8' for queue: 'default'> <kernel identity> <> <180046>
<*]/TuxedoConnection/getAtmi/20/>
I think so, my problem is THE BREAKPOINT, How I can solve it???? MORE =========================================
(In the "View JNDI tree" Screen wls7.0 admin console page)
I have JNI tree:
examplesserver homemethods javax tuxedo --------domains ----------------(access denied)
[TDOM1 javax.naming.Reference] --------services ----------------ToupperHome ----------------TuxedoCorbaConnection
----------------TuxedoConnection
What is (access denied), it is the problem? =============== my WTC (config.xml )
<WTCServer Name="WTCsimpapp" Targets="examplesServer"> <WTCExport EJBName="tuxedo.services.TOLOWERHome"
LocalAccessPoint="TDOM2" Name="myExportedResources" ResourceName="TOLOWER"/> <WTCImport
LocalAccessPoint="TDOM2" Name="myImportedResources" RemoteAccessPointList="TDOM1"
ResourceName="TOUPPER"/> <WTCLocalTuxDom AccessPoint="TDOM2" AccessPointId="TDOM2"
ConnectionPolicy="ON_DEMAND" Interoperate="yes" NWAddr="//127.0.0.1:7003" Name="myLoclTuxDom"
Security="NONE"/> <WTCRemoteTuxDom AccessPoint="TDOM1" AccessPointId="TDOM1" LocalAccessPoint="TDOM2"
NWAddr="//127.0.0.1:3050" Name="myRTuxDom"/> </WTCServer>
Sorry Help Me!!!!
ThanksThankS Bob, now Well I try, .. I have:Tuxedo 6.5, and in wtc_admin.pdf, says that:
User Authenticaion for Tuxedo 6.5,... "Tuxedo 6.5 users should set the Interoperate
parameter to Yes.TheAclPolicy and CredentialPolicy elements are ignored and the Tuxedo
remote domain DOMAINID is authenticated as a local WebLogic Server user. If you require
User Security features and use the WebLogic Tuxedo Connector, you will need to upgrade
to Tuxedo 7.1 or higher." Therefore only I create and include in the myreal(console):
A user: TDOM1, password: weblogic, All permit -================== Follow:
I execute: F:\>java examples.wtc.atmi.simpapp.Client hola "t3://localhost:7001" weblogic
weblogic
Beginning statefulSession.Client...
Creating Toupper
converting hola tperrno encountered: TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could
not get a Tuxedo session
Start server side stack trace: TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Could not
get a Tuxedo session at weblogic.wtc.gwt.TuxedoConnection.getAtmi(TuxedoConnection.java:247)
at weblogic.wtc.gwt.TuxedoConnection.tpcall(TuxedoConnection.java:1225) at examples.wtc.atmi.simpapp.ToupperBean.Toupper(ToupperBean.java:123)
at examples.wtc.atmi.simpapp.ToupperBean_8roqg7_EOImpl.Toupper(ToupperBean_8roqg7_EOImpl.java:46)
at examples.wtc.atmi.simpapp.ToupperBean_8roqg7_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.activation.ActivatableServerRef.invoke(ActivatableServerRef.java:87)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:300) at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:762)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:295) at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30) at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
End server side stack trace
End statefulSession.Client...
---------------- Above break, in the WLS70 console, the msg is: ... ####<28-may-02
22:54:31 CDT> <Debug> <WTC> <carlincillo> <examplesServer> <ExecuteThread: '8' for
queue: 'default'> <kernel identity> <> <180046> <]/TpeIn/readTuxedoMessage/30/false>
####<28-may-02 22:54:31 CDT> <Debug> <WTC> <carlincillo> <examplesServer> <ExecuteThread:
'8' for queue: 'default'> <kernel identity> <> <180046> <*]/dsession(0)/do_connect/160/Exception:java.io.EOFException>
"THE BREAK POINT:" ####<28-may-02 22:54:31 CDT> <Debug> <WTC> <carlincillo> <examplesServer>
<ExecuteThread: '8' for queue: 'default'> <kernel identity> <> <180046> <]/TDMRemoteTDomain/getTsession/70/null/TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0:Unable
to get authentication level> ####<28-may-02 22:54:31 CDT> <Debug> <WTC> <carlincillo>
<examplesServer> <ExecuteThread: '8' for queue: 'default'> <kernel identity> <> <180046>
<*]/TuxedoConnection/getAtmi/20/>
I think so, my problem is THE BREAKPOINT, How I can solve it???? MORE =========================================
(In the "View JNDI tree" Screen wls7.0 admin console page)
I have JNI tree:
examplesserver homemethods javax tuxedo --------domains ----------------(access denied)
[TDOM1 javax.naming.Reference] --------services ----------------ToupperHome ----------------TuxedoCorbaConnection
----------------TuxedoConnection
What is (access denied), it is the problem? =============== my WTC (config.xml )
<WTCServer Name="WTCsimpapp" Targets="examplesServer"> <WTCExport EJBName="tuxedo.services.TOLOWERHome"
LocalAccessPoint="TDOM2" Name="myExportedResources" ResourceName="TOLOWER"/> <WTCImport
LocalAccessPoint="TDOM2" Name="myImportedResources" RemoteAccessPointList="TDOM1"
ResourceName="TOUPPER"/> <WTCLocalTuxDom AccessPoint="TDOM2" AccessPointId="TDOM2"
ConnectionPolicy="ON_DEMAND" Interoperate="yes" NWAddr="//127.0.0.1:7003" Name="myLoclTuxDom"
Security="NONE"/> <WTCRemoteTuxDom AccessPoint="TDOM1" AccessPointId="TDOM1" LocalAccessPoint="TDOM2"
NWAddr="//127.0.0.1:3050" Name="myRTuxDom"/> </WTCServer>
Sorry Help Me!!!!
Thanks -
Hi,
Is it really must to use WTCTuxedoBridge and tBridgeRedirect to call tuxedo services?
The problem ist that the wtc (simpapp) example use this to get the tuxedo factory:
try {
ctx = new InitialContext();
tcf = (TuxedoConnectionFactory) ctx.lookup(
"tuxedo.services.TuxedoConnection");
} catch (NamingException ne) {
// Could not get the tuxedo object, throw TPENOENT
throw new TPException(TPException.TPENOENT,
"Could not get TuxedoConnectionFactory : " + ne);
and the name "tuxedo.services.TuxedoConnection" is no where defined except in jython script in tuxq example and I do not want to use JMS, I just want to call the tuxedo service from ejb.
the name "tuxedo.services.TuxedoConnection" can be only defined with WTCtBridgeGlobal or I see it wrong?
best regards,
SasaHi Sasa,
You do not need to use tBridge to access Tuxedo services via WTC. tBridge is only needed if you want to bridge JMS to Tuxedo.
Have you configured a WTC server and deployed it to the server? I'm not certain, but I suspect the JNDI entry isn't made until the server is deployed. You should be able to find WTC sample code at: http://www.oracle.com/technology/sample_code/products/tuxedo/wtc_90.tar
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
Problem to connecte Tuxedo Service via WTC
Hello,
I'm new to WTC. I want to call a tuxedo service disposed in our serveur tuxedo by using WTC.
I created Local APs, Remote APs and Imported for this Tuxedo Service.
When I call I have always same erreur (perrno = 6) in tpcall
See below my calling webservice method
Have any one guide to avoid this problem?
Any help will be greatly appreaciated.
Thanks
@WebMethod
public void getClientInfo() {
Context ctx;
TuxedoConnection myTux;
TypedString dataIn = new TypedString("1, 10032600");
//TypedBuffer dataIn = null;
Reply rpy = null;
try{
System.out.println("getClientInfo called : " + dataIn);
TuxedoConnectionFactory tcf;
ctx = new InitialContext();
tcf = (TuxedoConnectionFactory) ctx.lookup("tuxedo.services.TuxedoConnection");
myTux = tcf.getTuxedoConnection();
System.out.println("About to call tpcall cnx = "+myTux);
rpy = myTux.tpcall("LireInfoClient_SE",null, 1);
System.out.println("tpcall successfull!");
dataIn = (TypedString) rpy.getReplyBuffer();
myTux.tpterm(); // Closing the association with Tuxedo
System.out.println("Return = "+dataIn.toString());
}catch (TPReplyException tpx) {
// Could not get the tuxedo object, throw TPENOENT
System.out.println("TPReplyException perrno = " + tpx.gettperrno()+" DETAILS "+tpx.gettperrordetail()+" getLocalizedMessage "+tpx.getLocalizedMessage()+" "+tpx.getCause());
tpx.printStackTrace();
}catch (TPException tpx1) {
// Could not get the tuxedo object, throw TPENOENT
System.out.println("TPReplyException perrno = " + tpx1.gettperrno()+" DETAILS "+tpx1.gettperrordetail()+" getLocalizedMessage "+tpx1.getLocalizedMessage()+" "+tpx1.getCause());
tpx1.printStackTrace();
}catch (NamingException ne) {
// Could not get the tuxedo object, throw TPENOENT
System.out.println("Could not get TuxedoConnectionFactory : " + ne.getMessage());
ne.printStackTrace();
}catch(Exception e){
System.out.println("Exception in getClientInfo ->"+e.getMessage());
e.printStackTrace();
return;
Output :
<getClientInfo called : 1, 10032600>
<About to call tpcall cnx = weblogic.wtc.gwt.TuxedoConnection@159d713>
<TPReplyException perrno = 6 DETAILS 0 getLocalizedMessage null null>
Edited by: user5653726 on 1 déc. 2008 04:06The tpcall function only supports an input parameter, an input buffer. In the input buffer you must send all the information the service needs. If you need send some data items you can use FML buffers, strings buffers, ... By example, with strings buffers in C:
#define NAME_LEN 16
#define LASTNAME_LEN 30
#define ADDRESS_LEN 30
#define AGE_LEN 3
typedef struct {
char name[NAME_LEN+1];
char lastname[LASTNAME_LEN+1];
char address[ADDRESS_LEN+1];
char age[AGE_LEN+1];
} persondat;
Client side:
main(int argc, char *argv[])
persondat *ptrperson;
char *sendbuff = NULL;
long sendlen = 0;
MAXBUFFIN_LEN = sizeof(persondat);
if((sendbuff = (char*)tpalloc("STRING", NULL, MAXBUFFIN_LEN+1)) == (char*)NULL) {
fprintf(stderr, "Error tpalloc(%s).\n", tpstrerror(tperrno));
tpterm();
exit(1);
ptrperson = (persondat*)sendbuff;
** Fill out the information.
sprintf(sendbuff->name, "%*s", NAME_LEN, "your name");
sprintf(sendbuff->lastname, "%*s", LASTNAME_LEN, "your lastname");
sprintf(sendbuff->address, "%*s", NAME_LEN, "your address");
sprintf(sendbuff->age, "%0*d", NAME_LEN, 37);
** Service call.
ret = tpcall("ADDPERSONSVC", (char*)sendbuff, 0, (char**)&recvbuff, &recvlen, (long)0);
if(ret == -1) {
fprintf(stderr, "Error tpcall(%s).\n", tpstrerror(tperrno));
tpterm();
exit(1);
Server side:
void ADDPERSONSVC(TPSVCINFO *rqst)
persondat *ptrperson;
ptrperson = (persondat*)rqst->data;
fprintf(fout, "Name: [%s].\n", ptrperson->name);
fprintf(fout, "Last Name: [%s].\n", ptrperson->lastname);
fprintf(fout, "Address: [%s].\n", ptrperson->address);
fprintf(fout, "Age: [%d].\n", atoi(ptrperson->age));
Regards.
Maybe you are looking for
-
Calling web service using ksoap2
Hello Friends, I am writing a Java client which uses ksoap2. I am new to web services and ksoap2. The WSDL is like this <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://micro
-
Integrating Adobe Flex in Visual Composer
Hi, I want to display a list in a tree structure and based on what was chosen on the structure, a detailed information of the item is displayed in a separate window. If you can imagine: left hand side is the tree structure and on the right is the d
-
Unposting Journals for Multiple Months
Hello, Is there a way to unpost Journals for multiple months? Through Workspace and the client, you are only able to select one month at a time. I have a need to unpost multiple journals for all 12 months ( 3 journals * 12 months = 36). This is a reo
-
Deat Arch community, I just gor xfce to work with slim (as a daemon) on startup. But as I've tried to reboot the system, it forwarded me back to my login screen. In addition, xfce4 handles every login as the very first one. Thus meaning that all my s
-
Current Skype version causes Blue Screen of Death
Whenever I install/update skype on windows 7 to the current version I get a blue screen Also I cannot use older versions because it says "Skype can't connect." Any help on either of these issues is accepted. Thanks. Solved! Go to Solution.