cancel
Showing results for 
Search instead for 
Did you mean: 

Message stops at XML outbound validation without error

Former Member
0 Kudos

Hi,

The system is Pi 7.1 EHP 1

My scenario is synchronous http - Pi - jdbc.

I send one message to PI and I can see it in sxmb_moni without error.

The message stops at "XML validation Outbound Channel Request.

There is no error, the jdbc receiver channel has status "Functioning" (but is is not reached i think)

Can someone explain why my message stops where it does? And what are my next steps?

Kr

Robert

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Robert,

Its a common error in PI 7.1 and above. Go to your receiver agreement and check the following:

Is the Schema Validation option enabled? i.e. the Box beside "Validation By Integration Engine" is checked/ticked.

Remove the tick and your interface will work surely.

If you want to have the schema validation, then keep the correct schema in your PI application server directory and it will verify the schema and process/thorw error accordingly.

Cheers,

Souvik

Former Member
0 Kudos

Hi Souvik,

Unfortunately the box was not ticked. I ticked it just to try what happens, but i got red flag, so i unticked again.

Back to square 1 i'm afraid.

kr

Robert

Former Member
0 Kudos

can you use the payload in Integration Directory test tool (In Interface Determination) and check if the steps are correctly executed?

if it is successful, then there should be some issue with connectivity with the jdbc server in runtime. check channel settings and connectitvity etc.

also pls check the Trace section in moni (for the last step) for the processed message for additional info.

Souvik

Former Member
0 Kudos

Hi Souvik,

IN test tool all is OK. Four steps all get green checkmarks.

IN trace in SXMB_MONI i dont see anything wrong. Just stops processing.

I post the last few steps from the trace:


<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" /> 
- <Trace level="1" type="B" name="PLSRV_OUTBOUND_BINDING">
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
- <Trace level="1" type="B" name="CL_XMS_PLSRV_OUTBINDING-ENTER_PLSRV">
  <Trace level="2" type="T">O U T B O U N D - B I N D I N G</Trace> 
  <Trace level="2" type="T">Cache Content is up to date</Trace> 
  <Trace level="2" type="T">determine OUTBOUND BINDING for:</Trace> 
  <Trace level="2" type="T">-ATG</Trace> 
  <Trace level="2" type="T">-AS400</Trace> 
  <Trace level="2" type="T">urn:delixl:poc.SIIS_PriceCall_JDBC</Trace> 
  <Trace level="2" type="T">Channel found: * - AS400 - CC_PriceCall_JDBC_RCV</Trace> 
  <Trace level="2" type="T">no header mapping defined</Trace> 
  </Trace>
  </Trace>
  </Trace>
  </Trace>
  <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" /> 
- <Trace level="1" type="B" name="PLSRV_XML_VALIDATION_RQ_OUT">
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
- <Trace level="1" type="B" name="CL_XMS_PLSRV_VALIDATION-ENTER_PLSRV">
  <Trace level="1" type="T">Reading receiver agreement</Trace> 
  <Trace level="1" type="T">Outbound validation does not take place</Trace> 
  </Trace>
  </Trace>
  </Trace>
  </Trace>
  <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" /> 
- <!--  ************************************ 
  --> 
  </SAP:Trace>

And that is just it....

kr

Robert

Former Member
0 Kudos

Hi Robert,

Thanks for pasting the Trace. It clears a lot...

Firstly, since the test in ID is working fine, that means your design and config is OK. Now as per your trace it is clear that the pipeline steps till read receiver agreement is executed.

The Call Adapter step is not executed. This clearly means that there is some problem in the receiver adpater configuration or the connectivity with the same.

The reason why it shows OK in moni is due to the fact that it has received Receiver agreement step.

*Usually after your Trace steps the foll appears which is not visible in your trace* (this ex is for file to idoc in one of my interface) :

- <Trace level="1" type="B" name="CL_XMS_PLSRV_VALIDATION-ENTER_PLSRV">

<Trace level="1" type="T">Reading receiver agreement</Trace>

<Trace level="1" type="T">Outbound validation does not take place</Trace>

</Trace>

</Trace>

</Trace>

</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />

- <Trace level="1" type="B" name="PLSRV_CALL_ADAPTER">

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV" />

- <!-- ************************************

-->

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />

- <!-- ************************************

-->

<Trace level="1" type="T">----


</Trace>

<Trace level="1" type="T">---- Outbound IDoc-Adapter -


</Trace>

-some steps etc

-some steps etc

-some steps etc

-some steps etc

</SAP:Trace>

Please check the connectivity with the server.

Regards,

Souvik

Former Member
0 Kudos

Hi Souvik,

After some more inspection it turns out that the message-log gets updated after a couple of minutes. The main error is that the message expires and the trace gives the following extra information:


<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" /> 
  <Trace level="1" type="B" name="PLSRV_CALL_ADAPTER" /> 
- <!--  ************************************ 
  --> 
  <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV" /> 
- <!--  ************************************ 
  --> 
  <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" /> 
- <!--  ************************************ 
  --> 
  <Trace level="1" type="B" name="CL_XMS_PLSRV_IE_ADAPTER-ENTER_PLSRV" /> 
- <!--  ************************************ 
  --> 
- <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP">
  <Trace level="2" type="T">return fresh values from cache</Trace> 
  <Trace level="1" type="T">Get logon data for adapter engine (SAI_AE_DETAILS_GET):</Trace> 
  <Trace level="1" type="T">URL = http://<host>:<port>/MessagingSystem/receive/AFW/XI</Trace> 
  <Trace level="1" type="T">User = PIISUSER</Trace> 
  <Trace level="1" type="T">Cached = X</Trace> 
  <Trace level="1" type="T">Security: Basic authentication</Trace> 
  <Trace level="1" type="T">Serializing message object...</Trace> 
  <Trace level="1" type="T">Tuning - AFW_MAXREQUESTCONTENTLENGTH 2000000000</Trace> 
  <Trace level="1" type="T">HTTP-client: request sent</Trace> 
  <Trace level="1" type="T">HTTP-client: response received</Trace> 
  <Trace level="1" type="T">HTTP-client: status code = 200</Trace> 
  <Trace level="1" type="T">Deserializing message object...</Trace> 
  <Trace level="1" type="T">HTTP-client: parsed & response message object created</Trace> 
  </Trace>
  <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" /> 
- <!--  ************************************ 
  --> 
  </SAP:Trace>

If you have any thoughts on this, please share.

-


Also you say:

"Please check the connectivity with the server."

What is the best way to check this?

-


And yes i'm also wondering if connection from IE to AE is still good. Asked the question to Basis people, no reply yet though.

Kr

Robert

Edited by: R. den Hoedt on Mar 29, 2011 9:20 AM

Edited by: R. den Hoedt on Mar 29, 2011 9:27 AM

Former Member
0 Kudos

Hi Robert,

the trace seems ok.. status 200 is OK.

can u ask the basis team whether the connectivity settings (port opening) etc has been done for the jdbc server.. and if all paramters r correctly maintained?

Be rest assured that your config and dev is absolutely fine, only the connectivity with the jdbc server is the issue... need to test that i guess..

Souvik

Former Member
0 Kudos

It was the network/security/gate settings allright.

Now that that is solved i get the next error.

I'll make a different post for it.

Thx.

Robert

Answers (1)

Answers (1)

former_member463616
Contributor
0 Kudos

Hi Robert,

If validation fails (Inbound side or Outbound side), then message processing will be stopped. Example, if we validate our incoming messages in IE and if invalid XML entered in IE then processing will fails in second step i.e XML Validation Inbound Channel Request.

Please see the below blog, it might be helpful to you.

[Link1|http://www.riyaz.net/blog/pi-71-xml-validation-in-integration-engine/technology/sap/525/]

Regards,

P.Rajesh

Former Member
0 Kudos

Hi Rajesh,

Interesting article but i think it doesnt provide a solution.

Validation is not set in the receiver agreement (or in the sender agreement) so i dont see how that can fail.

(and even in failing it should give a red flag)

Now all i see is that the message stops, and some time later i get a time-out notification (this is form the httpclient is use for sending)

kr

Robert