Queues in OSB
Hello all,
I'm completely new in this area. I'm trying to create a queue in OSB. Eventually I want to have a MDB pulling from the queue and pushing to another queue. Can someone please give me some quick instuctions on creating a queue or provide a link to a good reference.
Thanks
Queue is outside the scope of OSB.
Creation of JMS Q is dealt in weblogic server console. http://download.oracle.com/docs/cd/E11035_01/wls100/messaging.html.
Easier way is to create a JMS proxy and if every thing is correct, OSB should have already created a JMS Q for you after activation.
Thanks
Manoj
Edited by: Manoj Neelapu on Feb 4, 2010 9:52 AM
Similar Messages
-
Need help to connect tibco jms queues from OSB
Hi,
We have a requirement in our project "to connect tibco JMS Queues from OSB".
The Queres are created by some othes in remote system, they provided us the details to connect the Queue. the detail are:
Queue Name :EXT_WEALTHHUB.TO_EXT.SYNC.REQ
Jndi Factory :SSLQueueConnectionFactory
and hostName , PORT
Credentails are provided.
We entered the same details in Business service in transport page by choosing 'jms' as protocol and EndpointURI as.
"jms://100.10.XX.YY:1234/SSLQueueConnectionFactory/EXT_WEALTHHUB.TO_EXT.SYNC.REQ"
And we created a service account to maintain the credentials and browsed the same at service account in the business service.
In JMS Transport Page we selected
Response Queue : One for all Request URI's
Response Pattern : JMS CorrelaltionID
Response UI :jms://100.10.XX.YY:1234/SSLQueueConnectionFactory/EXT_WEALTHHUB.TO_EXT.SYNC.RESP
when we are trying to establish a connection with the above queue getting
javax.naming.CommunicationException [Root exception is weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: er.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:733)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:689)
at weblogic.jms.common.CDS$DD2Listener$1.run(CDS.java:1018)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS$DD2Listener.getInitialContextFromListener(CDS.java:1012)
at weblogic.jms.common.CDS$DD2Listener.getInitialContext(CDS.java:984)
at weblogic.jms.common.CDS$1.run(CDS.java:436)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS.createInitialContext(CDS.java:431)
at weblogic.jms.common.CDS.getDDMembershipInformation(CDS.java:270)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManagers(MessageDrivenBeanInfoImpl.java:1455)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.activate(MessageDrivenBeanInfoImpl.java:1252)
at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1320)
at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:493)
at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:227)
at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:531)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:165)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:157)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: in.checkLoginSuccess(Login.java:131)
at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:403)
at weblogic.rjvm.t3.ConnectionFactoryT3.createConnection(ConnectionFactoryT3.java:34)
at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1777)
at weblogic.rjvm.ConnectionManager.findOrCreateConnection(ConnectionManager.java:1417)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:437)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:316)
at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate$1.run(WLInitialContextFactoryDelegate.java:345)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:340)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:198)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl$2.run(MessageDrivenBeanInfoImpl.java:748)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.doPrivilagedAction(MessageDrivenBeanInfoImpl.java:2238)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:733)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:689)
at weblogic.jms.common.CDS$DD2Listener$1.run(CDS.java:1018)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS$DD2Listener.getInitialContextFromListener(CDS.java:1012)
at weblogic.jms.common.CDS$DD2Listener.getInitialContext(CDS.java:984)
at weblogic.jms.common.CDS$1.run(CDS.java:436)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS.createInitialContext(CDS.java:431)
at weblogic.jms.common.CDS.getDDMembershipInformation(CDS.java:270)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManagers(MessageDrivenBeanInfoImpl.java:1455)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.activate(MessageDrivenBeanInfoImpl.java:1252)
at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1320)
at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:493)
at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:227)
at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:532)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:165)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:158)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1269)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentM
Any pointers on how to resolve the above issue will be a greate help to us.
Thanks in AdvanceWrong forum, please ask this on dedicated weblogic or soa forums
-
Integration Oracle Advance Queue with OSB
We are doing integration for Oracle Advance Queue with OSB.
I created an AQ adapter in Jdev and generate the WSDL and XSD.
I imported both WSDL and XSD in OSB Project.
When i am configuring the business service and selecting the WSDl i am not able to select Binding and ports, is it due to any issue in WSDL?
Please help.
Thanks,
Mihir PandaHi again,
I made some adjustments to your wsdl. I added the binding part and its reference to the appropriate port.
Now I reckon, you should be able to do your thing:
<wsdl:definitions
name="enq"
targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/aq/Applicatio90/Project4/enq"
xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/aq/Applicatio90/Project4/enq"
xmlns:opaque="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
xmlns:obj1="http://xmlns.oracle.com/xdb/APPS"
xmlns:ph="http://xmlns.oracle.com/pcbpel/adapter/aq/headers/payloadheaders/"
xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>
<plt:partnerLinkType name="Enqueue_plt" >
<plt:role name="Enqueue_role" >
<plt:portType name="tns:Enqueue_ptt" />
</plt:role>
</plt:partnerLinkType>
<wsdl:types>
<!-- Define AQ Headers = Payload Headers -->
<schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/aq/headers/payloadheaders/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:obj1="http://xmlns.oracle.com/xdb/APPS" >
<import namespace="http://xmlns.oracle.com/xdb/APPS" schemaLocation="xsd/APPS_WF_EVENT_T.xsd"/>
<complexType name="enqHeaderCType" >
<sequence>
<!-- payload header -->
<element name="PayloadHeader" type="xs:string" />
</sequence>
</complexType>
<element name="enqHeader" type="ph:enqHeaderCType" />
</schema>
<schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
xmlns="http://www.w3.org/2001/XMLSchema" >
<element name="opaqueElement" type="base64Binary" />
</schema>
</wsdl:types>
<wsdl:message name="Enqueue_msg">
<wsdl:part name="opaque" element="opaque:opaqueElement"/>
</wsdl:message>
<wsdl:message name="Header_msg">
<wsdl:part name="Header" element="ph:enqHeader"/>
</wsdl:message>
<wsdl:portType name="Enqueue_ptt">
<wsdl:operation name="Enqueue">
<wsdl:input message="tns:Enqueue_msg"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Enqueue_Binding" type="tns:Enqueue_ptt">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="Enqueue">
<soap:operation soapAction="put_your_own_URI_here"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="EnqueueService">
<wsdl:port name="Enqueue_ptt" binding="tns:Enqueue_Binding">
<soap:address location="No Target Adress"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Good luck.
Regards,
Ronald -
Read message synchronously from JMS queue using OSB
Hi,
Is it possible to read message from the JMS queue using OSB based on the request invocation. I know messages can be read from the queue but it will be polling based.
The requirement is to have an OSB proxy service (HTTP service ) an an interface to the client application. Client application invokes the proxy service and the proxy service need to read message from the JMS queue and provide the message as response to the client.
Let me know if there are any pointers.
Thanks
SandeepHi,
I spent some time trying to do this and apart from creating custom database tables etc. I was not able to achieve this.
We wanted to use in memory JMS queues in our situation.
In the end we developed a Java Web Service which preformed the on-demand read from the queue (using a particular message selector)
This is working for us without a problem
Robert -
Messages are not moving to Error Queue in OSB if Error is Raised
Hi All,
My OSB process is as below.
Queue1-->OSB-->Queue2.
OSB Proxy is listening to the Queue1.When messages comes to Queue1 Proxy will pick the message and after applying the business logic it will put the message to Queue2.
If OSB is not able to deliver the message succesfully to Queue2 then it should retry for 2 times.If retry exhausted then the message should move to the error Queue.
I have configured Queue 1 with delivery failure paramaters redelivery limit and redelivery delay.Also the Connection factory is XA enabled.Even if any error happens (i am not using reply activity in the error handler) its retrying infinitely and messages are not coming to the error Queue.If i use reply activity its not retrying its failing at first time and the message is moved out of the main Queue1.
Can any one please help me on this?
Thanks.
Edited by: 892479 on Dec 21, 2011 6:31 AMSince the messages are getting retried, it means that messages are getting rolled back to Queue1 when any errors happen. So transactional behavior is configured correctly.
Now the problem yu face is that the messages are not moving to error queue.
Make sure that you have configured following in the delivery failure tab of the queue>
Redelivery Delay Override - delay in miliseconds between retries
Redelivery Limit - number of retries
Expiration Policy - Redirect
Error Destination - Choose the error queue here
After that make sure that the Server is restarted, even though a server restart sign is not mentioned on the config page, some of these settings might not take effect without a restart. -
How to create a single business service against multiple Queues in OSB
Can I create one business servcie against multiple jms queues.
and based on content routing i want to pass the queues' JNDIname
for example
jms://localhost:7001/jms.cf/$variable_queueName
and in runtime i want to provide the queue name for variable "variable_queueName" in the above endpoint URI.
is it possible?.
Thanks,
Narasimha.
Edited by: user13154768 on Jun 2, 2010 5:03 AMYou can use routing options action to achieve this.
see Dynamic Service Invocation sample under OSB code samples :
http://www.oracle.com/technology/sample_code/products/osb/index.html
Dynamic Service Invocation Sample:
http://www.oracle.com/technology/sample_code/products/osb/samples/DYNAMIC-DISPATCH.zip -
Hi All,
Can anyone tell me where do I get the Consumers for Queue:
wlsb.internal.transport.task.queue.ftp_auto_1
wlsb.internal.transport.task.queue.ftp_auto_2
I have consumers in my 1st Queue but not in my 2nd Queue for any of the Internal Transport Queues.
Please let me know how do I solve this Issue.
Thanks !You might be better of asking this in the SOA/OSB forum. Also please add version, OS etc.
The ftp poller from OSB is always targeted to exactly one server, but at least in theory both servers should pick up the messages from the distributed Q.
What behaviour exactly are you seeing? Does it relate to the ftp poller target?
best wishes!
Blog: Oracle Fusion Middleware and Cloud Computing -
Add a JMS correlation id manually before posting it to a queue using OSB
Hi All,
Background:
A proxy services (HTTP) recieves a raw xml message. This is routed to a business service , which will post to a JMS queue on weblogic.
Requirement :
We need to add specific data from body as correlation id to the JMS message that will be posted to the queue.
I know this may sound weird but the application which is consuming the message from JMS queue wont work without this correlation id.
Please let me know if somebody have some idea to implement this through OSB.
Thanks in advance :)
Edited by: Harry1234 on 2013-03-12 04:40
Edited by: Harry1234 on 2013-03-12 04:42Hi Harry,
Inside your route, add a Transport Header action.
Direction=Outbound Request
Click on "Add Header".
Select Defined=jms, and select CorrelationID
Then set the expression
Regards,
Fabio Douek -
OSB 10.3 JMS queue problem: JMSCorrelationID is null
Hi everybody,
I am new to OSB/ALSB, and need some help regarding JMS message handling. I am trying to put some input data into a JMS queue( say, reqQueue) and to get the response from another JMS queue(say resQueue). My architecture is:
OSB proxy service->OSB business service->JMS queue(reqQueue)->BPEL process(through JMS adapter) ->JMS queue(resQueue)->OSB business service->OSB proxy service.
I have used JMSCorrelationID for response correlation. but my problem is that when I am trying to test the service from proxy service, I am getting the JMSCorrelationId as null in BPEL process as well as in the weblogic server JMS log, and as I am getting the CorrelationId as null, I am unable to correlate the response, so I am not getting any response.
This is urgent, please help me as soon as possible as possible.
Thanks in advance.
JoySovled it..
OSB 10.3 JMS queue problem: JMSCorrelationID is null -
OSB: Configuring business service for JMS Queue
Hi,
I want to produce messages into a JMS queue from OSB proxy service. I have created business service for the JMS queue. I also want to return Status code=200, Status Messgae=Success if the message is successfully inserted into the Queue. Kindly let me know how to do this.
I tried using Service Callout to call the business service but it is not allowing me to use it because my business service is a one-way operation. So, i tried with Publish activity but my doubt is how and where to configure request payload for the publish activity. I could not find any.
And how do i know if the message is successfully inserted so that i can send the Status=200 back to the calling proxy service.
Kindly help in this regard.
Thanks in advance.As suggested, use QoS=ExactlyOnce as RoutingOption within the Publish to business service. If there was any error it will send the flow to error handler where you can do a reply with failure to return HTTP status code=500 to the caller of the proxy service.
If you do a reply with success the caller will receive HTTP status code=200 -
OSB - Service to receive message from JMS and route to different queues
Hi,
I am completely new to SOA suite, so please bear my question :)
I have a requirement to send XML messages to the different queues(external client facing queue) based on their contents. These XML messages are generated inside the application based of various business scenarios.
We have adapted following approach to do it
1. Application Service will construct the message and send it to the internal JMS queue (We are intending to use JAXB objects to construct message)
2. On the OSB, we need to define a service, which will keep polling messages from this intermediate jms queue
and somehow based on some routing information, it will post those messages to the respective external facing queue.
For the first part I am using spring's JmsTemplate to send message to queue
For second part - I am not sure what should be the approach?
we are using Oracle 10g Fusion Middleware
Please guide
CheersThank you guys for all your help. Very soon I will try and see how it works. Meantime just an additional question
Do I need to define a canonical xsd for all different types of xml messages? so that proxy can extract the routing info and route the actual message to different queues?
And re-directing to different queue in OSB means I need to define business service for each queue or I can put message directly into the destination queue by referring its jndi name in the proxy service configuration?
Regards,
Y -
How to handle fixed lenth files in OSB
Hi all,
I will get a fixed length file as below
length 1 to 512
ISA00 00 086120930000 090162840692000 1012081221U003060000010710P>
GS PO6120930000 016284069 1012081221000001071X 003060
I want to convert these file to xml so that i can perform some transformation in it .
The challenge is we cant achieve this with MFL reason GS is optional you wont know you will get it or not .like that you have many elements optional non-option complex elements we are not able to achieve this . We raised a SR with oracle support they said it is not possible with MFL .
I can do this with NXSD but this fixed length file i will get it in JMS queue and OSB doesn't support JMS Adapter .So how will convert this fixed lenth file to xml in OSB.
Thanks
PhaniHi atheek,
Thanks for the response .
Can you share me u r mail ID i will share the flat file and optional and non - optional elements and input . if possible create a MFL and share with me .
i am trying with MFL its not working .Its urgent.
Thanks
Phani -
Is Message debatching in OSB using JMS transport possible
hi
I have message on JMS queue with multiple message(s) in it.
Now my requirement is to read this JMS message as multiple internal message(s) from queue using OSB JMS transport.
Is this possible from OSB JMS transport?
Thanks in advance.
-Ramakrishna GillaNo.. JMS transport wont automatically do it for you .. You will have to write a jms proxy service and have your logic to do the debatching.. alternatively you can use jms proxy as a pass thru service writing to the file system and then have the JCA file adapter to do the debatching..
-
Hi all,
we are trying to connect OSB to a MQ remote queue but we have some troubles ...
We installed WebSphere MQ 7.0.1.3:
mqm@bsrplab0008:/export/home/mqm > dspmqver
Name: WebSphere MQ
Version: 7.0.1.3
CMVC level: p701-7013TRIAL
BuildType: IKAP - (Production)
And we created into MQ below objects:
- Create a queue manager
- Start a queue manager
- Define a queue
with below MQ commands:
crtmqm -q MQ.TESTQUEUE.MANAGER
strmqm MQ.TESTQUEUE.MANAGER
runmqsc MQ.TESTQUEUE.MANAGER
define qlocal (mq.test.queue)
About OSB we performed below steps:
- Add the client jar to OSB classpath (/products/software/osb103/domains/OSBDomain/lib/com.ibm.mq.jar)
- Create MQConnection:
Connection Type mqTcpModeType
MQ Host Name 11.0.4.35
MQ Port Number 1414
MQ Queue Manager Name MQ.TESTQUEUE.MANAGER
MQ Queue Manager Channel Name CHL.WMQ.TESTQUEUE
SSL Required false
WebSphere MQ Version v6
MQ Connection Pool Size 10
MQ Connection Timeout 1800
MQ Connection Max Wait 3
- A MQ proxy (where Tmp_OSB_WMQ is the project folder in OSB):
Service Type Any XML Service
Protocol mq
Endpoint URI mq://MQ.TEST.QUEUE?conn=Tmp_OSB_WMQ/MQConnection
Polling Interval 1000
Is Response Required DISABLED
Backout Threshold 0
Process RFH2 Headers DISABLED
Content Streaming Disabled
We suppose the problem could be how we defined ‘MQ Queue Manager Channel Name’ into MQ:
runmqsc MQ.TESTQUEUE.MANAGER
DEFINE CHANNEL('CHL.WMQ.TESTQUEUE') CHLTYPE(SVRCONN)
end
--> I'm not a MQ expert :-) and it is the first time that I'm working with MQ ...
From OSB there is no error when we activate the project …
But while on MQ server we can successfully send/receive messages on the target queue:
./amqsput MQ.TEST.QUEUE
./amqsget MQ.TEST.QUEUE
We don’t get any message from OSB MQ proxy.
Do you have any hints ? Did you connect successfully OSB and MQ using MQ transport provided by OSB ?
Thanks in advance
ferpCiao Atheek,
thanks a lot for your feedback.
I run the command yu suggested:
mqm@bsrplab0008:/var/mqm/qmgrs > runmqsc MQ_TEST_MANAGER
5724-H72 (C) Copyright IBM Corp. 1994, 2009. ALL RIGHTS RESERVED.
Starting MQSC for queue manager MQ_TEST_MANAGER.
dis qs (mq_test_osb_queue) IPPROCS
1 : dis qs (mq_test_osb_queue) IPPROCS
AMQ8450: Display queue status details.
QUEUE(MQ_TEST_OSB_QUEUE) TYPE(QUEUE)
CURDEPTH(0) IPPROCS(0)
end
--> so IPPROCS is 0 !
But the queue manager is running:
mqm@bsrplab0008:/var/mqm/qmgrs > dspmq -m MQ_TEST_MANAGER
QMNAME(MQ_TEST_MANAGER) STATUS(Running)
And from AMQxxx logs I don’t see any particular error message:
10/03/11 15:20:25 - Process(10551320.1) User(mqm) Program(amqzxma0_nd)
Host(bsrplab0008)
AMQ8003: WebSphere MQ queue manager 'MQ_TEST_MANAGER' started.
EXPLANATION:
WebSphere MQ queue manager 'MQ_TEST_MANAGER' started.
ACTION:
None.
10/03/11 15:20:26 - Process(15204570.1) User(mqm) Program(amqzmgr0)
Host(bsrplab0008)
AMQ5022: The Channel Initiator has started. ProcessId(12910698).
EXPLANATION:
The Channel Initiator process has started.
ACTION:
None.
On OSB we enabled MQ-debug information (<java:alsb-mqconnection-debug>true</java:alsb-mqconnection-debug>) and when we test our OSB MQ business service we get below exception:
####<Oct 4, 2011 9:49:53 AM CEST> <Debug> <AlsbMqConnection> <bsrpdev0012> <BsizzOSBServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1317714593237> <BEA-000000> <MQOC.processing request headers>
####<Oct 4, 2011 9:49:53 AM CEST> <Debug> <AlsbMqConnection> <bsrpdev0012> <BsizzOSBServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1317714593243> <BEA-000000> <OMC.run: Sending outbound request to mq://MQ_TEST_OSB_QUEUE?conn=Tmp_OSB_WMQ/MQConnection>
####<Oct 4, 2011 9:49:53 AM CEST> <Debug> <AlsbMqConnection> <bsrpdev0012> <BsizzOSBServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1317714593243> <BEA-000000> <864039808:MQCP.borrowObject>
####<Oct 4, 2011 9:49:53 AM CEST> <Debug> <AlsbMqConnection> <bsrpdev0012> <BsizzOSBServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1317714593243> <BEA-000000> <502013420:MQCPF.makeObject>
####<Oct 4, 2011 9:49:53 AM CEST> <Debug> <SFTPTransport> <bsrpdev0012> <BsizzOSBServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1317714593253> <BEA-381830> <Created 0 tasks>
####<Oct 4, 2011 9:49:53 AM CEST> <Debug> <AlsbMqConnection> <bsrpdev0012> <BsizzOSBServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1317714593296> <BEA-000000> <MQCC.getQueueManagerConnection: error
com.ibm.mq.MQException: MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
Closure reason = 2009
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:212)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:318)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:338)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:84)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:168)
at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:772)
at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:697)
at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:657)
at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:153)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:526)
at com.bea.wli.sb.resources.mqconnection.MQConnectionPoolFactory.makeObject(MQConnectionPoolFactory.java:281)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
at com.bea.wli.sb.resources.mqconnection.MQConnectionPool.borrowObject(MQConnectionPool.java:58)
at com.bea.wli.sb.resources.mqconnection.MQConnectionContext.getQueueManagerConnection(MQConnectionContext.java:140)
at com.bea.wli.sb.transports.mq.MQOutboundMessageContext.send(MQOutboundMessageContext.java:565)
at com.bea.wli.sb.transports.mq.MQTransportProvider.sendMessageAsync(MQTransportProvider.java:501)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
at $Proxy73.sendMessageAsync(Unknown Source)
at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:547)
at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:482)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:296)
at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:68)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:125)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:123)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:128)
at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:441)
at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:169)
at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:136)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:572)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_1030_WLStub.invoke(Unknown Source)
at com.bea.alsb.console.test.TestServiceClient.invoke(TestServiceClient.java:179)
at com.bea.alsb.console.test.actions.DefaultRequestAction.invoke(DefaultRequestAction.java:117)
at com.bea.alsb.console.test.actions.DefaultRequestAction.execute(DefaultRequestAction.java:70)
at com.bea.alsb.console.test.actions.ServiceRequestAction.execute(ServiceRequestAction.java:80)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.processActionPerform(SBConsoleRequestProcessor.java:91)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.process(SBConsoleRequestProcessor.java:191)
at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133)
at com.bea.alsb.console.common.base.SBConsoleActionServlet.doGet(SBConsoleActionServlet.java:49)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:687)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:142)
at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(StrutsStubImpl.java:76)
at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167)
at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:220)
at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159)
at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)
at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199)
at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
com.ibm.mqservices.MQInternalException: MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
Closure reason = 2009
at com.ibm.mq.MQv6InternalCommunications.checkControlFlags(MQv6InternalCommunications.java:747)
at com.ibm.mq.MQv6InternalCommunications.establishChannel(MQv6InternalCommunications.java:663)
at com.ibm.mq.MQv6InternalCommunications.initialize(MQv6InternalCommunications.java:213)
at com.ibm.mq.MQv6InternalCommunications.<init>(MQv6InternalCommunications.java:109)
at com.ibm.mq.MQSESSIONClient.MQCONNX(MQSESSIONClient.java:1337)
at com.ibm.mq.MQSESSIONClient.MQCONN(MQSESSIONClient.java:1246)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:184)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:318)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:338)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:84)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:168)
at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:772)
at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:697)
at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:657)
at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:153)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:526)
at com.bea.wli.sb.resources.mqconnection.MQConnectionPoolFactory.makeObject(MQConnectionPoolFactory.java:281)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
at com.bea.wli.sb.resources.mqconnection.MQConnectionPool.borrowObject(MQConnectionPool.java:58)
at com.bea.wli.sb.resources.mqconnection.MQConnectionContext.getQueueManagerConnection(MQConnectionContext.java:140)
at com.bea.wli.sb.transports.mq.MQOutboundMessageContext.send(MQOutboundMessageContext.java:565)
at com.bea.wli.sb.transports.mq.MQTransportProvider.sendMessageAsync(MQTransportProvider.java:501)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
at $Proxy73.sendMessageAsync(Unknown Source)
at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:547)
at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:482)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:296)
at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:68)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:125)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:123)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:128)
at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:441)
at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:169)
at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:136)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:572)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_1030_WLStub.invoke(Unknown Source)
at com.bea.alsb.console.test.TestServiceClient.invoke(TestServiceClient.java:179)
at com.bea.alsb.console.test.actions.DefaultRequestAction.invoke(DefaultRequestAction.java:117)
at com.bea.alsb.console.test.actions.DefaultRequestAction.execute(DefaultRequestAction.java:70)
at com.bea.alsb.console.test.actions.ServiceRequestAction.execute(ServiceRequestAction.java:80)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.processActionPerform(SBConsoleRequestProcessor.java:91)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.process(SBConsoleRequestProcessor.java:191)
at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133)
at com.bea.alsb.console.common.base.SBConsoleActionServlet.doGet(SBConsoleActionServlet.java:49)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:687)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:142)
at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(StrutsStubImpl.java:76)
at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167)
at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:220)
at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159)
at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)
at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199)
at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
####<Oct 4, 2011 9:49:53 AM CEST> <Error> <WliSbTransports> <bsrpdev0012> <BsizzOSBServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1317714593310> <BEA-381916> <Error occured when connecting to MQ: Error trying to access queue MQ_TEST_OSB_QUEUE>
Thanks in advance
ferp -
QoS issue with OSB publish to JMS business service
Hi,
1. I have a http OSB proxy service which is publishing an audit message to a JMS queue through OSB business service.
MainProxyService (http) --> Publish (best-effort) --> AuditBusinessService (JMS) --> Audit Queue
2. I want 'Publish to JMS business service' to be a non-blocking call so that proxy service message flow can continue. Transaction support is disabled in proxy service as well as in JMS connection factory.
3. As default value of QoS (quality of service) for publish action is best-effort, ideally proxy service should continue its message flow immediately after dispatching the message to publish action and it should not block the main proxy flow.
4. But in my case, proxy service is blocking the message flow until the message is delivered to JMS business service/JMS queue. This is degrading performance of my application.
5. I think default 'best-effort' QoS is not working with JMS business service as there is a significant time lag between publish action and its next subsequent action.
6. If I replace the JMS business service with HTTP business service, then it seems to be a non-blocking call and message flow immediately proceeds to next actions.
Correct me if I am going wrong anywhere or my understanding is wrong.
Many thanks.HI,
u can use Conditional Branching
http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1061670
Split join would be used in case u need to split your request and call your Business Service in Serial/parallel & then gather resposnes from multiple callouts to have single response
http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/splitjoin.html#wp1137258
Abhinav
Maybe you are looking for
-
Oracle Grid Installer cannot list available disks
Hi all, I'm trying to install Oracle Database 11g R2 64-bit with ASM on an Oracle Enterprise Linux 5.5 64-bit. The problem I'm facing is that the Grid Infrastructure Installer cannot list available disks. In the setp of creating Diskgroups, I only se
-
Edited images are looking way too bright in Lightroom
I've been using LR for years now, but sometime in the last few months a problem developed. I import images from the camera... they look fine. When I edit them in PS and save them, they look like crap. If I open the crap-looking photos in photoshop, t
-
Hi, I have added adf authentication and authorization to my application with login page and main page. When i am trying to run main page it is able to redirect to login page but trying to reopen the login page again and again,but not login page is no
-
Creating bookmarks from access(VBA)
Hi all, Im creating a number of bookmarks from access 2010 via VBA. And it works fine except that the acrobat.exe file still remains in process permanently. Ive found that it is this line bookmarkList = bookmarkRoot.children which causes the acrobat.
-
My operating system is Snow Leopard 10.6.8. How do I upgrade to Maverick?
My operating system is Snow Leopard 10.6.8. How do I upgrade to Maverick?