We have a requirement to poll for Update Notification from Database and use JMS messaging for the published documents. So I have configured the JMS as per the below steps and it is working fine with Topics.
However, I need to use JMS Queues for my Requirement and I am getting below error message:
Created the following for the above scenario with Topic:
My webMethods Server:
Created JMS Provider through "Administration → Messaging → Naming Directories → Providers–> Add"
Created Connection Factory through "Administration → Messaging → Naming Directories → Connection Factory → Add Connection Factory"
Created Destination of type "Topic" and specified the JMS Provider created in Step 1 ("Administration → Messaging → Naming Directories → Destinations → Add"
Added the Topic name in Document Types ("Administration → Messaging → Broker Servers → Document Types → Add Topic")
Added the Topic name in "Can Publish & Can Subscribe" tabs in "Administration → Messaging → Client Groups → IS-JMS(CG Name) and admin(CG Name)".
Integration Server Admin:
Created JNDI Provider Alias through "Settings → Messaging → JNDI Settings → Create JNDI Provider Alias" and used the same Provider name as MWS
Created JMS Connection Alias through "Settings → Messaging → JMS Settings → Create JMS Connection Alias" and specified the CF and Provider names created in Step 2 and 6.
Created the Update Adapter Notification in Developer and specified the JMS Connection alias (Created in Step 7) and Destination Lookup name from Step 3 and Destination type as "Topic".
Created a JMS trigger and gave the Adapter Notification document and Flow service.
The service is getting invoked whenever a row is updated in DB Table. The above scenario is working fine with Topics. I am unable to find and add the Queue Document type in "Can Publish and Can Subscribe" for Client Groups (IS-JMS and admin) so not able to perform Steps 4 and 5.
Could anyone of you tell me the process to use JMS Queue for the above requirement?
I am getting the below error message while using JMS Queues: Unable to send message to JMS provider "JMS_Provider": com.wm.app.b2b.server.jms.JMSSubsystemException: javax.jms.JMSSecurityException: [BRM.10.5001] JMS: No send permissions for event type "JMS::Queues::RequestInfo_Queue_Dest_Nm" in client group "IS-JMS"
it’s a very old topic, you might have got the answer for this issue. but interest of other people responding to this post.
Probably following these steps will resolve that issue
Create the document type"“JMS::Queues::RequestInfo_Queue_Dest_Nm” in MWS
Navigate to IS-JMS client group and select can publish and subscribe then that exception will not be thrown
I am getting the below exception, while creating the provider through MWS.
java.lang.Exception: Error: Encountered an exception when adding the JNDI provider.
at com.webMethods.caf.msg.msgutil.ProviderAPI.addProviderAction(ProviderAPI.java:471)
at com.webMethods.caf.msg.addproviders.AddProvidersDefaultviewView.addProvider(AddProvidersDefaultviewView.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
at com.webMethods.caf.faces.application.CAFMethodBinding.invoke(CAFMethodBinding.java:67)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
at javax.faces.component.UICommand.broadcast(UICommand.java:312)
at com.webMethods.caf.faces.component.ViewRoot.broadcastEvents(ViewRoot.java:202)
at com.webMethods.caf.faces.component.ViewRoot.processApplication(ViewRoot.java:116)
at com.webMethods.caf.faces.portlet.PortletLifecycle$InvokeApplicationPhase.execute(PortletLifecycle.java:670)
at com.webMethods.caf.faces.portlet.PortletLifecycle.phase(PortletLifecycle.java:250)
at com.webMethods.caf.faces.portlet.PortletLifecycle.execute(PortletLifecycle.java:145)
at com.webMethods.caf.faces.portlet.FacesPortlet.processAction(FacesPortlet.java:327)
at com.webMethods.portal.framework.portletcontainer.impl.PortletApplicationHandler.process(PortletApplicationHandler.java:477)
at com.webMethods.portal.framework.portletcontainer.servlet.PortletServlet.service(PortletServlet.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:286)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171)
at com.webMethods.portal.framework.portletcontainer.PortletContainer.dispatch(PortletContainer.java:218)
at com.webMethods.portal.framework.portletcontainer.PortletContainer.process(PortletContainer.java:129)
at com.webMethods.portal.framework.portletcontainer.PortletContainer.processPortletAction(PortletContainer.java:107)
at com.webMethods.portal.framework.portlet.beans.rest.RestfulPCAHandler.handle(RestfulPCAHandler.java:182)
at com.webMethods.portal.framework.dispatch.DispatchManager.handle(DispatchManager.java:438)
at com.webMethods.portal.framework.dispatch.DispatchManager.handleDispatch(DispatchManager.java:371)
at com.webMethods.portal.framework.impl.PortalServlet.service(PortalServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
at com.webMethods.portal.framework.impl.NTLMFilter.doFilter(NTLMFilter.java:66)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
at com.webMethods.caf.faces.servlet.GZIPFilter.doFilter(GZIPFilter.java:32)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
at com.webMethods.portal.framework.impl.RequestFilter.doFilter(RequestFilter.java:56)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
at com.webMethods.caf.faces.servlet.XSSFilter.doFilter(XSSFilter.java:22)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at com.webMethods.portal.webApplication.WmWebAppContext.handle(WmWebAppContext.java:161)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Solution: I have created a folder “lib” under server/default path and placed the wmjmsnaming.jar file.
after restarting the MWS and Integration server we are able to create the JMS Provider.