Workshop JMS
Is there anyway to deploy a workshop built EAR file without having to setup all
the JMS features. My application does not use JMS. I have and jar with my EJBs
and two webapps.
Bana,
Please check the manifest.xml file in teh .ear file. This file contains the
list of resources which need to be configured on teh production machine
before
deployement.
http://edocs.bea.com/workshop/docs81/doc/en/workshop/guide/howdoi/howDeployWebLogicWorkshopWebServicestoaProductionServer.html
Regards,
Raj Alagumalai
Backline Workshop Support
"bana" <[email protected]> wrote in message
news:407af787$[email protected]..
>
Hi
In our workshop J2EE app we keep on gettting the below error when wedeploy the
App -
[EJB:011010]The JMS destination with the JNDI name:TestWeb.queue.AsyncDispatcher_error
could not be found. Please ensure that the JNDI name in theweblogic-ejb-jar.xml
is correct, and the JMS destination has been deployed.>
We are not using any JMS related features in our App so why does the logkeep
on throwing the above message every 10 seconds .
Any clues as to what may be the problem ?
Thanks
bana
Similar Messages
-
Platform Domain and WorkShop JMS Control Problems
I created a platform domain and created a workflow in WLI. I would like to expose
the workflow from a web service. I successfully used the JMS control to send
the XML request into WLI and receive the reply from WLI. My problem is whenever
I try to execute the callback function when I receive my reply from JMS it his
a loop and never executes the callback to the client. In the same service i replaced
the JMS interaction with a timer and it works fine. The problem only occurrs when
the JMS control receives the reply and then invokes the callback. If I just receive
the reply without calling the callback everything works fine. Any ideas? ThanksI did a little more debugging and it looks like when the message is sent to the
JMS Queue a different instance of the session EJB is calledback to when the JMS
reply is received. I noticed when my callback is invoked by JMS i have different
proxy and context objects. I hope this helps.
"David" <[email protected]> wrote:
>
I created a platform domain and created a workflow in WLI. I would like
to expose
the workflow from a web service. I successfully used the JMS control
to send
the XML request into WLI and receive the reply from WLI. My problem is
whenever
I try to execute the callback function when I receive my reply from JMS
it his
a loop and never executes the callback to the client. In the same service
i replaced
the JMS interaction with a timer and it works fine. The problem only
occurrs when
the JMS control receives the reply and then invokes the callback. If
I just receive
the reply without calling the callback everything works fine. Any ideas?
Thanks -
Hi All,
I need to create a web service in Workshop that sends the received SOAP message
body to a queue without mapping it to Java object i.e. the JMS message type is
text message and not Object message. I would very much appreciated if anyone out
there who can advise me on this.
Thanks in advance.
Regards,
Boon KeongHi,
Are you open for other solutions besides Workshop?
WebLogic Server provides another Web Service implementation outside of Workshop.
This web service implentation has a concept of handlers which intercept SOAP
messages. It is a way to gain access to the SOAP message. You could then route
the SOAP message to a JMS queue from the handler.
These URLs will help:
http://e-docs.bea.com/wls/docs70/webserv/index.html
http://e-docs.bea.com/wls/docs70/webserv/design.html#1053805
Also, there is an examples in the WebLogic Server 7.0 installation:
%BEA_HOME%\samples\server\src\examples\webservices\handler
hope this helps,
pat
"Boon Keong" <[email protected]> wrote:
>
Hi All,
I need to create a web service in Workshop that sends the received SOAP
message
body to a queue without mapping it to Java object i.e. the JMS message
type is
text message and not Object message. I would very much appreciated if
anyone out
there who can advise me on this.
Thanks in advance.
Regards,
Boon Keong -
Specifying JNDI Details for Controls (EJB/JMS) in Workshop
Hello,
I was running into some basic issues in using workshop for building applications. Any help is appreciated !
How do I point Controls (EJB/JMS) to JNDI where the Objects have been bound
In J2EE I will do this :
Context ctx = new InitialContext(ht); // ht has Provider URL etc.
Specifically in Design view of Workshop for (WLI) JMS Control how do you define PROVIDER_URL, SECURITY_PRINCIPAL, etc. My JMS Server is targeted to separate Managed Server that where Workshop Applications are deployed and I do not want to create Foriegn Destinations etc. on Managed Server where Applications get deployed.
For EJB Controls: How do you lookup remote EJBs that get deployed as a part of (EARs) on managed server (different from where Workshop Application and EJB Controls reside)
Basic Question: How do we distribute this "EJB Control" JAR to clients to call these EJBs using controls and specify the JNDI Environment for the control that surfaces the EJB resource deployed remotely?
I cannot import these as modules in an Workshop Application (=> EAR) and generate controls from these as they will get "deployed" in that application and we want only one deployment.
Thanks
HarishHi there,
In your GUI client you should consdier building a model that represents the data that you want the GUI to display. This model would contain the references to the EJB's that you need to use. If you want to avoid using some kid of model then it really depends on the complexity of your GUI. If your GUI consists of one JFrame then everything can be done inside the main class for the GUI. If you have lots of sub windows then you need to consider where the references will be used. If theyare used in more than one window then you could end up with lots of complex cross references which is why the model would be better in this situation.
JNDI lookups can be expensive and this depends on several factors particularly network latency, if your client is self contained then once you have a reference to a home interface then you may as well keep and use it for any future calls. The key to this is keeping references to home interfaces as instance variables rather than scoping them locally.
There should really be no bottleneck caused by using as single session bean as a Facade to your EJB tier. The Session Facade is a very common pattern and the one that is most espoused by the various authors writing EJB tech books. As far as coupling is concerned this is an ideal situation as your client can then make coarse grained calls to the single facade session bean instead of making lots of smaller fine-grained calls to several session beans. I'd say that this is a good general design.
Hope this helps
Amanda
Developer Technical Support
Sun Microsystems
http://www.sun.com/developers -
Problem with creation of the jms event generator
hi,
I have set up a weblogic workshop instance on one of my machines. It has a queue call OUT.QUEUE. The application writes message to this queue. I have set up an integration instance on another machine. I have created a Foreign JMS server to point to the first machine. I have also configured a queue which points to the one on the first machine. However when my integration server starts up, I keep getting the error.
[EJB:010196]'weblogic.jms.common.JMSException: Error creating session' Linked exception = 'weblogic.jms.dispatcher.DispatcherException: could not find JMS Server portalServer'
weblogic.jms.common.JMSException: Error creating session
at weblogic.jms.frontend.FESession.setUpBackEndSession(Lweblogic/jms/dispatcher/DispatcherId;)Lweblogic/jms/common/Sequencer;(FESession.java:809)
at weblogic.jms.frontend.FESession.consumerCreate(Lweblogic/jms/frontend/FEConsumerCreateRequest;)I(FESession.java:1049)
at weblogic.jms.frontend.FESession.invoke(Lweblogic/jms/dispatcher/Request;)I(FESession.java:2573)
at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine()Lweblogic/jms/dispatcher/Response;(Request.java:643)
at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(Lweblogic/jms/dispatcher/Request;)Lweblogic/jms/dispatcher/Response;(DispatcherImpl.java:179)
at weblogic.jms.client.JMSSession.consumerCreate(Ljava/lang/String;Lweblogic/jms/common/DestinationImpl;Ljava/lang/String;ZI)Lweblogic/jms/frontend/FEConsumerCreateResponse;(JMSSession.java:1860)
at weblogic.jms.client.JMSSession.createConsumer(Ljavax/jms/Destination;Ljava/lang/String;ZLjava/lang/String;B)Ljavax/jms/MessageConsumer;(JMSSession.java:1691)
at weblogic.jms.client.JMSSession.createReceiver(Ljavax/jms/Queue;Ljava/lang/String;)Ljavax/jms/QueueReceiver;(JMSSession.java:1530)
at weblogic.ejb20.internal.JMSConnectionPoller.setUpQueueSessions(Ljavax/jms/Destination;Ljava/lang/String;III)V(JMSConnectionPoller.java:1767)
at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection()V(JMSConnectionPoller.java:2119)
at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS()V(JMSConnectionPoller.java:1192)
at weblogic.ejb20.internal.JMSConnectionPoller.trigger(Lweblogic/time/common/Schedulable;)V(JMSConnectionPoller.java:984)
at weblogic.time.common.internal.ScheduledTrigger.run()Ljava/lang/Object;(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:121)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally()V(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(Lweblogic/kernel/ExecuteThread;)V(ScheduledTrigger.java:223)
at weblogic.time.server.ScheduledTrigger.execute(Lweblogic/kernel/ExecuteThread;)V(ScheduledTrigger.java:50)
at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
Caused by: weblogic.jms.dispatcher.DispatcherException: could not find JMS Server portalServer
at weblogic.jms.dispatcher.DispatcherManager.dispatcherCreate(Lweblogic/jms/dispatcher/DispatcherId;)Lweblogic/jms/dispatcher/Dispatcher;(DispatcherManager.java:318)
at weblogic.jms.dispatcher.DispatcherManager.dispatcherFindOrCreate(Lweblogic/jms/dispatcher/DispatcherId;)Lweblogic/jms/dispatcher/Dispatcher;(DispatcherManager.java:368)
at weblogic.jms.frontend.FESession.setUpBackEndSession(Lweblogic/jms/dispatcher/DispatcherId;)Lweblogic/jms/common/Sequencer;(FESession.java:807)
... 20 more
Caused by: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.jms.S:portalServer' Resolved weblogic.jms; remaining name 'S:portalServer'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(Ljava/lang/String;Ljava/lang/String;Ljava/util/Hashtable;)Ljavax/naming/NameNotFoundException;(BasicNamingNode.java:924)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(Ljava/lang/String;Ljava/util/Hashtable;Ljava/lang/String;)Ljava/lang/Object;(BasicNamingNode.java:230)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(Ljava/lang/String;Ljava/util/Hashtable;Ljava/lang/String;)Ljava/lang/Object;(ServerNamingNode.java:154)
at weblogic.jndi.internal.BasicNamingNode.lookup(Ljava/lang/String;Ljava/util/Hashtable;)Ljava/lang/Object;(BasicNamingNode.java:188)
at weblogic.jndi.internal.BasicNamingNode.lookup(Ljava/lang/String;Ljava/util/Hashtable;)Ljava/lang/Object;(BasicNamingNode.java:196)
at weblogic.jndi.internal.BasicNamingNode.lookup(Ljava/lang/String;Ljava/util/Hashtable;)Ljava/lang/Object;(BasicNamingNode.java:196)
at weblogic.jndi.internal.WLEventContextImpl.lookup(Ljavax/naming/Name;Ljava/lang/String;)Ljava/lang/Object;(WLEventContextImpl.java:256)
at weblogic.jndi.internal.WLContextImpl.lookup(Ljava/lang/String;)Ljava/lang/Object;(WLContextImpl.java:363)
at javax.naming.InitialContext.lookup(Ljava/lang/String;)Ljava/lang/Object;(InitialContext.java:347)
at weblogic.jms.dispatcher.DispatcherManager.dispatcherCreate(Lweblogic/jms/dispatcher/DispatcherId;)Lweblogic/jms/dispatcher/Dispatcher;(DispatcherManager.java:314)
... 22 more
Any ideas?Hi experts/Sriram...
Thanks for the reply.
The -
>showing the line....
QS80_TAB-DEDMT=QS80_TAB-DEDMT+S80-DEDMT
Where should we change to get rid of this runtime error.
Here in my quality everthing is fine and we have uploaded patches in quality upto recent one sp80.But in prod. the patchlevel is sp71.Will it be the reason.
Please advice me on this as i have to complete the issue of F16.
Thanks and Regards,
V Sai. -
Usage of Apache Beehive JMS control inside Message Driven Bean
Hi,
I am developing a j2ee application using weblogic workshop 10.3. This application contains the following three projects.
- J2EE Utility Project
- Message Driven Bean Project
- Ear Project
In the Utility project I have created one apache beehive jms control. I am using this control inside the message driven bean application. I haven't got any issues during the development and deployment phase with the beehive control. But during runtime the apache beehive jms control is not getting instantiated and the mdb application is throwing the null pointer exception when the EJB container try to execute the methods on the control instance. I have used the declarative programming model to create the control instance inside the mdb application.
I am using the weblogic 10.3 server for testing and I have created the 10.3 weblogic+workshop domain. By default it has the beehive libraries deployed.
Can somebody help me out to resolve this issue?
Regards,
BpYou can get the message directly with getText() method. Following is the snippet of code.
if (aMsg instanceof TextMessage) {
TextMessage msg = (TextMessage) aMsg;
String testMessage = msg.getText());
Kishore. -
SQLException in Weblogic Server 8.1(Workshop)
Hi,
I am using Weblogic Workshop 8.1. I was trying to develop worklist application in Integration domain using Task and Task worker controls. Since worklist infos are stored in pointbase database, migrated pointbase to oracle by reconfiguring the Integration domain in Configuration wizard. I changed the 3 default pointbase connection pools(cgPool,bpmArchPool, cgJMSPool-nonXA) to oracle. I was able to work on worklist application.. but i am getting the following error very frequently.. If i restart the server it works fine...
An unexpected exception occurred while attempting to locate the run-time information for this Web Service. Error: java.sql.SQLException:Cannot obtain connection: driverURL = jdbc:weblogic:pool:cgPool, props = {enableTwoPhaseCommit=true, connectionPoolID=cgPool, jdbcTxDataSource=true, dataSourceName=cgDataSource}. Nested Exception: java.lang.RuntimeException: Failed to setAutoCommit to true for pool connection. at weblogic.jdbc.wrapper.PoolConnection.init(Lweblogic/jdbc/common/internal/ConnectionEnvV(PoolConnection.java:52) at weblogic.jdbc.pool.Driver.allocateConnection(Lweblogic/jdbc/common/internal/ConnectionEnvLjava/sql/Connection;(Driver.java:254) at weblogic.jdbc.pool.Driver.connect(Ljava/lang/String;Ljava/util/PropertiesLjava/sql/Connection;(Driver.java:164) at weblogic.jdbc.jts.Driver.getNonTxConnection(Ljava/lang/String;Ljava/util/PropertiesLjava/sql/Connection;(Driver.java:540) at weblogic.jdbc.jts.Driver.connect(Ljava/lang/String;Ljava/util/PropertiesLjava/sql/Connection;(Driver.java:139) at weblogic.jdbc.common.internal.RmiDataSource.getConnection()Ljava/sql/Connection;(RmiDataSource.java:329) at com.bea.wlw.runtime.core.util.Util.getConnection(Ljava/lang/StringLjava/sql/Connection;(Util.java:666) at com.bea.wlw.runtime.core.bean.BMPContainerBean.getConnection()Ljava/sql/Connection;(BMPContainerBean.java:2200) at com.bea.wlw.runtime.core.bean.BMPContainerBean.initTableAccess(Lcom/bea/wlw/runtime/core/dispatcher/DispFileLcom/bea/wlw/runtime/core/bean/BMPContainerBean$TableAccess;(BMPContainerBean.java:1643) at com.bea.wlw.runtime.core.dispatcher.DispComponentJar.confirmDeployment(Lcom/bea/wlw/runtime/core/dispatcher/DispFileV(DispComponentJar.java:99) at com.bea.wlw.runtime.core.dispatcher.DispResources.confirmDeployment(Lcom/bea/wlw/runtime/core/dispatcher/DispFileV(DispResources.java:752) at com.bea.wlw.runtime.core.dispatcher.DispCache.ensureDispUnit(Lcom/bea/wlw/runtime/core/dispatcher/LoadContextLcom/bea/wlw/runtime/core/dispatcher/DispUnit;(DispCache.java:767) at com.bea.wlw.runtime.core.dispatcher.HttpServerHelper.getDispUnit(Ljavax/servlet/ServletContext;Lcom/bea/wlw/runtime/core/dispatcher/HttpRequest;Ljavax/servlet/http/HttpServletResponse;Z)Lcom/bea/wlw/runtime/core/dispatcher/DispUnit;(HttpServerHelper.java:501) at com.bea.wlw.runtime.core.dispatcher.HttpServerHelper.executeGetRequestRamachandran Jaganmohan wrote:
Hi,
I am still getting the exception as below....
<Jun 26, 2006 2:08:46 PM GMT+05:30> <Error> <WLW> <000000> <SQLException in cleanupDocumentReference
s(): VendorCode = 17002
java.sql.SQLException: Io exception: Connection reset by peer.Hi. I wish I could help you more, but you really need a DBA to see what is
happening at the DBMS. This exception just means the DBMS hung up on the
driver.
Joe
at oracle.jdbc.driver.DatabaseError.throwSqlException(Ljava/lang/String;Ljava/lang/String;I)
V(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(ILjava/lang/Object;)V(DatabaseError.ja
va:162)
at oracle.jdbc.driver.DatabaseError.throwSqlException(Ljava/io/IOException;)V(DatabaseError.
java:274)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(Z)V(T4CPreparedStatement.java:64
6)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout()V(OracleStatement.java:1081)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal()I(OraclePreparedStatement.jav
a:2905)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate()I(OraclePreparedStatement.java:
2977)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate()I(PreparedStatement.java:147)
at com.bea.wli.store.impl.SQLStore$StandardStoreAccess.deleteDeadReferences(Ljava/sql/Connec
tion;)I(SQLStore.java:1861)
at com.bea.wli.store.impl.SQLStore.cleanupDocumentReferences(Ljava/sql/Connection;ZZ)V(SQLSt
ore.java:3417)
at com.bea.wli.store.impl.WLIAdminMDB.sqlStoreCleanupDocumentReferences()V(WLIAdminMDB.java:
607)
at com.bea.wli.store.impl.WLIAdminMDB.onMessage(Ljavax/jms/Message;)V(WLIAdminMDB.java:457)
at weblogic.ejb20.internal.MDListener.execute(Lweblogic/kernel/ExecuteThread;)V(MDListener.j
ava:400)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(Ljavax/jms/Message;)V(MDListene
r.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(Ljavax/jms/Message;)V(MDListener.java:298)
at weblogic.jms.client.JMSSession.onMessage(Ljavax/jms/MessageListener;Lweblogic/jms/common/
MessageImpl;)V(JMSSession.java:2686)
at weblogic.jms.client.JMSSession.execute(Lweblogic/kernel/ExecuteThread;)V(JMSSession.java:
2598)
at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.ja
va:224)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
<Jun 26, 2006 2:08:46 PM GMT+05:30> <Error> <WLW> <000000> <Unable to clean up Document references i
n the SQL Document Store>
qNBWorkerControl.setTaskCompletionDueBusinessDateSystemCalendar
<Jun 26, 2006 2:08:48 PM GMT+05:30> <Error> <JTA> <BEA-110412> <Xid=BEA1-01BBF2A62AC026C12C0A(401421
80),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=23,seconds left=119,activeThread=Thread[ExecuteThread: '8' for queue: 'weblogic.kernel.
Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[JMS_cgJMSStore]=(
ServerResourceInfo[JMS_cgJMSStore]=(state=committed,assigned=cgServer),xar=JMS_cgJMSStore,re-Registe
red = false),XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblo
gic.jdbc.wrapper.JTSXAResourceImpl]=(state=committed,assigned=cgServer),xar=weblogic.jdbc.wrapper.JT
SXAResourceImpl@2c0500a,re-Registered = false),SCInfo[integration+cgServer]=(state=committed),proper
ties=({ISOLATION LEVEL=2, weblogic.jdbc=t3://<Machine ip>:7001}),OwnerTransactionManager=ServerTM[Ser
verCoordinatorDescriptor=(CoordinatorURL=cgServer+<Machine ip>:7001+integration+t3+, XAResources={JMS
FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl, JMScgJMSStore},NonXAResources={})],Coordinator
URL=cgServer+<Machine ip>:7001+integration+t3+) completed heuristically: (weblogic.jdbc.wrapper.JTSXA
ResourceImpl, HeuristicHazard, (javax.transaction.xa.XAException: Closed Connection)) >
<Jun 26, 2006 2:08:48 PM GMT+05:30> <Error> <EJB> <BEA-010026> <Exception occurred during commit of
transaction Xid=BEA1-01BBF2A62AC026C12C0A(40142180),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,n
umRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=23,seconds left=118,XAServerResourceInf
o[JMS_cgJMSStore]=(ServerResourceInfo[JMS_cgJMSStore]=(state=committed,assigned=cgServer),xar=JMS_cg
JMSStore,re-Registered = false),XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(Serve
rResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=committed,assigned=cgServer),xar=weblo
gic.jdbc.wrapper.JTSXAResourceImpl@2c0500a,re-Registered = false),SCInfo[integration+cgServer]=(stat
e=committed),properties=({ISOLATION LEVEL=2, weblogic.jdbc=t3://<Machine ip>:7001}),OwnerTransactionM
anager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=cgServer+<Machine ip>:7001+integration+t3
+, XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl, JMS_cgJMSStore},NonXAResourc
es={})],CoordinatorURL=cgServer+<Machine ip>:7001+integration+t3+): javax.transaction.HeuristicMixedE
xception: (weblogic.jdbc.wrapper.JTSXAResourceImpl, HeuristicHazard, (javax.transaction.xa.XAExcepti
on: Closed Connection))
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit()V(ServerTransactionIm
pl.java:278)
at weblogic.transaction.internal.ServerTransactionImpl.commit()V(ServerTransactionImpl.java:
228)
at weblogic.ejb20.internal.MDListener.execute(Lweblogic/kernel/ExecuteThread;)V(MDListener.j
ava:430)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(Ljavax/jms/Message;)V(MDListene
r.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(Ljavax/jms/Message;)V(MDListener.java:298)
at weblogic.jms.client.JMSSession.onMessage(Ljavax/jms/MessageListener;Lweblogic/jms/common/
MessageImpl;)V(JMSSession.java:2686)
at weblogic.jms.client.JMSSession.execute(Lweblogic/kernel/ExecuteThread;)V(JMSSession.java:
2598)
at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.ja
va:224)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
.>
Login 1===>>>BankManager1
<Jun 26, 2006 2:09:25 PM GMT+05:30> <Warning> <Common> <BEA-000631> <Unknown resource "weblogic.jdbc
.common.internal.ConnectionEnv@27f7745" being released to pool "cgPool". Printing out current pool c
ontents.>
<Jun 26, 2006 2:09:25 PM GMT+05:30> <Warning> <WLW> <000000> <Id=top-level; Method=DBControl.QNBDBCo
ntrol.getDeptName(); Failure=java.sql.SQLException: Attempted operation on Connection that is alread
y closed. [ServiceException]>
<Jun 26, 2006 2:09:25 PM GMT+05:30> <Error> <JTA> <BEA-110412> <Name=[EJB com.bea.wlw.runtime.core.b
ean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-01C5F2A62AC026C12C
0A(46507041),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],
HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,second
s left=60,activeThread=Thread[ExecuteThread: '6' for queue: 'weblogic.kernel.Default',5,Thread Group
for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]
=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=cgServer),x
ar=weblogic.jdbc.wrapper.JTSXAResourceImpl@2c5b4e9,re-Registered = false),SCInfo[integration+cgServe
r]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.bea.wlw.runtime.core.bean.Sync
DispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc=t3://<Machine ip>:700
1}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=cgServer+172.16.5.8
9:7001+integration+t3+, XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl, JMS_cgJ
MSStore},NonXAResources={})],CoordinatorURL=cgServer+<Machine ip>:7001+integration+t3+) completed heu
ristically: (weblogic.jdbc.wrapper.JTSXAResourceImpl, HeuristicHazard, (javax.transaction.xa.XAExcep
tion: No connection associated with xid = BEA1-01C5F2A62AC026C12C0A-7765626C6F6769632E6A6462632E7772
61707065722E4A545358415265736F75726365496D706C)) >
<Jun 26, 2006 2:09:25 PM GMT+05:30> <Error> <EJB> <BEA-010025> <Exception occurred during rollback o
f transaction Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
core.request.Request)],Xid=BEA1-01C5F2A62AC026C12C0A(46507041),Status=Rolled back. [Reason=weblogic.
transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,n
umRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[weblogic.jdbc.wrapp
er.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback
,assigned=cgServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@2c5b4e9,re-Registered = false),SCInf
o[integration+cgServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.bea.wlw.r
untime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc
=t3://<Machine ip>:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorUR
L=cgServer+<Machine ip>:7001+integration+t3+, XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXA
ResourceImpl, JMS_cgJMSStore},NonXAResources={})],CoordinatorURL=cgServer+<Machine ip>:7001+integrati
on+t3+): javax.transaction.SystemException: Heuristic hazard: (weblogic.jdbc.wrapper.JTSXAResourceIm
pl, HeuristicHazard, (javax.transaction.xa.XAException: No connection associated with xid = BEA1-01C
5F2A62AC026C12C0A-7765626C6F6769632E6A6462632E777261707065722E4A545358415265736F75726365496D706C))
at weblogic.transaction.internal.ServerTransactionImpl.internalRollback()V(ServerTransaction
Impl.java:384)
at weblogic.transaction.internal.ServerTransactionImpl.rollback()V(ServerTransactionImpl.jav
a:350)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(Lweblogic/ejb20/internal/InvocationWrapp
er;Ljava/lang/Throwable;)V(BaseEJBObject.java:300)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(Lweblogic/ejb20/internal/Invocation
Wrapper;Ljava/lang/Throwable;)V(StatelessEJBObject.java:168)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Lcom/bea/wlw/runtime/co
re/request/Request;)Lcom/bea/wlw/runtime/core/request/Response;(SyncDispatcher_k1mrl8_EOImpl.java:56
at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Lcom/bea/wlw/runtime/core/d
ispatcher/DispFile;Lcom/bea/wlw/runtime/core/request/Request;)Lcom/bea/wlw/runtime/core/request/Resp
onse;(Dispatcher.java:161)
at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(Lcom/bea/wlw/runtime/core/re
quest/Request;)Ljava/lang/Object;(ServiceHandleImpl.java:436)
at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl._invoke(Lcom/bea/wlw/runtime/core/reques
t/ExecRequest;)Ljava/lang/Object;(WlwProxyImpl.java:326)
at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl.invoke(Ljava/lang/Object;Ljava/lang/refl
ect/Method;[Ljava/lang/Object;)Ljava/lang/Object;(WlwProxyImpl.java:315)
at $Proxy39.getDeptName(Ljava/lang/String;)Ljava/lang/String;(Unknown Source)
at LoginWorklist.LoginWorklistController.loginAction(LLoginWorklist/LoginWorklistController$
LoginActionForm;)Lcom/bea/wlw/netui/pageflow/Forward;(LoginWorklistController.jpf:192)
at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/l
ang/Object;)Ljava/lang/Object;(Unknown Source)
at jrockit.reflect.NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/la
ng/Object;(Unknown Source)
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)L
java/lang/Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;
(Unknown Source)
at com.bea.wlw.netui.pageflow.FlowController.invokeActionMethod(Ljava/lang/reflect/Method;Lo
rg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Lorg/apache/struts/action/
ActionMapping;)Lorg/apache/struts/action/ActionForward;(FlowController.java:1512)
at com.bea.wlw.netui.pageflow.FlowController.getActionMethodForward(Ljava/lang/String;Lorg/a
pache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServle
tResponse;Lorg/apache/struts/action/ActionMapping;)Lorg/apache/struts/action/ActionForward;(FlowCont
roller.java:1447)
at com.bea.wlw.netui.pageflow.FlowController.internalExecute(Lorg/apache/struts/action/Actio
nMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/
http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;(FlowController.java:778)
at com.bea.wlw.netui.pageflow.PageFlowController.internalExecute(Lorg/apache/struts/action/A
ctionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/serv
let/http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;(PageFlowController.java:211)
at com.bea.wlw.netui.pageflow.FlowController.execute(Lorg/apache/struts/action/ActionMapping
;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/Htt
pServletResponse;)Lorg/apache/struts/action/ActionForward;(FlowController.java:608)
at org.apache.struts.action.RequestProcessor.processActionPerform(Ljavax/servlet/http/HttpSe
rvletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/apache/struts/action/Action;Lorg/apache/st
ruts/action/ActionForm;Lorg/apache/struts/action/ActionMapping;)Lorg/apache/struts/action/ActionForw
ard;(RequestProcessor.java:484)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processActionPerform(Ljavax/servlet/h
ttp/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/apache/struts/action/Action;Lorg
/apache/struts/action/ActionForm;Lorg/apache/struts/action/ActionMapping;)Lorg/apache/struts/action/
ActionForward;(PageFlowRequestProcessor.java:1504)
at org.apache.struts.action.RequestProcessor.process(Ljavax/servlet/http/HttpServletRequest;
Ljavax/servlet/http/HttpServletResponse;)V(RequestProcessor.java:274)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(Ljavax/servlet/http/HttpServl
etRequest;Ljavax/servlet/http/HttpServletResponse;)V(PageFlowRequestProcessor.java:674)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(Ljavax/servlet/http/HttpServ
letRequest;Ljavax/servlet/http/HttpServletResponse;)V(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(Ljavax/servlet/http/HttpServletR
equest;Ljavax/servlet/http/HttpServletResponse;)V(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljav
ax/servlet/http/HttpServletResponse;)V(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/serv
let/http/HttpServletResponse;)V(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/Servl
etResponse;)V(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;
(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Lja
vax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Lja
vax/servlet/ServletResponse;)V(ServletStubImpl.java:348)
java.lang.reflect.UndeclaredThrowableException
at $Proxy39.getDeptName(Ljava/lang/String;)Ljava/lang/String;(Unknown Source)
at LoginWorklist.LoginWorklistController.loginAction(LLoginWorklist/LoginWorklistController$
LoginActionForm;)Lcom/bea/wlw/netui/pageflow/Forward;(LoginWorklistController.jpf:192)
at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/l
ang/Object;)Ljava/lang/Object;(Unknown Source)
at jrockit.reflect.NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/la
ng/Object;(Unknown Source)
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)L
java/lang/Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;
(Unknown Source)
at com.bea.wlw.netui.pageflow.FlowController.invokeActionMethod(Ljava/lang/reflect/Method;Lo
rg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Lorg/apache/struts/action/
ActionMapping;)Lorg/apache/struts/action/ActionForward;(FlowController.java:1512)
at com.bea.wlw.netui.pageflow.FlowController.getActionMethodForward(Ljava/lang/String;Lorg/a
pache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServle
tResponse;Lorg/apache/struts/action/ActionMapping;)Lorg/apache/struts/action/ActionForward;(FlowCont
roller.java:1447)
at com.bea.wlw.netui.pageflow.FlowController.internalExecute(Lorg/apache/struts/action/Actio
nMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/
http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;(FlowController.java:778)
at com.bea.wlw.netui.pageflow.PageFlowController.internalExecute(Lorg/apache/struts/action/A
ctionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/serv
let/http/HttpServletResponse;)Lorg/apache/struts/action/ActionForward;(PageFlowController.java:211)
at com.bea.wlw.netui.pageflow.FlowController.execute(Lorg/apache/struts/action/ActionMapping
;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/Htt
pServletResponse;)Lorg/apache/struts/action/ActionForward;(FlowController.java:608)
at org.apache.struts.action.RequestProcessor.processActionPerform(Ljavax/servlet/http/HttpSe
rvletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/apache/struts/action/Action;Lorg/apache/st
ruts/action/ActionForm;Lorg/apache/struts/action/ActionMapping;)Lorg/apache/struts/action/ActionForw
ard;(RequestProcessor.java:484)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processActionPerform(Ljavax/servlet/h
ttp/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/apache/struts/action/Action;Lorg
/apache/struts/action/ActionForm;Lorg/apache/struts/action/ActionMapping;)Lorg/apache/struts/action/
ActionForward;(PageFlowRequestProcessor.java:1504)
at org.apache.struts.action.RequestProcessor.process(Ljavax/servlet/http/HttpServletRequest;
Ljavax/servlet/http/HttpServletResponse;)V(RequestProcessor.java:274)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(Ljavax/servlet/http/HttpServl
etRequest;Ljavax/servlet/http/HttpServletResponse;)V(PageFlowRequestProcessor.java:674)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(Ljavax/servlet/http/HttpServ
letRequest;Ljavax/servlet/http/HttpServletResponse;)V(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(Ljavax/servlet/http/HttpServletR
equest;Ljavax/servlet/http/HttpServletResponse;)V(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljav
ax/servlet/http/HttpServletResponse;)V(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/serv
let/http/HttpServletResponse;)V(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/Servl
etResponse;)V(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;
(ServletStubImpl.java:1072) -
Hi folks,
I'm trying to set up a JMS web service on a WebLogic 7.0 server.
I want this web service to listen for messages on a queue on
another server running WebLogic 6.1 sp2. Here's what I've done:
Created web service using WebLogic Workshop modeled after the
workshop sample SimpleJMS.jws. A file Email.jws contains the
following code snippet:
package datatel.jms.email;
import weblogic.jws.control.JwsContext;
import EmailControl;
import javax.jms.Message;
public class Email
// Public variables...
public String m_Message = "default email response";
public EmailJMS emailJMS = null;
// Protected variables...
protected String jmsURL = "http://predict.datatel-info.com:7250";
// Private variables...
private String name;
* @jws:control
private EmailControl Email_Ctrl;
/** @jws:context */
JwsContext context;
* Initialize the JMS connection to the predict server...
public Email()
System.out.println("\nEntering Email.jws constructor...");
// Initialize JMS on the Predict server...
emailJMS = new EmailJMS(jmsURL);
System.out.println("Exiting Email.jws constructor...");
Notice that the Email() constructor code above references my object EmailJMS(jmsURL).
This object intializes the JMS connection to the other WebLogic 6.1 server. Here's
the JMS initialization code in my web service:
public EmailJMS(String jmsURL) {
System.out.println("\nEntering EmailJMS constructor with URL..."
+ jmsURL);
Environment environ = new Environment();
environ.setProviderUrl(jmsURL);
try {
ctx = environ.getInitialContext();
System.out.println("Got new InitialContext..." + ctx.PROVIDER_URL
+ "\nTime is: " + new Date().toString());
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = (WLQueueSession) qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
/** USER receive queue and listener
queue = (Queue) ctx.lookup("USER_TX_Q");
user_recvr = qsession.createReceiver(queue);
user_recvr.setMessageListener(this);
textMsg = qsession.createTextMessage();
objMsg = qsession.createObjectMessage();
isConnected = true;
qcon.start();
// --- more code follows ...
The JMS connection is successfully made. When another JMS program sends a message
to the USER_TX_Q, the web service receives the message via the onMessage handler
in the EmailJMS class.
The problem arises when I try to invoke my web service from the WebLogic Workshop
browser Test Form. On invocation on my web service, the following exception occurs:
start
= 0.45-->
name = Harmon .CONVPHASE = .START .CONVERSATIONID = 1023816206621
Exception
Submitted at Tue Jun 11 10:23:28 MST 2002
start
= 0.45-->
javax.ejb.CreateException: Exception on Create: java.io.NotSerializableException:
weblogic.jndi.internal.ServerNamingNode_WLStub at weblogic.knex.bean.WebProcessBean.ejbCreate(WebProcessBean.java:876)
at weblogic.knex.bean.WebProcessBean_dp0iqg_Impl.ejbCreate(WebProcessBean_dp0iqg_Impl.java:172)
at java.lang.reflect.Method.invoke(Native Method) at weblogic.ejb20.manager.ExclusiveEntityManager.create(ExclusiveEntityManager.java:731)
at weblogic.ejb20.manager.ExclusiveEntityManager.remoteCreate(ExclusiveEntityManager.java:702)
at weblogic.ejb20.internal.EntityEJBHome.create(EntityEJBHome.java:250) at
weblogic.knex.bean.WebProcessBean_dp0iqg_HomeImpl.create(WebProcessBean_dp0iqg_HomeImpl.java:74)
at weblogic.knex.bean.WebDispatcherBean.invoke(WebDispatcherBean.java:61)
at weblogic.knex.bean.RemoteDispatcherBean.invoke(RemoteDispatcherBean.java:105)
at weblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl.invoke(RemoteDispatcherBean_1a3xc3_EOImpl.java:46)
at weblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLSkel.invoke(Unknown
Source) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:262)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
at weblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLStub.invoke(Unknown
Source) at weblogic.knex.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:96)
at weblogic.knex.dispatcher.Dispatcher.dispatch(Dispatcher.java:73) at weblogic.knex.dispatcher.HttpServer.exploreExec(HttpServer.java:464)
at weblogic.knex.dispatcher.HttpServer.doGet(HttpServer.java:370) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5352)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:718)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3032)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2466)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
Service Response
When I comment out the instantiation of my EmailJMS(jmsURL) object, the web service
initializes just fine. However, I don't have the JMS connection to my other server.
What is this stack trace telling me? How do I receive unsolicited JMS messages in
a web service?
Thanks,
Bob GontarzHi Bob,
I have tested the same functionality as mentioned by you, and could not see
any errors, while testing using the Test Form. The JMS queue where I was
sending messages is on a 6.1 sp2 server.
Please find attached the two JWS files, which I used to simulate the
condition, one used for dispatching the messages and the other for receiving
the messages.
Please do let me know if your case is any different from the one I have
tested.
I look forward to your response.
Regards,
Anurag
Workshop Support
"Bob Gontarz" <[email protected]> wrote in message
news:[email protected]...
>
Hi folks,
I'm trying to set up a JMS web service on a WebLogic 7.0 server.
I want this web service to listen for messages on a queue on
another server running WebLogic 6.1 sp2. Here's what I've done:
Created web service using WebLogic Workshop modeled after the
workshop sample SimpleJMS.jws. A file Email.jws contains the
following code snippet:
package datatel.jms.email;
import weblogic.jws.control.JwsContext;
import EmailControl;
import javax.jms.Message;
public class Email
// Public variables...
public String m_Message = "default email response";
public EmailJMS emailJMS = null;
// Protected variables...
protected String jmsURL = "http://predict.datatel-info.com:7250";
// Private variables...
private String name;
* @jws:control
private EmailControl Email_Ctrl;
/** @jws:context */
JwsContext context;
* Initialize the JMS connection to the predict server...
public Email()
System.out.println("\nEntering Email.jws constructor...");
// Initialize JMS on the Predict server...
emailJMS = new EmailJMS(jmsURL);
System.out.println("Exiting Email.jws constructor...");
Notice that the Email() constructor code above references my objectEmailJMS(jmsURL).
This object intializes the JMS connection to the other WebLogic 6.1server. Here's
the JMS initialization code in my web service:
public EmailJMS(String jmsURL) {
System.out.println("\nEntering EmailJMS constructor with URL..."
+ jmsURL);
Environment environ = new Environment();
environ.setProviderUrl(jmsURL);
try {
ctx = environ.getInitialContext();
System.out.println("Got new InitialContext..." + ctx.PROVIDER_URL
+ "\nTime is: " + new Date().toString());
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = (WLQueueSession) qcon.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
>
/** USER receive queue and listener
queue = (Queue) ctx.lookup("USER_TX_Q");
user_recvr = qsession.createReceiver(queue);
user_recvr.setMessageListener(this);
textMsg = qsession.createTextMessage();
objMsg = qsession.createObjectMessage();
isConnected = true;
qcon.start();
// --- more code follows ...
The JMS connection is successfully made. When another JMS program sends amessage
to the USER_TX_Q, the web service receives the message via the onMessagehandler
in the EmailJMS class.
The problem arises when I try to invoke my web service from the WebLogicWorkshop
browser Test Form. On invocation on my web service, the followingexception occurs:
>
start
= 0.45-->
name = Harmon .CONVPHASE = .START .CONVERSATIONID = 1023816206621
Exception
Submitted at Tue Jun 11 10:23:28 MST 2002
start
= 0.45-->
javax.ejb.CreateException: Exception on Create:java.io.NotSerializableException:
weblogic.jndi.internal.ServerNamingNode_WLStub atweblogic.knex.bean.WebProcessBean.ejbCreate(WebProcessBean.java:876)
atweblogic.knex.bean.WebProcessBean_dp0iqg_Impl.ejbCreate(WebProcessBean_dp0iq
g_Impl.java:172)
at java.lang.reflect.Method.invoke(Native Method) atweblogic.ejb20.manager.ExclusiveEntityManager.create(ExclusiveEntityManager.
java:731)
atweblogic.ejb20.manager.ExclusiveEntityManager.remoteCreate(ExclusiveEntityMa
nager.java:702)
atweblogic.ejb20.internal.EntityEJBHome.create(EntityEJBHome.java:250) at
>
weblogic.knex.bean.WebProcessBean_dp0iqg_HomeImpl.create(WebProcessBean_dp0i
qg_HomeImpl.java:74)
atweblogic.knex.bean.WebDispatcherBean.invoke(WebDispatcherBean.java:61)
atweblogic.knex.bean.RemoteDispatcherBean.invoke(RemoteDispatcherBean.java:105
atweblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl.invoke(RemoteDispatche
rBean_1a3xc3_EOImpl.java:46)
atweblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLSkel.invoke(Unknown
Source) atweblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
atweblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:262)
atweblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:229)
atweblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLStub.invoke(Unknown
Source) atweblogic.knex.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:96)
at weblogic.knex.dispatcher.Dispatcher.dispatch(Dispatcher.java:73)at weblogic.knex.dispatcher.HttpServer.exploreExec(HttpServer.java:464)
at weblogic.knex.dispatcher.HttpServer.doGet(HttpServer.java:370)at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) atweblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
tStubImpl.java:945)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:332)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:242)
atweblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
ebAppServletContext.java:5352)
atweblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:718)
atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:3032)
atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2466)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
Service Response
When I comment out the instantiation of my EmailJMS(jmsURL) object, theweb service
initializes just fine. However, I don't have the JMS connection to myother server.
What is this stack trace telling me? How do I receive unsolicited JMSmessages in
a web service?
Thanks,
Bob Gontarz
[SendMessages.jws]
[HelloWorld.jws] -
Control Tutorial -- JMS problem
Long story short: I'm using a JMS control (that was made by BEA for the tutorial),
and WLS inside of WLW, I subscribe to a JMS server, send a text message, but I
can't get the callback (from the control) that corresponds to the response. Attached
is complete description of problem.
In particular, I'm questioning the @jc:jms-property annotations that don't have
key/value pairs in them...and I'm wondering how to monitor JMS message traffic
from WLW...and I'm wondering what my problem is.
Andy
[ControlTutorialInWLW.doc]Thanks, Steve. Restarting the server (and a clean build) did it.
Hey, I said I was green. :)
"Steve Hanson" <[email protected]> wrote:
>
Hi Andy:
I don't see anything obviously wrong with your JMS control code -- it
looks correct
to me -- except for the two empty @jc:jms-property annotations on the
sendTextMessage()
method.
Those look suspicious to me. It looks like something went wrong when
Workshop
generated the control file there. I would (1) remove those annotations
from
the method, (2) restart the server, and try again.
Also see [BEA]/weblogic81/samples/platform/TutorialsApp/FirstJavaControl
for a
finished version of the Control tutorial.
-Steve Hanson
"Andy Breeden" <[email protected]> wrote:
Long story short: I'm using a JMS control (that was made by BEA for
the tutorial),
and WLS inside of WLW, I subscribe to a JMS server, send a text message,
but I
can't get the callback (from the control) that corresponds to the response.
Attached
is complete description of problem.
In particular, I'm questioning the @jc:jms-property annotations that
don't have
key/value pairs in them...and I'm wondering how to monitor JMS message
traffic
from WLW...and I'm wondering what my problem is.
Andy -
Invalid soap address, unknown protocol jms
Hi, All,
I try to create a web service project based on a WSDL which soap based on JMS as following:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="AsyncBusiness"
targetNamespace="http://www.alsb.com/AsyncBusiness/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.alsb.com/AsyncBusiness/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<types>
<xsd:schema targetNamespace="http://www.alsb.com/AsyncBusiness/"
xmlns:order="http://www.alsb.com/order/">
<xsd:import namespace="http://www.alsb.com/order/"
schemaLocation="order.xsd" />
<xsd:element name="submitOrder" type="order:Order" />
</xsd:schema>
</types>
<message name="submitOrder">
<part element="tns:submitOrder" name="submitOrder" />
</message>
<portType name="AsyncBusiness">
<operation name="submitAsyncOrder">
<input message="tns:submitOrder" />
</operation>
</portType>
<binding name="AsyncBusinessSOAP" type="tns:AsyncBusiness">
<soap:binding style="document"
transport="http://www.openuri.org/2002/04/soap/jms" />
<operation name="submitAsyncOrder">
<soap:operation
soapAction="http://www.alsb.com/AsyncBusiness/submitOrder" />
<input>
<soap:body parts="submitOrder" use="literal" />
</input>
</operation>
</binding>
<service name="AsyncBusiness">
<port binding="tns:AsyncBusinessSOAP" name="AsyncBusiness">
<soap:address
location="jms://192.168.48.1:7001/AsyncOrderSelf_WS/AsyncBusiness?URI=jms.WebServiceQueue" />
</port>
</service>
</definitions>
the problem is when I generate web service based on that, error found: invalid soap address, unknown protocol jms. How can I make it work?
I'm using workshop 10.3 for weblogic. Thanks in advance.
Best Regards,
Bill
Edited by: Bill Cao on May 20, 2009 11:13 AMBill,
Soap Address should always should be standard.
But you can change the action type under the wls binding part
for example I will provide one sample and it work perfectly at my end.
<!-- ************************************************************* -->
<!-- Web Service JMS Binding Definition -->
<!-- ************************************************************* -->
<wsdl:binding name="SampleJMSSoapBinding" type="invws:SamplePort">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms" />
<wsdl:operation name="DeleteParty">
<soap:operation soapAction="http://xmlns.oracle.com/communications/webservice/DeleteParty" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
<wsdl:fault name="InventoryFault">
<soap:fault name="InventoryFault" use="literal" />
</wsdl:fault>
<wsdl:fault name="ValidationFault">
<soap:fault name="ValidationFault" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<!-- ************************************************************* -->
<!-- Web Service Port Binding Definition -->
<!-- ************************************************************* -->
<wsdl:service name="Sample">
<wsdl:port name="SampleHTTPPort" binding="invws:SampleHTTPSoapBinding">
<soap:address location="http://localhost:7001/Sample/SampleHTTP" />
</wsdl:port>
<wsdl:port name="SampleJMSPort" binding="invws:SampleJMSSoapBinding">
<soap:address location="jms://localhost:7001/Sample/SampleJMS?URI=inventoryWSQueue" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
let me know whether this will help any where.
Regards,
Kal. -
Sending JMS messages as web services
I am trying to read a JMS topic, retrieve an XMLBean from the queue, and send it
via web services developed in Workshop. Everything seems to deploy fine, but
when I post a message to the topic, it just disapears. No logging, no movement
to the specified error queue, and println doesn't print. How do I do this?Hi Neil,
Have you gone through the tutorial "how to" [1] on this subject? There
is a basic JMS/webservice example [2], outside of WLW, that may be
useful in validating your JMS/server configuration. Also, be sure to
check the server log file for warning/error messages.
Hope this is of some value,
Bruce
[1]
http://edocs.bea.com/workshop/docs81/doc/en/workshop/guide/howdoi/howExchangeMessageswithaJMSQueueorTopicfromaWebService.html
[2]
http://webservice.bea.com/message.zip
Neil Hornbeck wrote:
>
I am trying to read a JMS topic, retrieve an XMLBean from the queue, and send it
via web services developed in Workshop. Everything seems to deploy fine, but
when I post a message to the topic, it just disapears. No logging, no movement
to the specified error queue, and println doesn't print. How do I do this? -
(How) can I use a JMS control to deploy an MDB to WLS? I tried to do so in a sample app but it seems that Workshop only deploys a control (and the underlying beans) if it is accessed by the application (a JWS in my case). If I develop a JMS control but not use it I can't find the corresponding MDB deployed.
Can somebody help me?My actual workaround is to declare in the JWS a member variable of the type of the JMS control I'm trying to deploy and it works (but doesn't look great).
Regards.
Antonio. -
JMS Control to receive a message
Hi all,
I’m trying to createJMS Contro to test my JMS Server. A method to send a message was generated
@Message(JMSControl.MessageType.Auto)
public void sendMessage(Object body);but I cannot find how can I write a method to receive a message.
Can anybody tell me how can I receive messages from JMS server with JMS Control?
Many thanks
PavelIt is possible till 8.1, but not from 9.2 versions. The suggested way to implement this for 9.2 or greater is:
In version 9.2, a JMS control can't be used to receive messages. In upgraded code, you can work around this by developing a message-driven bean (MDB) to receive the messages or by invoking a web service using asynchronous request-response.
Please refer this upgrade guide:
http://e-docs.bea.com/workshop/docs92/ws_platform/upgrading/conChangesDuringUpgrade.html#features_not_supported
regards,
~Poorna -
Exception while trying to start weblogic server using workshop
Hi all,
Here am getting the trace given below when i try to start workshop.Any
clues.
=====================================
Starting WebLogic Server...
<Feb 2, 2002 4:09:18 PM EST> <Notice> <Management> <140005> <Loading
configuration .\..\workshop\config.xml>
<Feb 2, 2002 4:09:41 PM EST> <Notice> <WebLogicServer> <000327> <Starting
WebLogic Admin Server "cgServer" for domain
"workshop">
<Feb 2, 2002 4:10:15 PM EST> <Alert> <JMS> <040052> <JMSServer
"cgJMSServer", store failed to open, java.io.IOExcepti
on: JMS JDBC store, connection pool = <cgPool>, prefix = <null>: JMS JDBC
SQL Error
java.sql.SQLException: Invalid transaction state -- active SQL-transaction.
state: 2.
at
com.pointbase.net.netJDBCPrimitives.handleResponse([DashO-OE-V2.2-121500.112
15B000919])
at
com.pointbase.net.netJDBCPrimitives.handleJDBCObjectResponse([DashO-OE-V2.2-
121500.11215B000919])
at
com.pointbase.net.netJDBCDatabaseMetaData.getTables([DashO-OE-V2.2-121500.11
215B000919])
at
weblogic.jdbc.pool.DatabaseMetaData.getTables(DatabaseMetaData.java:1006)
at
weblogic.jms.store.JDBCStoreUpgradeHelper.tablesExist(JDBCStoreUpgradeHelper
.java:1076)
at
weblogic.jms.store.JDBCStoreUpgradeHelper.oldStore(JDBCStoreUpgradeHelper.ja
va:1261)
at weblogic.jms.store.JDBCIOStream.recover(JDBCIOStream.java:840)
at weblogic.jms.store.JMSStore.recover(JMSStore.java:121)
at weblogic.jms.backend.BEStore.open(BEStore.java:234)
at weblogic.jms.backend.BEStore.start(BEStore.java:147)
Thanks
VPls post it to the workshop newsgroup:
weblogic.developer.interest.70beta.workshop
regards,
-manoj
"Veena" <[email protected]> wrote in message news:[email protected]..
Hi all,
Here am getting the trace given below when i try to start workshop.Any
clues.
=====================================
Starting WebLogic Server...
<Feb 2, 2002 4:09:18 PM EST> <Notice> <Management> <140005> <Loading
configuration .\..\workshop\config.xml>
<Feb 2, 2002 4:09:41 PM EST> <Notice> <WebLogicServer> <000327> <Starting
WebLogic Admin Server "cgServer" for domain
"workshop">
<Feb 2, 2002 4:10:15 PM EST> <Alert> <JMS> <040052> <JMSServer
"cgJMSServer", store failed to open, java.io.IOExcepti
on: JMS JDBC store, connection pool = <cgPool>, prefix = <null>: JMS JDBC
SQL Error
java.sql.SQLException: Invalid transaction state -- active SQL-transaction.
state: 2.
at
com.pointbase.net.netJDBCPrimitives.handleResponse([DashO-OE-V2.2-121500.112
15B000919])
at
com.pointbase.net.netJDBCPrimitives.handleJDBCObjectResponse([DashO-OE-V2.2-
121500.11215B000919])
at
com.pointbase.net.netJDBCDatabaseMetaData.getTables([DashO-OE-V2.2-121500.11
215B000919])
at
weblogic.jdbc.pool.DatabaseMetaData.getTables(DatabaseMetaData.java:1006)
at
weblogic.jms.store.JDBCStoreUpgradeHelper.tablesExist(JDBCStoreUpgradeHelper
.java:1076)
at
weblogic.jms.store.JDBCStoreUpgradeHelper.oldStore(JDBCStoreUpgradeHelper.ja
va:1261)
at weblogic.jms.store.JDBCIOStream.recover(JDBCIOStream.java:840)
at weblogic.jms.store.JMSStore.recover(JMSStore.java:121)
at weblogic.jms.backend.BEStore.open(BEStore.java:234)
at weblogic.jms.backend.BEStore.start(BEStore.java:147)
Thanks
V
[att1.html] -
Using a JMS control from an EJB project
I'm developing an EJB in Workshop and my EJB is expected to send messages to a JMS queue. How can I use a JMS control (JCX) from my EJB?
If you're talking about making an executable jar file that will work with the bouncycastle jar:
(1) Make a jar as usual with your classes in it
(2) Include a manifest file that specifies the class containing your app's main() method
(3) In that same manifest, make sure that the bouncycastle jar is included in the Class-Path
Details are in Sun's Tutorial: [Packaging Programs in JAR Files|http://java.sun.com/docs/books/tutorial/deployment/jar/index.html] and specifically [http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html|http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html] for the business of having your app recognise the other jar file's classes at runtime.
Doubtless this can all be done from the comfort of your IDE, but I don't know how. There will be documentation on NetBeans site I suppose.
Edited by: pbrockway2 on Jul 23, 2008 8:59 PM
Maybe you are looking for
-
Verizon webmail issues: "send" button not present (though present in Safari)
I had Firefox 5.0.1 and have upgraded to 9.0.1. Am running Firefox on a Mac (OS 10.6.6). The issue described occurred in both versions, but only AFTER Verizon's recent interface "upgrade." When creating an outgoing message in Verizon webmail, there (
-
Weird HttpsURLConnection problem
Hi everyone, I am running a struts application on jboss 3.2.1. Part of my application deals with posting xml over https. Two problems popped up today, and because they appeared at the same time, I have a hunch they're related. 1. Our production serve
-
Missing document from Open Office
I am trying to find a PDF exported from an Open Office file that I deleted. It is showing as this: users/macowner/Library/.../partydonation.pdf but I cannot find it on my computer. Please help!
-
Custom Canvas Shape visible in design view of flex builder
I have a library which has custom controls. I have a BubbleCanvas class with the following constructor. super(); var style:CSSStyleDeclaration; this.setStyle("backgroundImage", canvasBackground); this.setStyle("backgroundSize"
-
HT5624 how do i close out apps that iam not using
my iPone up dated the ios 7 and now I cant turn offthe apps that I am not using