on 03-02-2015 3:22 PM
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[<Rowsets DateCreated="2015-03-02T16:15:55" EndDate="2015-03-02T16:15:55" StartDate="2015-03-02T15:15:55" Version="12.1 SP10 Patch 5 (Jun 23, 2014)"><Rowset><Columns><Column Description="HANDLE" MaxRange="1" MinRange="0" Name="HANDLE" SQLDataType="12" SourceColumn="HANDLE"/><Column Description="CHANGE_STAMP" MaxRange="1" MinRange="0" Name="CHANGE_STAMP" SQLDataType="2" SourceColumn="CHANGE_STAMP"/><Column Description="SITE" MaxRange="1" MinRange="0" Name="SITE" SQLDataType="12" SourceColumn="SITE"/><Column Description="DESCRIPTION" MaxRange="1" MinRange="0" Name="DESCRIPTION" SQLDataType="12" SourceColumn="DESCRIPTION"/><Column Description="TYPE" MaxRange="1" MinRange="0" Name="TYPE" SQLDataType="12" SourceColumn="TYPE"/><Column Description="IS_LOCAL" MaxRange="1" MinRange="0" Name="IS_LOCAL" SQLDataType="12" SourceColumn="IS_LOCAL"/><Column Description="URL" MaxRange="1" MinRange="0" Name="URL" SQLDataType="12" SourceColumn="URL"/><Column Description="SERVER" MaxRange="1" MinRange="0" Name="SERVER" SQLDataType="12" SourceColumn="SERVER"/><Column Description="PORT" MaxRange="1" MinRange="0" Name="PORT" SQLDataType="2" SourceColumn="PORT"/><Column Description="LOGON_ID" MaxRange="1" MinRange="0" Name="LOGON_ID" SQLDataType="12" SourceColumn="LOGON_ID"/><Column Description="PASSWORD" MaxRange="1" MinRange="0" Name="PASSWORD" SQLDataType="12" SourceColumn="PASSWORD"/><Column Description="TIME_ZONE" MaxRange="1" MinRange="0" Name="TIME_ZONE" SQLDataType="12" SourceColumn="TIME_ZONE"/><Column Description="CREATED_DATE_TIME" MaxRange="1" MinRange="0" Name="CREATED_DATE_TIME" SQLDataType="93" SourceColumn="CREATED_DATE_TIME"/><Column Description="MODIFIED_DATE_TIME" MaxRange="1" MinRange="0" Name="MODIFIED_DATE_TIME" SQLDataType="93" SourceColumn="MODIFIED_DATE_TIME"/></Columns></Rowset></Rowsets>]]></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
Hi Olivier,
Try going to System Properties. And un-check EncodeSoapResponse check box.
Regards,
Anushree
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Olivier,
How are you calling the BLS?
Regards,
Swaroop
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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...
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
User | Count |
---|---|
13 | |
6 | |
3 | |
2 | |
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.