Search code examples
xmlsoapsoapuiobiee

OBIEE - SoapUI - Unable to send a parameter in SOAP XML using executeXMLQuery


I am using SoapUI to send a request to (OBIEE) Oracle BI EE Web Services.

I am trying to send a parameter in an OBIEE SOAP XML.

I am using executeXMLQuery() Method, and trying to send a parameter to a report, but it doesn't work.

I am trying to send the parameter in the 'variables' node like so:

<v6:variables>
    <v6:name>PARAMETER_NAME</v6:name>
    <v6:value>PARAMETER_VALUE</v6:value>
</v6:variables>

But this does not work, what am I doing wrong?

Can someone send me example (that works) of how to send a parameter to a report in the XML?

Here is my SOAP XML:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v6="urn://oracle.bi.webservices/v6">
   <soapenv:Header/>
   <soapenv:Body>
      <v6:executeXMLQuery>
         <v6:report>
            <v6:reportPath>/shared/XXXXXX/Projects details</v6:reportPath>
            <v6:reportXml></v6:reportXml>
         </v6:report>
         <v6:outputFormat></v6:outputFormat>
         <v6:executionOptions>
            <v6:async>false</v6:async>
            <v6:maxRowsPerPage>500</v6:maxRowsPerPage>
         </v6:executionOptions>
         <v6:reportParams>
            <!--Zero or more repetitions:-->
            <v6:filterExpressions>
            </v6:filterExpressions>
            <!--Zero or more repetitions:-->
            <v6:variables>
               <v6:name>Project Name</v6:name>
               <v6:value>XXXX</v6:value>
            </v6:variables>
         </v6:reportParams>
         <v6:sessionID>XXXX</v6:sessionID>
      </v6:executeXMLQuery>
   </soapenv:Body>
</soapenv:Envelope>

I get the following response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:saw-SOAP="com.siebel.analytics.web/soap/v6">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>Sax parser returned an exception.
Message: Invalid document structure, Entity publicId: , Entity systemId: , Line number: 2, Column number: 4</faultstring>
         <detail>
            <sawsoape:Error xmlns:sawsoape="com.siebel.analytics.web/soap/error/v1">
               <sawsoape:Code>UH6MBRBC</sawsoape:Code>
               <sawsoape:Message>Sax parser returned an exception.
Message: Invalid document structure, Entity publicId: , Entity systemId: , Line number: 2, Column number: 4</sawsoape:Message>
               <sawsoape:File>project/webxml/saxreader.cpp</sawsoape:File>
               <sawsoape:Line>681</sawsoape:Line>
               <sawsoape:LogSources>
                  <sawsoape:LogSource>saw.soap.xmlviewservice</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.SOAP</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.httpserver.request.soaprequest</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.rpc.server.responder</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.rpc.server</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.rpc.server.handleConnection</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.rpc.server.dispatch</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.threadpool.socketrpcserver</sawsoape:LogSource>
                  <sawsoape:LogSource>saw.threads</sawsoape:LogSource>
               </sawsoape:LogSources>
               <sawsoape:Error>
                  <sawsoape:Code>E6MUPJPH</sawsoape:Code>
                  <sawsoape:Message>Xml parsed:</sawsoape:Message>
               </sawsoape:Error>
            </sawsoape:Error>
         </detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Please help.

Update:
Thanks Rao, I fixed one mistake, now I have the following error:

line 13: Expected element 'refresh@urn://oracl‌​e.bi.webservices/v6' before the end of the content in element executionOptions@urn‌​://oracle.bi.webservi‌​ces/v6 

Line 13 is </v6:executionOptio‌​ns> I don't understand, what should I do?

Thanks


Solution

  • Thanks Rao!

    I added the 'refresh' node under the 'executionOptions' node and it solved the problem:

         <v6:executionOptions>
            <v6:async>false</v6:async>
            <v6:maxRowsPerPage>500</v6:maxRowsPerPage>
            <v6:refresh>false</v6:refresh>
            <v6:presentationInfo>false</v6:presentationInfo>
            <v6:type></v6:type>
         </v6:executionOptions>