Correlation ID using WTC tBridge
Hi,
In Tuxedo I use a binary correlation ID so individual char values can be negative.
When the message is transmitted using TuxQ2JmsQ in tBridge and I use Message.getCorrelationIDAsBytes()
in an MDB, the resulting byte array is much shorter. It appears to be terminated
by the first negative value in the original correlation ID. How can this be addressed?
Thanks,
Richard
No direct way . Contact support.
http://social.msdn.microsoft.com/Forums/en-US/908883ad-4758-4d2a-a5fd-0861528b5487/is-there-a-way-to-look-up-a-correlationid-error-detail-without-having-to-pay-259-to-open-a-support?forum=appsforsharepoint
Bala
Similar Messages
-
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 -
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? -
Hello,
I am looking for some advice, documentation – anything regarding he best practices
for clustering between Tuxedo 8.0 and WLS 6.1 SP3 using WTC.
I have the following configuration: 5 Tuxedo servers running on five boxes, each
of them accessing 2 WLS servers. The connectivity is achieved using WTC.
I wonder what is best: to have a hardware load balance? To set up Tuxedo to that
it fails-over the other one? Do I need the two WLS instances to be clustered?
Do I need an admin server?
Cheers,
Thierry
Claudio,
WTC does not have the Fmkfldid or Fappend methods. You can open a case with
support and you may be able to get a one off patch to help your porting
experience.
(one-off because you are asking for an API change without full QA testing)
You could also write your own versions of these methods.
For example, Fappend would simply be a wrapper around Fadd which would
just use
the Fldid and object value. For Fmkfldid you would need to use
Fiterator to go through
the Fmlkeys and compare the Fldtype and Fldno of each key's Fldid with
the type and
number of your input.(There is a better way of doing this and support
may be able to give
it to you without a patch).
Bob Finan
Claudio Conti wrote:
Hi, my company is planning to port a large Tuxedo 8.0 application on WLS using
WTC.
The Tuxedo services have FML buffers built using Fmkfldid and Fappend function
and for us it is impossible to change this approach.
There is any way to use the same functions in jatmi ?
Thanks
Claudio -
How to do message correlation without using BPEL?
Can message correlation be accomplished in a JCD? I know how to do this in BPEL.
Regards.Not unless you write your own correlation processor (which eInsight gives you as part of the deal).
Think about what it is you need to accomplish and work out what Java code would be necessary to accomplish it.
Do share. I, for one, am curious :-) -
Using tBridge with Tuxedo /Q fail
when I config the tBridge example :Using tBridge with Tuxedo /Q fallow:
bea81/weblogic81/samples/server/examples/src/examples/wtc/tbridge/package-summary.html
I get a error below:
<2003-10-28 ÏÂÎç15ʱ50·Ö13Ãë GMT+08:00> <Error> <WTC> <BEA-180097> <Due to a tra
nslation error, tBridge has redirected the message to the wlsErrorDestination.>
who can tell me why??There are many ways that this error message will be sent to the WLS log.
You need to turn on the WTC tracing to get a better idea of when it is
failing. Messages from/to a JMS queue need to be converted from/to
a buffer type that is usable for the Tuxedo queue/service. Conversions
occur for STRING,FML,FML32 or CARRAY buffer types. Check to make
sure that the buffer types that your application is using, on both WLS and
TUX sides,
is consistent with the configuration settings and your expectations.
Set the trace level above 15000 for tBridge. Above 65000 will print out
all the tracing.
Bob Finan
"xcjing" <[email protected]> wrote in message
news:3f9e2134$[email protected]..
>
when I config the tBridge example :Using tBridge with Tuxedo /Q fallow:
bea81/weblogic81/samples/server/examples/src/examples/wtc/tbridge/package-su
mmary.html
>
I get a error below:
<2003-10-28 ÏÂÎç15ʱ50·Ö13Ãë GMT+08:00> <Error> <WTC> <BEA-180097> <Due toa tra
nslation error, tBridge has redirected the message to thewlsErrorDestination.>
>
who can tell me why?? -
Correlation in bpm - Difference between activating and using correlation
Hi
I would like to know the difference between between activating a correaltion and using a correlation in a step.Correlation is used when you have multiple recieve steps in the BPM to differentiate each file.
Consider your recive step is executed and the BPM is active waiting for the other file to comne in.
Before the next file comes in , if another BPM is activated becuase your recived recive1 message. Now, when the next message comes in , how does XI know which BPM instance is to be used.
Correlation is used in these cases. to corelate the messages.,
some people name their Correlation as correlation in IP. So it means using the correlation 'correlation'.
its like me creating a message interface by the name 'messageinterface' so finally i am using the message interface messageinterface !!!
Check this weblog ..
/people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
to understand it refer -
/people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
Also Ref checklist on when it is needed -
http://help.sap.com/saphelp_nw04/helpdata/en/6d/94364296f1b26be10000000a155106/content.htm
Thanks !! -
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? -
Enqueued messages with Tuxedo /Q and WTC
Hi everyone,
I have a Tuxedo /Q that through a WTC puts messages in a JMS queue in
a Weblogic. During a period with heavy load ( +- 200 messages per
second), the total messages in the destination queue starts to
increase, deprecating the application response time.
Some configurations
• The queues are in non persistent mode
• The connection policy in WTC and Tuxedo Domain is ON_STARTUP
• WTC with Retry Interval and Block Time 60, keep alive and
keep alive wait 0
• Tuxedo 8, Weblogic 10g in RedHat 5
Some analysis information
• There is available threads in the Weblogic to process the
messages, so it isn’t the problem.
• There isn’t any enqueued packets in the network between
tuxedo and Weblogic server
• There is low use of CPU and memory in all machines
I think that WTC connector hasn’t sufficient throughput to process
the messages in the destination queue.
Any suggestions????
Thanks!Hi,
If you are saying you are using a tBridge (JMS bridge component of WTC) redirection to take messages from Tuxedo /Q and place them on a JMS queue, then the problem is that only a single thread will process the redirection. In other words, a single thread is started to perform tpdequeue() operations on the Tuxedo /Q queue, and then put the message on a JMS queue. If you need more throughput than a single thread offers, you will need to add another redirection in the WTC configuration.
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
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 -
Hi buddies:
I've connected a tuxedo service through WTC, now I need to connect from AquaLogic the same tuxedo service. The question is: Do I need to have a webservice for do that?, How can I configure AquaLogic? The documentation is not quite clear.
Thanks for yours answers.
JPHi JP,
For ALSB 2.0 and 2.1 the supported way to connect to Tuxedo is via the JMS transport and the WTC tBridge. For the next release of ALSB we hope to have a native Tuxedo transport.
In terms of requiring a Web Service, this is really a matter what you are trying to accomplish. If you are trying to access a Tuxedo service via a Web Service (SOAP over HTTP) then you need to configure a Tuxedo Business service using the JMS transport as described in the documentation and as well configure an HTTP Proxy service that takes a SOAP message. Create a route from the proxy to the business service and you'll have a Web Service that invokes your Tuxedo service. If this isn't what you meant, please provide some more details as to what you are trying to accomplish.
Regards,
Todd Little
BEA Tuxedo Engineering -
Need Help on tBridge configuration
Hi Bob,
I am getting an error connecting from Tuxedo /Q to JMS Q using tBridge. I did
the BEA example and that seem to be working.
The situation is this:
I have around 414 Msg in the Tuxedo /Q. I started WLS and the tBridge tried to
pass the msg to the JMS Queue. During processing, my console has a Java Exception
coming up constantly. At the end of the run, Tuxedo /Q has 0 Msg, Jms Q has 92
Msg and JMS Error Q has 0 Msg.
Do you know what happened to the rest of the messages and do you know what this
error means? I don't know why I am getting some messages but not the other.
This is the error that comes up constantly:
javax.transaction.xa.XAException
at weblogic.wtc.gwt.TuxedoXA.internalPrepare(TuxedoXA.java:603)
at weblogic.wtc.gwt.TuxedoXA.commit(TuxedoXA.java:309)
at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourceInfo.java(Compiled
Code))
at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourceInfo.java(Compiled
Code))
at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java(Compiled
Code))
at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java(Compiled
Code))
at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java(Compiled
Code))
at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2005)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:242)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java(Compiled
Code))
at weblogic.wtc.tbridge.tBexec.tuxQ2jmsQ(tBexec.java(Compiled Code))
at weblogic.wtc.tbridge.tBexec.run(tBexec.java:196)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unknown reason - with nested exception:
[javax.transaction.xa.XAException]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1567)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:287)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:208)
at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java(Compiled
Code))
at weblogic.wtc.tbridge.tBexec.tuxQ2jmsQ(tBexec.java(Compiled Code))
at weblogic.wtc.tbridge.tBexec.run(tBexec.java:196)
My config.xml for wtc section is this:
<WTCServer Name="SdgeWTCServer" Targets="hostInterface">
<WTCImport LocalAccessPoint="TDOM2" Name="WTCImport2"
RemoteAccessPointList="TDOM3" ResourceName="PaUlQSPACE"/>
<WTCLocalTuxDom AccessPoint="TDOM2" AccessPointId="TDOM2"
ConnectionPolicy="ON_DEMAND" NWAddr="//ibm5app2:8544" Name="WTCLocal
TuxDom"/>
<WTCRemoteTuxDom AccessPoint="TDOM3" AccessPointId="TDOM3"
ConnectionPolicy="ON_STARTUP" LocalAccessPoint="TDOM2"
NWAddr="//ibm5app2:8543" Name="WTCRemoteTuxDom"/>
<WTCtBridgeGlobal JmsFactory="weblogic.jms.ConnectionFactory"
JndiFactory="weblogic.jndi.WLInitialContextFactory"
Name="sdgeWTCtBridgeGlobal"
TuxFactory="tuxedo.services.TuxedoConnection" WlsErrorDestination="w
eblogic.jms.errorQueue"/>
<WTCtBridgeRedirect Direction="TuxQ2JmsQ"
Name="WTCtBridgeRedirect-1060903830348"
SourceAccessPoint="TDOM2" SourceName="DefaultCIS0"
SourceQspace="PaUlQSPACE" TargetName="weblogic.jms.OutboundQueue"/>
</WTCServer>
My dmconfig is this:
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM3 GWGRP=LGWGRP
TYPE=TDOMAIN
DOMAINID="TDOM3"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGNAME="DMTLOG_TDOM3"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
TDOM3 NWADDR="//ibm5app2:8543"
TDOM2 NWADDR="//ibm5app2:8544"
*DM_REMOTE_SERVICES
Thanks again!
BongyHi Bob,
Thanks for your help. The BEA tech support has also helped me on this issue.
It turns out that my DMTLOG was not setup correctly therefore the transaction
was not able to comit on Tuxedo side. However, there was no error on the ULOG.
Thanks for the help.
Bongy
"Bob Finan" <[email protected]> wrote:
Bongy,
This is a transaction rollback excepiption. Within the tuxQ2jmsQ operation
a transaction is begun/committed/rollbacked. You need to see what problem
is occuring with prior to the first occurenc of this rollback exception.
Check
all the logs for errors. You can turn on WTC tracing but I think the
problem
is extraneous to WTC. Make sure you check the Tuxedo side ulog. The
messages that could not be committed to the JMS queue should have been
rolled back to the Tuxedo side and you should see them on that side's
error
queue at least.
Bob
"Bongy" <[email protected]> wrote in message
news:[email protected]...
Hi Bob,
I am getting an error connecting from Tuxedo /Q to JMS Q using tBridge.I
did
the BEA example and that seem to be working.
The situation is this:
I have around 414 Msg in the Tuxedo /Q. I started WLS and the tBridgetried to
pass the msg to the JMS Queue. During processing, my console has aJava
Exception
coming up constantly. At the end of the run, Tuxedo /Q has 0 Msg,Jms Q
has 92
Msg and JMS Error Q has 0 Msg.
Do you know what happened to the rest of the messages and do you knowwhat
this
error means? I don't know why I am getting some messages but not theother.
This is the error that comes up constantly:
javax.transaction.xa.XAException
at weblogic.wtc.gwt.TuxedoXA.internalPrepare(TuxedoXA.java:603)
at weblogic.wtc.gwt.TuxedoXA.commit(TuxedoXA.java:309)
atweblogic.transaction.internal.ServerResourceInfo.commit(ServerResourceInfo.j
ava(Compiled
Code))
atweblogic.transaction.internal.ServerResourceInfo.commit(ServerResourceInfo.j
ava(Compiled
Code))
atweblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java(Com
piled
Code))
atweblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransa
ctionImpl.java(Compiled
Code))
atweblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(Server
TransactionImpl.java(Compiled
Code))
atweblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTrans
actionImpl.java:2005)
atweblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:242)
atweblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:208)
atweblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java(Compiled
Code))
at weblogic.wtc.tbridge.tBexec.tuxQ2jmsQ(tBexec.java(CompiledCode))
at weblogic.wtc.tbridge.tBexec.run(tBexec.java:196)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unknown reason - with nestedexception:
[javax.transaction.xa.XAException]
atweblogic.transaction.internal.TransactionImpl.throwRollbackException(Transac
tionImpl.java:1567)
atweblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:287)
atweblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:208)
atweblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java(Compiled
Code))
at weblogic.wtc.tbridge.tBexec.tuxQ2jmsQ(tBexec.java(CompiledCode))
at weblogic.wtc.tbridge.tBexec.run(tBexec.java:196)
My config.xml for wtc section is this:
<WTCServer Name="SdgeWTCServer" Targets="hostInterface">
<WTCImport LocalAccessPoint="TDOM2" Name="WTCImport2"
RemoteAccessPointList="TDOM3" ResourceName="PaUlQSPACE"/>
<WTCLocalTuxDom AccessPoint="TDOM2" AccessPointId="TDOM2"
ConnectionPolicy="ON_DEMAND" NWAddr="//ibm5app2:8544"Name="WTCLocal
TuxDom"/>
<WTCRemoteTuxDom AccessPoint="TDOM3" AccessPointId="TDOM3"
ConnectionPolicy="ON_STARTUP" LocalAccessPoint="TDOM2"
NWAddr="//ibm5app2:8543" Name="WTCRemoteTuxDom"/>
<WTCtBridgeGlobal JmsFactory="weblogic.jms.ConnectionFactory"
JndiFactory="weblogic.jndi.WLInitialContextFactory"
Name="sdgeWTCtBridgeGlobal"
TuxFactory="tuxedo.services.TuxedoConnection"WlsErrorDestination="w
eblogic.jms.errorQueue"/>
<WTCtBridgeRedirect Direction="TuxQ2JmsQ"
Name="WTCtBridgeRedirect-1060903830348"
SourceAccessPoint="TDOM2" SourceName="DefaultCIS0"
SourceQspace="PaUlQSPACE"TargetName="weblogic.jms.OutboundQueue"/>
</WTCServer>
My dmconfig is this:
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM3 GWGRP=LGWGRP
TYPE=TDOMAIN
DOMAINID="TDOM3"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGNAME="DMTLOG_TDOM3"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
TDOM3 NWADDR="//ibm5app2:8543"
TDOM2 NWADDR="//ibm5app2:8544"
*DM_REMOTE_SERVICES
Thanks again!
Bongy -
Tuxedo queues to configure to weblogic WTC
Hi I am trying to create queues in the tuxedo config .I have the following configurations in my ubb file.
UBB
+++
*GROUPS
OS_WT_GP1 LMID="TX_MAS" GRPNO=110
*SERVERS
GWADM SRVGRP=OS_WT_GP1 SRVID=2
GWTDOMAIN SRVGRP=OS_WT_GP1 SRVID=3
redirect SRVGRP=OS_WT_GP1 SRVID=500 REPLYQ=Y RQADDR=SERVER1_Q1 MIN=1 MAX=2
CLOPT="-A -- -s CHECKSERVICE"
redirect SRVGRP=OSB_WTC_GP1 SRVID=510 REPLYQ=Y RQADDR=SERVER1_Q2 MIN=1 MAX=2
CLOPT="-A -- -s CHECKSERVICE"
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I have the following entries in the DMC file to make the calls to contact the WTC.
DMC
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*DM_LOCAL_DOMAINS
TUXOS_DOM_1
GWGRP=OS_WT_GP1
TYPE=TDOMAIN
ACCESSPOINTID="TUXOS_DOM_1"
DMTLOGNAME="DMTLOG"
SECURITY=NONE
CONNECTION_POLICY=ON_STARTUP
*DM_REMOTE_DOMAINS
OS_DOM_1
TYPE=TDOMAIN
ACCESSPOINTID="OSDOM_1"
*DM_TDOMAIN
TUXOS_DOM_1
NWADDR="<IP:PORT NO>"
OS_DOM_1
NWADDR="<IP:PORT NO>"
LACCESSPOINT="TUXOS_DOM_1"
*DM_IMPORT
CHECKSERVICE
AUTOTRAN=N
RNAME="checkserviceresult"
RACCESSPOINT=OS_DOM_1
LACCESSPOINT=TUXOS_DOM_1
I am trying to contact from machine A to Machine B using tuxedo. The machine B is weblogic server
1)I would like to know if we can create queues in the tuxedo service and same can be configured in the WTC of weblogic
2)If yes, I would like to know the configurations required on the weblogic side to address the different queues mentioned in the UBB file
Thanks in advanceHi,
Your post is a little confusing as I'm not sure what you mean by the term "queue". If you want to call a WTC based EJB in WLS, then what you have on the Tuxedo side looks OK. On the WLS side you will need to create a WTC server instance, add the appropriate local domain and remote domain, and then add an export. Both the Tuxedo and WLS documentation describes how to do this.
If by queue you mean a Tuxedo /Q and/or JMS queue, then you need to configure the WTC tBridge. The tBridge provides a JMS bridge that can:
1) Take entries off of a JMS queue and call a Tuxedo service and place the reply on another JMS queue
2) Take entries off of a JMS and place them on a Tuxedo /Q queue
3) Take entries off of a Tuxedo /Q queue and place them on a JMS queue
If you can provide a little more information or details, I can give you a more definitive answer.
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
Hi,
I need some help in configuring tBridge. we have WLS 8.1 in one machine and Tuxedo 8.1 server in other machine. We connect to Tuxido server from Weblogic through Jolt connection. We are planning to use tBridge with WTC for one of our requirements. Basically We want to pass messages from Tuxedo Q to JMS Q through tBridge(TuxQt2JmsQ) asynchronosly.
My first query is can we use WTC and JOLT connector both from the same Weblogic server to connect to Tuxedo?.
When I was trying config WTC from WLS Admin console it is asking for Local access point and Remote accee point where my remote accee point is Tuxedo listener port that I use for our jolt connection?? and My Local access point is t3://localhost:8001 ??. When I check at Tuxedo server side I can not fint any DMCONFIG or BDMCONFIG files(those are the main confiruble files I assume), where should I look for thease files exactly?
Any help would be greatly appriciated.
Thanks in advance
MadhavHi Madhav,
You can use WTC and Jolt at the same time, although they will obviously be different connections. Jolt clients connect to the JSL, whereas WTC connects to the Tuxedo Domain Gateway. So to use tBridge (a component of WTC) you will need to configure a domain gateware on your Tuxedo system. As well you will need to configure WTC. For detailed information on WTC and the meaning local local access points, etc., please consult the WLS and Tuxedo documentation. In particular, read a bit about setting up domains in the Tuxedo documentation to get some background.
If you want to try a canned set up to see how domains communication and WTC is configured, you could try the Tuxedo Control Jumpstart Kit located at:
http://dev2dev.bea.com/pub/a/2004/02/tuxedo_jumpstart.html
I believe it has some ant scripts that will automatically configure your WTC configuration and a simple Tuxedo application, at least on a single machine. You can then use that as a model for setting up your real environment.
Briefly, a domain in Tuxedo terms can have local access points and remote access points. A local access point basically describes a listening point. A given Tuxedo application can have multiple local access points, although only one is required. Remote access points then describe the remote Tuxedo domain this domain should connect to. So the simplest case is on your Tuxedo system:
Local Access Point: TUXDOM
Local Access Point ID: TUXDOM (it doesn't have to be the same, just for convenience)
Local Access Point Network address: //tuxhost:6010
Remote Access Point: WLSDOM
Remote Access Point ID: WLSDOM
Remote Access Point Network address: //wlshost:6030
And then basically the reverse on the WLS system in the WTC configuration:
Local Access Point: WLSDOM
Local Access Point ID: WLSDOM
Local Access Point Network address: //wlshost:6030
Remote Access Point: TUXDOM
Remote Acess Point ID: TUXDOM
Remote Access Point Network address: //tuxhost:6010
That's just a start, but it should get you going.
Regards,
Todd Little
BEA Tuxedo Engineering -
BDM configuration question/WTC issue
We are running WL 6.0sp2rp2
We are using WTC to move message from a Tuxedo /Q to a WebLogic JMS queues.
Periodically the WTC stops accepting messages - no errors at all. So we
turned on the highest level and got these debug messages.
####<Apr 11, 2002 9:12:45 AM CDT> <Debug> <WTC> <TESTWEBLOGIC1>
<OptiSoftAppServer> <Thread-4> <> <0:4264e14567644992> <180056>
<]/tBexec/showTuxMsg/10/>
####<Apr 11, 2002 9:12:45 AM CDT> <Debug> <WTC> <TESTWEBLOGIC1>
<OptiSoftAppServer> <Thread-4> <> <0:4264e14567644992> <180056>
</tBexec/tuxQ2jmsQ/t#1 TPriority:1 JPriority:0>
####<Apr 11, 2002 9:12:45 AM CDT> <Debug> <WTC> <TESTWEBLOGIC1>
<OptiSoftAppServer> <Thread-4> <> <0:4264e14567644992> <180056>
<[/tBexec/jmsSend/>
####<Apr 11, 2002 9:12:45 AM CDT> <Debug> <WTC> <TESTWEBLOGIC1>
<OptiSoftAppServer> <Thread-4> <> <0:4264e14567644992> <180056>
</tBexec/jmsSend/Jms Msg:
PowerPro,UP8048,0,Scheduled,31.597,-95.82682,04-11-2002 14:06:19,43,7,60,0>
####<Apr 11, 2002 9:12:45 AM CDT> <Debug> <WTC> <TESTWEBLOGIC1>
<OptiSoftAppServer> <Thread-4> <> <0:4264e14567644992> <180056>
<]/tBexec/jmsSend/10/>
####<Apr 11, 2002 9:12:45 AM CDT> <Debug> <WTC> <TESTWEBLOGIC1>
<OptiSoftAppServer> <Thread-4> <> <> <180056> </tBexec/tuxQ2jmsQ/JMS
send exception: weblogic.jms.PowerProInbound>
####<Apr 11, 2002 9:12:45 AM CDT> <Debug> <WTC> <TESTWEBLOGIC1>
<OptiSoftAppServer> <Thread-4> <> <> <180056> <]tBexec<run/t#1: exited.>
What are we doing wrong if anything?
Our thought is to change our Connection_Policy in the wtc_config.xml
file from ON_DEMAND to either ON_STARTUP or INBOUND. I don't really
understand the difference here or how it might impact our WL server.
What should we use?
Is there a way to get ON_DEMAND to stay working? or is our configuration
messed up?
Here is our configuration:
<?xml version="1.0"?>
<!DOCTYPE BDMCONFIG SYSTEM
"file:\bea\wtc1.0\weblogic\wtc\gwt\wtc_config_1_0.dtd">
<!--Java and XML-->
<WTC_CONFIG>
<BDMCONFIG>
<T_DM_LOCAL_TDOMAIN AccessPoint="TDOM2">
<WlsClusterName>OptiSoftAppServer</WlsClusterName>
<AccessPointId>TDOM1</AccessPointId>
<Type>TDOMAIN</Type>
<Security>NONE</Security>
<ConnectionPolicy>ON_DEMAND</ConnectionPolicy>
<NWAddr>//removed</NWAddr>
<Interoperate>YES</Interoperate>
</T_DM_LOCAL_TDOMAIN>
<T_DM_REMOTE_TDOMAIN AccessPoint="GPID01">
<Type>TDOMAIN</Type>
<LocalAccessPoint>TDOM2</LocalAccessPoint>
<Security>NONE</Security>
<AccessPointId>GPID01</AccessPointId>
<Interoperate>YES</Interoperate>
<NWAddr>removed</NWAddr>
</T_DM_REMOTE_TDOMAIN>
<T_DM_IMPORT
ResourceName="ProQmgr"
LocalAccessPoint="TDOM2"
RemoteAccessPointList="GPID01">
<TranTime>30</TranTime>
</T_DM_IMPORT>
<T_DM_IMPORT
ResourceName="McsQmgr"
LocalAccessPoint="TDOM2"
RemoteAccessPointList="GPID01">
<TranTime>30</TranTime>
</T_DM_IMPORT>
</BDMCONFIG>
<tBridge>
<!--Qspace>McsQmgr</Qspace> <Name>MCS_D_ToNx</Name-->
<!--Qspace>ProQmgr</Qspace> <Name>PRO_D_ToNx</Name-->
<fromto>
<direction>TuxQ2JmsQ</direction>
<source>
<AccessPoint>GPID01</AccessPoint>
<Qspace>ProQmgr</Qspace>
<Name>PRO_D_ToNx</Name>
<!-- power pro ^^^-->
</source>
<target>
<Name>weblogic.jms.PowerProInbound</Name>
</target>
<translateFML>NO</translateFML>
</fromto>
<!-- -->
<fromto>
<direction>TuxQ2JmsQ</direction>
<source>
<AccessPoint>GPID01</AccessPoint>
<Qspace>McsQmgr</Qspace>
<Name>MCS_D_ToNx</Name>
<!-- MCS renumber ^^^-->
</source>
<target>
<Name>weblogic.jms.MCSInbound</Name>
</target>
<translateFML>NO</translateFML>
</fromto>
<transactional>NO</transactional>
<deliveryModeOverride>NO</deliveryModeOverride>
<wlsErrorDestination>weblogic.jms.ErrorQueue</wlsErrorDestination>
<defaultreplyDeliveryMode>NO</defaultreplyDeliveryMode>
<allowNonStandardTypes>YES</allowNonStandardTypes>
<jndiFactory>weblogic.jndi.WLInitialContextFactory</jndiFactory>
<jmsFactory>weblogic.jms.ConnectionFactory</jmsFactory>
<tuxFactory>tuxedo.services.TuxedoConnection</tuxFactory>
</tBridge>
</WTC_CONFIG>Hi BlueNanu,
Yes I believe you are correct, I think the BEFSR81 is indeed a router, not a hub as I previously described it. It's just not wi-fi capable. I believe your suggestion was what I was going to try next (couldn't do it last night because I couldn't risk the internet going down again while I fiddled with the settings) You suggest hooking the Wireless routers WAN port to the cable modem (that's how it was before I put the BEFSR into the mix) and put the BEFSR further downstream by plugging a cord between it's WAN port and one of the ethernet ports on the wireless router, basically flip flopping the location of the 2 devices. Not sure if that will work or not. If not I'll read the article you posted a link to and follow those instructions. This has been an expensive experiment because by my wi-fi going down my phone started doing everything via my cellular data connection and I went over my allotted 300MB and I just got dinged $20 for another 300MB. Oh well.
Maybe you are looking for
-
I have a JTextArea (textArea) that I set in a class called BankGUI. The textArea is set with a empty string. I three other classes I need to add things to this textArea. In each class I add a little bit more. The thing that I can not figure out is ho
-
Adobe AIR--can't uninstall old version
I am trying to update to the new version of air but i can't uninstall my old version, tried add & remove programs and it just sits there and does nothing.
-
Application Restart and Recovery APIs doesn't work for windows services
I am using the Application Restart and Recovery mechanism (provided in Windows API Code Pack for Microsoft.NET Framework) to collect some information (i.e. stack information when there's an unhandledexception) before my windows service crash down. I
-
Using Camera Raw in Photoshop /w More Than 1 Photo
Is there any way to use Camera Raw within Photoshop with more than one photo? I can open it with one photo by changing the "Format" to Camera Raw in the Open Dialogue box. Thanks, Mason
-
I have ipad2 and just got iPad 3 so I try to download all purchased apps to my new iPad but it takes forever and all apps that downloaded are not working, I already restore my old iPad to give it my little girl. Anybody knows what is going on and how