cancel
Showing results for 
Search instead for 
Did you mean: 

Problem on MII Message Service

Former Member
0 Kudos

Hi.

I have been trying the Message service and been working trying to post data to MII message services using the URL

http://localhost:50000/XMII/Illuminator?Service=WSMessageListener&mode=WSMessageListenerServer&NAME=....

In the first place, I have been using the http post action block within MII, but one problem. This service returns

"Sucessfully received webservice message"

even if the XML document have not been received properly. I.e. in case of configuration errors on the post action block or similar. To check this, I have been looking at the table "SAPDI1DB"."XMII_JCOMESSAGES" and in some cases nothing is inserted here even if I get the ok return message.

My question is how to make this more secure in a real application. My idea where to make the message handling asynchronous, without having to code my own error handling around this.

My second question, I can not get the MII menu item Message Monitor to show anything, is there a trick here? The remaining are showing failed messages and messages without rules.

BR.

Poul.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi.

I will give it a try, but I am concerned about getting an ok return message even in case of it going wrong.......

BR

Poul.

Former Member
0 Kudos

Poul,

I have tested a bit. Indeed HTTP Post returns an OK even if something went wrong (e.g. wrong settings in the HTTP configuration). However, if an error occurs the HTTP return "ReturnAsString" contains the Html code with a hint on the error, which is also displayed in the NetWeaver Log.

In the following example I have mistyped the Mode in the URL. The HTTP action return the StatusText "OK" and the StatusCode "200", but the body of the returned Html in the "ReturnAsString" variable contains:


<body>
<table cellspacing="1" cellpadding="1" border="1" align="" class="DetailTable">
<tr class="Detail">
<th class="DetailHeaderData">Fatal Error</th>
</tr>
<tr class="Detail">
<td class="DetailData">Execution mode WSMessageListenerServerr is not 
supported with this server or content type</td>
</tr>
</table>
<p></p>
</body>

Maybe you can check if the text "Fatal Error" exists, and stringpart the text of the "th class=DetailData" node.

Michael

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Michael.

I have been looking at that reply, but will have another look at it tomorrow.

And thanks a lot for this !

BR.

Poul.

Former Member
0 Kudos

Poul,

regarding to your second question "Message Monitor", did you get working this? If not, please check

your Windows Regional Settings (think it will be DK). In the UME assign to your user the language DK

and try the Message Monitor again. I am sure that now will work. Let me know the result.

Regards

Pedro

Former Member
0 Kudos

Hi Michael.

I have been looking at all the nodes, and all returns OK. Nothing to indicate an error

With regards to the other issue, I will have a look tomorrow.

BR.

Poul.

jcgood25
Active Contributor
0 Kudos

With NW there is no more free security pass, so even with localhost you will need to authenticate the request, and instead of this:

http://localhost:50000/XMII/Illuminator?Service=WSMessageListener&mode=WSMessageListenerServer&NAME=...

Try this:

http://localhost:50000/XMII/Illuminator?Service=WSMessageListener&Mode=WSMessageListenerServer&Name=...

Also make sure to set the content type in the configure dialog to: text/xml and the encoding to: UTF-8

Then linking your xml (tag query results is a simple test) to the post data should be quite simple.

Looking in the DB table is an easy way to see if it got there (as long as you have access to the table) but the Message Monitor link from the Menu should also show a history of received messages (in this case without a processing rule).

Former Member
0 Kudos

Hi Poul,

instead of using the message "Sucessfully received webservice message", you may also check other nodes that are contained in the HTTP Return Message. You can also use the HTTP return Code, e.g "200" for correct calls. Maybe this helps,

Concerning the Message Monitor display...the only thing that sometimes confuses is the time interval. If you start the Monitor, the start and end time is preset. If you only refresh the display, the time intervall does not change. If you do not restart the Monitor once in a while, you will run out of the selected time intervall, and from then on nothing is displayed.

However, if you do not change any default values, it should display all that in the queue for the last 24 hours.

Michael