cancel
Showing results for 
Search instead for 
Did you mean: 

Soap response of BLS changed after 12.1.10.5 upgrade

olivier_thiry
Participant
0 Kudos

Hello,

We recently upgraded MII from 12.1.9.2 to 12.1.10.5. Since then, we got a lot of BLS transactions exposed as web service no more working...

Let's take a very simple BLS executing a query and sending back the query result as output XML. The issue is when the query is not returning any data.

In 12.1.9.2, we had a correct response, for example :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <soap:Body>

      <XacuteResponse xmlns="http://www.sap.com/xMII">

        <Rowset/>

      </XacuteResponse>

  </soap:Body>

</soap:Envelope>

Now, executing the same trx will give :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <soap:Body>

      <XacuteResponse xmlns="http://www.sap.com/xMII">

        <Rowset>

            <Row>

              <OutputXML><![CDATA[&lt;Rowsets DateCreated=&quot;2015-03-02T16:15:55&quot; EndDate=&quot;2015-03-02T16:15:55&quot; StartDate=&quot;2015-03-02T15:15:55&quot; Version=&quot;12.1 SP10 Patch 5 (Jun 23, 2014)&quot;&gt;&lt;Rowset&gt;&lt;Columns&gt;&lt;Column Description=&quot;HANDLE&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;HANDLE&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;HANDLE&quot;/&gt;&lt;Column Description=&quot;CHANGE_STAMP&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;CHANGE_STAMP&quot; SQLDataType=&quot;2&quot; SourceColumn=&quot;CHANGE_STAMP&quot;/&gt;&lt;Column Description=&quot;SITE&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;SITE&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;SITE&quot;/&gt;&lt;Column Description=&quot;DESCRIPTION&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;DESCRIPTION&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;DESCRIPTION&quot;/&gt;&lt;Column Description=&quot;TYPE&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;TYPE&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;TYPE&quot;/&gt;&lt;Column Description=&quot;IS_LOCAL&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;IS_LOCAL&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;IS_LOCAL&quot;/&gt;&lt;Column Description=&quot;URL&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;URL&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;URL&quot;/&gt;&lt;Column Description=&quot;SERVER&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;SERVER&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;SERVER&quot;/&gt;&lt;Column Description=&quot;PORT&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;PORT&quot; SQLDataType=&quot;2&quot; SourceColumn=&quot;PORT&quot;/&gt;&lt;Column Description=&quot;LOGON_ID&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;LOGON_ID&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;LOGON_ID&quot;/&gt;&lt;Column Description=&quot;PASSWORD&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;PASSWORD&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;PASSWORD&quot;/&gt;&lt;Column Description=&quot;TIME_ZONE&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;TIME_ZONE&quot; SQLDataType=&quot;12&quot; SourceColumn=&quot;TIME_ZONE&quot;/&gt;&lt;Column Description=&quot;CREATED_DATE_TIME&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;CREATED_DATE_TIME&quot; SQLDataType=&quot;93&quot; SourceColumn=&quot;CREATED_DATE_TIME&quot;/&gt;&lt;Column Description=&quot;MODIFIED_DATE_TIME&quot; MaxRange=&quot;1&quot; MinRange=&quot;0&quot; Name=&quot;MODIFIED_DATE_TIME&quot; SQLDataType=&quot;93&quot; SourceColumn=&quot;MODIFIED_DATE_TIME&quot;/&gt;&lt;/Columns&gt;&lt;/Rowset&gt;&lt;/Rowsets&gt;]]></OutputXML>

            </Row>

        </Rowset>

      </XacuteResponse>

  </soap:Body>

</soap:Envelope>

Any idea why ? Is is a setting we should set somewhere ?

We obviously opened an oss note, but no any good answer so far...

Thanks

Olivier

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Olivier,

Try going to System Properties. And un-check EncodeSoapResponse check box.

Regards,

Anushree

olivier_thiry
Participant
0 Kudos

Hello,

I tried this, but the only impact is that the xml inside the <Row><OutputXML> is now no more encoded...

We expect to get absolutely nothing in this tag, like before... So thanks, but this didn't helped...

Answers (1)

Answers (1)

swaroop_anasane
Active Contributor
0 Kudos

Hi Olivier,

How are you calling the BLS?

Regards,

Swaroop

olivier_thiry
Participant
0 Kudos

Hello,

It doesn't matter : basically, we call it in webdynpro application through proxy (destination) and this cause now a java error, but even if we call it with SOAP Ui, through the soap runner in browser, or even if we show the result in workbench with a tracer action block, the response is different that the one's we got with 12.1.9...

swaroop_anasane
Active Contributor
0 Kudos

Hi Olivier,

Your output is an encoded string, hence wanted to understand the way you are calling it or the URL you are using to call the service.

olivier_thiry
Participant
0 Kudos

Sorry, I don't really catch your concern... As I said, doesn't matter, we call it exactly the same way as we did in 12.1.9, the only difference as you said is that the response is different, we got now the OutputXML (which is the trx output parameter, XML type) in the Row tag, where in the past this tag was simply empty...

So for example, we use this kind of url :

http://<server>:<port>/XMII/Runner?Transaction=test&outputParameter=OutputXML

you can easily reproduce this, create a trx calling a query returning no row, and assign query result to output parameter of the trx...

Regards

Olivier