cancel
Showing results for 
Search instead for 
Did you mean: 

Transaction error

Former Member
0 Kudos

Hi,

I built the simple transaction with outxml as output variable and type xml.

I haven givent transaction results to outxml variable using assignment action block.

But when I am executing the transaction it is giving the warning message like

"[WARN] Unused line parameter [OUTPUTXML]"  instead of giving results.  I have to use this transaction as wevservice.

Can i use this transaction as webservice even it is giving warning or should I remove that warning if so please resolve it to remove the warning.

I am using MII 14.0 .3 build 24.

Regards,

Laxman.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Laxman,

The XML type is only know to SAP MII. The WSDL don't have anything called as XML type. So even if a transaction has XML type as a property it will be shown as STRING in the wsdl.

So if you want to pass an XML to a transaction convert it to STRING and then pass it to the transaction. And then within the transaction you can convert from STRING to XML. But i guess this is not your scenario.

If you have a XML type property as Output for a transaction, It will again be returned as a STRING. So you need to handle the returned string in the calling application. For example, an output xml as shown below

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<root>

          <menu>

                    <id>file</id>

                    <value>File</value>

                    <popup>

                              <menuitem>

                                        <element>

                                                  <value>New</value>

                                                  <onclick>CreateNewDoc()</onclick>

                                        </element>

                                        <element>

                                                  <value>Open</value>

                                                  <onclick>OpenDoc()</onclick>

                                        </element>

                                        <element>

                                                  <value>Close</value>

                                                  <onclick>CloseDoc()</onclick>

                                        </element>

                              </menuitem>

                    </popup>

          </menu>

</root>

will be returned as a String as shown below

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;

&lt;root&gt;

    &lt;menu&gt;

        &lt;id&gt;file&lt;/id&gt;

        &lt;value&gt;File&lt;/value&gt;

        &lt;popup&gt;

            &lt;menuitem&gt;

                &lt;element&gt;

                    &lt;value&gt;New&lt;/value&gt;

                    &lt;onclick&gt;CreateNewDoc()&lt;/onclick&gt;

                &lt;/element&gt;

                &lt;element&gt;

                    &lt;value&gt;Open&lt;/value&gt;

                    &lt;onclick&gt;OpenDoc()&lt;/onclick&gt;

                &lt;/element&gt;

                &lt;element&gt;

                    &lt;value&gt;Close&lt;/value&gt;

                    &lt;onclick&gt;CloseDoc()&lt;/onclick&gt;

                &lt;/element&gt;

            &lt;/menuitem&gt;

        &lt;/popup&gt;

    &lt;/menu&gt;

&lt;/root&gt;

As Rohit already mentioned warning "[WARN] Unused line parameter [OUTPUTXML]" will not create any problems while calling the web service.


But calling a webservice using following syntax is not the right way to do it.

http://<server>:50000/XMII/WSDLGen/<TrxPath>&OutputParameter=outputXML

You can use OutputParameter in the URL with Runner servlet by making http calls but not with WSDLGen. Refer to the below link for details on Runner servlet

Transaction Calls Using URLs - SAP Documentation

Thanks, Prashant

former_member211944
Active Participant
0 Kudos

Hi Laxman,

This is just a warning which you get when you run a transaction with a output property and is shown only when you run the transaction from the workbench.

This warning shows that the the output parameter was unused after the execution of the transaction.

This warning will not create any problem in execution of the transaction as a web-service.

I tested this and got the proper output from the transaction.

Regards,

Rohit Negi

Former Member
0 Kudos

Hi Rohit,

Thanks for your suggestion.

I generated the webservice using the syntax like http://<server>:50000/XMII/WSDLGen/<TrxPath>

I have an outputxml as transaction output parameter and it holds the query results.

But without giving this outputxml in the above syntax I generated the wsdl and it is giving some result.

I could not find any column name or columns values of my query in that result.

I am not sure that I am getting the correct result or not and will it make any difference  that

generating the webservice without giving outputxml parameter in url .

And if I append this outputXML parameter to the url it is giving error.

http://<server>:50000/XMII/WSDLGen/<TrxPath>&OutputParameter=outputXML  ( it is giving error)

And I am not sure can we append it like this or not.

PF webservice result below:(  part of the result only)

I am in confusion that this is proper result or not. Because I could not see any column values in the result.

````````````..........................

<s:sequence>

<s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string"/>

<s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string"/>

<s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams"/>

</s:sequence>

</s:complexType>

</s:element>

<s:complexType name="Rowset">

<s:sequence>

````

`````````````````````

Please clear  these things.

Thanks,

Laxman.

former_member211944
Active Participant
0 Kudos

Hi Laxman,

This is not like a runner service URL which you could use directly and would give you the output parameter of the transaction.

But what this URL returns is the WSDL of the transaction.

<protocol>://<server>:<port>/XMII/WSDLGen/<path of transaction>?IllumLoginName=<user>&IllumLoginPass...

You could use this WSDL URL in any of SOAP clients and then execute the operation which this WSDL exposes with name "Xacute". This operation will internally execute the transaction and return all the output parameters of the transaction.

Try running the WSDL URL in any SOAP client.

Regards,

Rohit Negi.