Does not match the JNDI name <null> of the message destination - webserver

MapMessageDes W ADMA0182W: The JNDI name queue/TestDrivenBean specified for the message destination reference queue/TestDrivenBean does not match the JNDI name <null> of the message destination
Does anyone have any idea about this error?

Check the configuration of your message destination references (see this knowledge center article) to see if there is one called queue/TestDrivenBean that is not bound to any destination.

Related

Mirth - How to handle response when having multiple destinations

I created a channel with 2 destinations.
Each one of the destination has a different response and i decide if to use it by filtering message source.
Example 1:
Sending [Message] ->
Destination 1 FILTERED return no response
Destination 2 SENT return [response x]
I want source response to be [response x] but it is not
Example 2:
Sending [Message] ->
Destination 1 SENT return [response y]
Destination 2 FILTERED return no response
I want source response to be [response y] but it is not.
How can i set source response to match SENT destination?
I tried to set Source settings Response on each of the mirth drop-down options, with no success.
You can't use a destination as your response in your situation, as it must always pick the same destination. You do have a couple options, though.
You can use the post-processor for your response. The post-processor can see the results of all destinations and determine an appropriate value to return.
You can use a responseMap variable. In the response transformer of each destination place the value you want to use as the response into the responseMap. Use the same key for all destinations. You will be able to select that variable as your response in the source tab of your channel. You may want to set a default response in your pre-processor or source transformer in case your destination has an error before setting the variable.

Sccp layer problem during message transmission

I made a client-server association with ss7 but am receiving error of (Received SccpMessage for translation but no matching rule found )
INIT message and INIT-ACK have been exchange between client and server.
But onSending message i am receiving this error:
05:52:21,865 WARN [org.mobicents.protocols.ss7.sccp.impl.SccpRoutingControl] (SLEE-EventRouterExecutor-17-thread-1) Received SccpMessage for Translation but no matching Rule found for local routing
SccpMessage=Sccp Msg [Type=-1 networkId=0 sls=1 incomingOpc=-1 incomingDpc=-1 outgoingDpc=-1 CallingAddress(pc=0,ssn=146,AI=18,gt=GlobalTitle0100Impl [digits=0350102, natureOfAddress=INTERNATIONAL, numberingPlan=ISDN_TELEPHONY, translationType=0, encodingScheme=DefaultEncodingScheme[type=UNKNOWN, code=0]]) CalledParty(pc=0,ssn=146,AI=18,gt=GlobalTitle0100Impl [digits=0350101, natureOfAddress=INTERNATIONAL, numberingPlan=ISDN_TELEPHONY, translationType=0, encodingScheme=DefaultEncodingScheme[type=UNKNOWN, code=0]]) DataLen=103]
Can someone Help
Received SccpMessage for Translation but no matching Rule found
You need to create at least one sccp routing rule for the GT (Global Title) in the Called Party Address (0350101) and later you'll probably need another rule for the GT you've put in the Calling Party Address.
See 7.4.17. Create a new SCCP Rule and 7.4.13. Create a new Primary/Backup address
See also:
smsc-starting-and-running-in-simulator-mode.adoc
ussd-how-to-configure-multi-tenancy-and-initiate-sctp-session.adoc
https://groups.google.com/forum/#!topic/mobicents-public/qwujAVVgbAQ

Smack throws NullPointerException in Roster's presence listener

I'm using Smack with android chatting applications and recently I have updated Smack to version to 4.3.0 and getting some error in fabric. It is a NullPointerException inside of Smack:
Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
java.util.concurrent.ConcurrentHashMap.get (ConcurrentHashMap.java:772)
org.jivesoftware.smack.roster.Roster.getPresencesInternal (Roster.java:374)
org.jivesoftware.smack.roster.Roster.getOrCreatePresencesInternal (Roster.java:388)
org.jivesoftware.smack.roster.Roster.access$1100 (Roster.java:94)
org.jivesoftware.smack.roster.Roster$PresencePacketListener$1.run (Roster.java:1502)
org.jivesoftware.smack.AsyncButOrdered$Handler.run (AsyncButOrdered.java:121)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
java.lang.Thread.run (Thread.java:818)
"Use the source, Luke (and study the relevant open standard)" Obi-Wan Kenobi
Smack is open soure, so let us look at the source: One interesting part is
org.jivesoftware.smack.roster.Roster.getPresencesInternal (Roster.java:374)
which reads
Map<Resourcepart, Presence> entityPresences = presenceMap.get(entity);
Source: https://github.com/igniterealtime/Smack/blob/4.3.0/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java#L374
We also find that presenceMap is declared as follows
private final Map<BareJid, Map<Resourcepart, Presence>> presenceMap = new ConcurrentHashMap<>();
Source: https://github.com/igniterealtime/Smack/blob/4.3.0/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java#L168
So it is a ConcurrentHashMap, which matches with the stacktrace. It is obvous that entity above is null, which is the cause of the NullPointerException.
Now we need to walk the call stack up (or down, depening on your point of view), to determine where entity origins from. Here the interesting part is
org.jivesoftware.smack.roster.Roster$PresencePacketListener$1.run (Roster.java:1502)
which reads
userPresences = getOrCreatePresencesInternal(key);
Source: https://github.com/igniterealtime/Smack/blob/4.3.0/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java#L1562
so enitty is key here. Which is declare and define just a few lines above
final BareJid key = from != null ? from.asBareJid() : null;
Source: https://github.com/igniterealtime/Smack/blob/4.3.0/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java#L1562
So in case from is null, keywill also be null. Which later causes theNullPointerException. Looking at the code, we find that this is caused by a presence XMPP stanza without a from` attribute set.
The question is now if those stanzas are legal in XMPP. To determine that, we need to have a look at the specification. The relevant part is [RFC 6120 ยง 8.1.2.1 4.],1, which states
When the server generates a stanza from the server for delivery
to the client on behalf of the account of the connected client
(e.g., in the context of data storage services provided by the
server on behalf of the client), the stanza MUST either (a) not
include a 'from' attribute or (b) include a 'from' attribute
whose value is the account's bare JID (localpart#domainpart).
So a missing 'from' attribute is generally allowed and is equal to the "account's bare JID".
Now the question is: Are there any presence stanzas specified send from the server to the client which do not have a 'from' attribute? I could not find any while reading the related RFC 6121. And I am not aware when this should ever happen (I possibly could be missing someting). But right now this appears to be a bug in the entity which creates those presence stanzas, which is the used XMPP server implementation.
(What XMPP server implementation do you use?).

Mirth Connect - get sent from destination

I have 2 destinations in my channel. One is an http sender, the 2nd gets the response from the http sender but I would also like to pull what was sent from that destination also. Can't seem to find the command if one exists to grab that.
I understand your question like this:
You want to know what was sent from the second destination?
My guess is like you can fetch the output of transformer on the destination end.
Inside tranformer i used connectorMessage.getEncodedData() or on the destination we can use the channel map variable ${message.encodedData} both of them works in the same way it pulls what comes out of your destination.
You can try same connectorMessage functionality in the destination transformer or on destination writer to pull the output of what comes from the destination. Hope it works.

JMS QueueRequestor and deleted Destination

I'm using Activem MQ 5.3.1
My configuration is good for classical async messaging
I try to use a QueueRequestor
The message is effectively sended, recieved.
But when it's time to answer on the temp queue i've got this exception raised
javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:......
the destination doesn't exist
I'm using the default conf for activemq
Any idea??
I just find my answer
the implementation of queuerequestor is made for send and recieve on the same jmsSession.
That's why the reciever of the requestor never seen any message, and why the temp destination could'n be use topublish message
My solution is to create a requestor with two session.
The actuall implmentation will be very similar to the one on the blog post above