on 02-22-2012 6:44 AM
Hi All,
I have created Webservice(URL) for an transaction through Message Processing rule, with server name: 'XMIIMESSAGELISTENER'
URL: http://<IP Address>/XMII/Illuminator?Service=WSMessageListener&mode=WSMessageListenerServer&NAME=Shop_order_data&XacuteLoginName=<username>&XacuteLoginPassword=<passwrd>
Above URL or transaction has 1 input(XML) and 1 output(string)
As it tested from Oracle system, its working fine and updating all the data and saving xml file in MII DB.
As it save data in MII, it will send success message(string) in the output parameter of transaction.
This message has to send back Oracle system
Issues is, they are not recieving success message.
Is Message Process rule wont return any value or message from MII transaction to other system?
Please help me on this
Thanks,
Kind Regards,
Praveen Reddy M
Hi Praveen
The WSMessageListener HTTP Service does not process the incoming message immediately.
What you have done in MII.
1. Created a MII Transaction with an Input Param type XML and an Output Param Type String.
2. Configure the Transaction in MII Processing Rules for WSMessageListener server.
3. Sent XML Message to URL http://<IP Address>/XMII/Illuminator?Service=WSMessageListener&mode=WSMessageListenerServer&NAME=Shop_order_data&XacuteLoginName=<username>&XacuteLoginPassword=<passwrd>
What happens in the system:
1. MII WSMessageListener receives the XML Message and stores the message in MII DB.
2. It invokes the processing rule and runs the transaction that was configured for it.
3. Message status is set to Success.
This means that MIIWSMessageListener does not run the Transaction immediately upon receiving the XML Message. Hence the response of the Transaction output is not sent to the sender application. The reason for this is that the WSMessageListener service is treated as an asynchronous service where the sender does not care about the response of the receiver.
If this is not what you want then you can run your transaction in one of the following ways:
1. http://<host:<port>/XMII/Runner?Transaction=<project/folder/trx name>&OutputParameter=<paramname>
2. with a Soap Message to the URL http://<host>:<port>/XMII/SoapRunner/<Transaction full path>. Please note that this service expects a SOAP Message and not just an XML payload.
Hope this helps you.
Regards
Partha
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sarathi,
Thanks for response
exactly you have understood what i mean to ask
So i need to use direction transaction as URL to receive xml file from oracle and sending back success message.
And onemore thing, as you mentioned in webservice(URL) for transaction
http://<host:<port>/XMII/Runner?Transaction=<project/folder/trx name>&OutputParameter=<paramname>
Is i need to add output parameter also. Here i didnt get you
Thanks,
Kind Regards,
Praveen Reddy M
Hi Praveen
You cannot post a message to Message Listeners and expect a response from the Transaction that is executed. The only way to achieve this would be to call a HTTP URL from the transaction back to the Oracle System to post the response. This will be in a separate context.
As I mentioned earlier the Message Listeners are for asynchronous messaging.
Regards
Partha
Hi Sarathi,
Thanks for your knowledge share,
Can you please tell in steps or procedure to create transaction for category(processing type) which we specific in the Message Processing rules
As this also work asynchronous
And if i create webservice URL direct to the transaction which i have mentioned previously, then this will send back success message to oracle DB.
Thanks,
Kind Regards,
Praveen Reddy M
Edited by: praveen2425 on Feb 23, 2012 6:21 AM
Hi Praveen
With categories also Message Listeners will work in asynchronous mode. What a Category does is instead of running a Transaction it just marks the incoming message o be of a certain category. You can then read the messages for a certain caegory through BLS Actions and process them. The messages are always returned in order of the received timestamp.
How to use this:
1. Create a Processing Rule in MII Message Listener and choose processing type as Category. Select or Add a Category for the messages.
2. Send messages to MII Message Listeners.
3. You can see in the Message Monitor that these messages are stored with Status Categorized and the category name is displayed.
4. Create a BLS Transaction using the Actions under the head "Message Services". First Query the messages in a Category using the Query Messages action. Next pass ID of each of these messages to the Read Message action to get the XML Payload. Proces them and then set the appropriate status of the messages using the Update Message action.
5. Schedule this transaction in MII Scheduler and run it at appropriate frequencies.
Regards
Partha
User | Count |
---|---|
3 | |
3 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.