Oracle Service Bus (OSB) Proxy Service Endpoint URI change - jms

We have an OSB Proxy Service which is currently setup to receive messages from an external jms queue endpoint URI. We have been tasked with creating a JMS bridge over which to receive external messages.
To this end, we have created a bridge with local jms in/out queues and proceeded to edit the OSB Proxy Service's Endpoint URI from that of the old external jms queue to that of our new local bridge's jms queue. However, when we try to activate the changes, we get: Exception in AppMerge flows' progression message.
Being quite new to all things OSB, I am unsure as to what this error means and whether re-pointing a Proxy Service's Endpoint URI from remote jms queue to local bridge's jms queue is enough for what we are attempting to do.
Any thoughts on this matter would be much appreciated!
Our OSB version is 10gR3.
Regards,
PM.

I think your Proxy is not deployed correctly. I think after creating the bridge and queues, restart your server and then try to work.

Related

PCF app connecting to Spring AMQP - different messaging service after binding app to RabbitMQ service

I am new to PCF and need some help understanding the root cause of an issue I am facing.
We have one PCF application that is connecting to Rabbit MQ (no binding done on the Rabbit MQ service yet). the messages get passed through the application to queues created on this Rabbit MQ instance. so far so good.
But when we bind again the application to the same Rabbit MQ instance and restage the application, it starts getting connected to a different messaging instance and the message is being relayed to that messaging service and no message transfer happened on expected Rabbit MQ instance although I can't see the actual movement of messages because I might not be having access to the mystery messaging service (I say that because two spring boot services are communicating as expected and the process gets completed).
I am clueless as to what is changing in the application by binding it to Rabbit MQ. is it a default spring implementation of spring AMQP which is interfering here? what can I do to stop this behavior? I haven't provided any parameters while binding the app to Rabbit MQ.
I tried to put the loggers to find out the name of the exchange it's getting connected to but it's still the same exchange, but I can't see the messages flowing and can't explain the phenomenon to the client.
Try to look at the service key of the your rabbit instance and that will give you hostname etc. i.e. rabbitmq details where you are connecting to after binding.
cf service-key SERVICE_INSTANCE SERVICE_KEY
Not sure if there is any default setting in the app that's being used for setting up the connection to a different rabbit instance in absence of binding.

Calling AMQ Listener from APIGEE Proxy end point

I am creating the APIGEE proxy from APIGEE edge. Its target is a Mule deployed application which has no HTTP listener. It is only triggered by AMQ listener. Is there any way to connect to that deployed application and trigger it from APIGEE proxy?
I have tried browsing all the APIGEE blogs, but I'm unable to get the accurate and actual solution.
This question is not about the Mule application, which is just passively expecting incoming messages in an ActiveMQ queue. You need to send a message to that queue from the Apigee Edge proxy. For that I think you need to use a Java callout policy and do the operation in Java code.

OSB - JMS State String

I have a proxy service calling a business service that put a message on a queue, my problem is that the State String on Weblogic Console remains "send transaction" instead of "visible", this cause my BAM consumer not be able to take this message from the queue. Is there any configuration that I need to do on proxy or business service to change this state? I also have the transactions required checked on proxy service to guarantee the message be removed only In case of success.
Assuming you on 11g as you refer to "proxy" (not pipeline) calling business service.
Are you sure the proxy service is completing the action without errors?
If you are using an XA JMS connection factory to push to the JMS queue, are you sure the XA transaction is committing fully? Logs/weblogic JTA monitoring tab might have clues.
Alternately, first try using a non-XA connection factory and see if that works.

Oracle OSB Proxy service Error

I have created a jms consuming proxy service with queue created using Oracle AQ. And the proxy service is routed to Business service which enqueues same message into different queue created using orace AQ.
Proxy service is running fine and the message is put in to destination queue, but its throwing error message as below
unexpected failure while processing an incoming message for endpoint proxy service
and I think because of the erorr, the service is retrying again and the message is posted to destination queue 16 times.
Please help me in resolving this.
Thanks.
Try to play with the transaction in the Proxy service or the JMS retries. It could be the Global transaction setup that is giving the error.

What is Foreign JMS provider? What is the typical role of Weblogic in a JMS application?

Currently I am working on a JMS application. But I use plain JMS API and Property file for configurations. My application is running in Weblogic and connects to MQ series server of my client.
Recently I got to know I can use Weblogic for JMS configurations.
Please explain.
What is "Foreign JMS provider"?
Is Weblogic also a JMS server or Foreign JMS provider or Both?
Weblogic provides the JMS Server features fully compliant with all JMS spec elements such as ConnectionFactory and Destinations. On this JMS Server you can connect and send messages to the client's Messaging Server via a configured Destination.
In addition using Weblogic as the JMS Server gives you lot many features such as Message Retry in case of failure, setting message quotas as well as enhanced monitoring of the JMS Server to track errors. The idea is to have more configuration driven settings for performance, deadlocks, tuning, filestore or database store etc.
A full list of such features is given at http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms/fund.html#wp1071787
A Foreign JMS Provider in Weblogic is the term used to define JMS implementations other than Weblogic JMS. An example is IBM MQ in your case.
Once the Foreign Provider is configured within Weblogic, for all practical purposes within the code - it can be called as if it was on local JNDI lookup. Weblogic will make the remote calls transparent to your code. This allows you to change your destination via configuration on the Weblogic console.
You will need a Messaging Bridge within Weblogic JMS Server to connect a source destination from which messages are received, and a target destination to which messages are sent.
Some essential reading on this is at: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms_admin/advance_config.html#wp1075917
and an example of configuring IBM MQ as a Foreign Provider is at http://www.ibm.com/developerworks/websphere/library/techarticles/0604_kesavan/0604_kesavan.html#N1011D

Resources