OBIEE webservices (XMLViewService Web Service or  QueryResults Structure)

Hi All OBIEE experts,
I have an requirement, where to get the resultset from an OBIEE answers request from external java program using the OBIEE web services. I have spent some time to look into the web services and later found about the 'XMLViewService' web service.
I am also going the document b31769 by Oracle. There is a mention of 'QueryResults Structure' in the 'XMLViewService'. But I donot see the structure in the web service, which is confusing.
Can any one provide the sample code, to run the obiee query through the web service and get the resultset to the java program.
Thanks in Advance
Siva

Hi,
If you look in the 10.1.3.4 platform documents web services guide:
Oracle® Business
Intelligence Web
Services Guide
Version 10.1.3.2
December 2006
This has a listing of all the methods, structures and web services, it is a must have resource for this sort of work. The QueryResults structure is on page 22/23
Table 17. QueryResults Structure Fields
Fields     Description
String rowset           Specifies the rowset XML encoded in the string.
String queryID           Specifies the unique ID of the query, which can be used in fetchNext calls.
boolean finished      If set to TRUE, then there are no more rows to return. If set to FALSE, then another fetchNext call is needed to return more rows.
Regards,
Matt

Similar Messages

  • Can OBIEE consume a web service?

    Hello All,
    As the subject suggests I want to pull in a java report into OBIEE calling a web service.
    Can this be done? Could you let me know the steps involved?
    Thanks,
    Lino

    If you are using Oracle you could use [this technique|http://www.oracle.com/technology/sample_code/tech/java/jsp/samples/wsclient/Readme.html]. However Web Services are not designed to be used to pull massive amounts of data so it will be advisable to develop some sort of Java process that dumps all the data required onto a database as part of your ETL.

  • When to use Java Web Service from WSDL, Webservice proxy, Web Service DataControl -- JDeveloper 11.1.1.7

    Hi Experts!
    I am having confusion among these 3 services provided in Oracle ADF. When to use and what service needs to be used?
    Once we generate Webservice WSDL. With the WSDL we have 3  options in Jdeveloper to invoke this service.
    1. Java Web Service From WSDL.
    2. Web Service proxy,
    3. Web Service Data Control.
    Can anyone give us some brief description of these 3 services when do we need to use and which service is to be used for which scenario ?
    Please give me your valuable inputs.
    Thanks & Regards,
    Guravaiah Tata.

    Hi,
    Can you share your WSDL.
    You can send it to me at [email protected]
    -Vishal

  • Getting information about configured(webservices.xml) web service handlers

    Hi Guys, The situation is: In a Web Service, I have few GenericHandlers configured as server(Role) in webservices.xml(for IBM Runtime) & server-config.wsdd(Axis Runtime). Say the handlers are A, B & C. Now, when there is a inbound call A,B & C are getting invoked as expected.
    I am basically lookin for a way to know (programmatically) the # of handler configured for this web service i.e., 3 in this case and few other handler specific details.
    I was investigating getting hold hold of HandlerChain by following way
    HandlerRegistry hndlReg = service.getHandlerRegistry(); List hChain = hndlReg.getHandlerChain(new QName("http://test.com","PortName"));
    , but I dont get hChain containing information about A,B or C. Ya, here I can add Handlers programmetically which gets invoked also. But no information of already configured handlers in configuration files.
    Is there any way(programmetically) to get the details about already configured handlers.
    Appreciating your help.

    Please help ....

  • Webservices calling web services.

    Hi All
    I have a situation in which i want to call a web service from another web service, say, WS-A calls WS-B. WS-A depends on some output from WS-B. So when WS-B returns, WS-A can run and proceed further.
    Can this be achieved in WebAS and if yes, please guide me how to do that.
    I want to deploy both the web services as differently and use them once they are deployed.
    Any help will be appreciated, and points will be rewarded.
    Thanks
    Bhupesh...

    Hi Bhupesh,
    Generate  <a href="http://help.sap.com/saphelp_nw04/helpdata/en/2d/b9766df88f4a24967dae38cb672fe1/frameset.htm">Deployable proxy</a> for WS-B and use it within WS-A implementation (in business method of session EJB bean).
    Best regards, Maksim Rashchynski.

  • Error in Webservices. Web Service is to create email id of employee

    Hi All,
    We are using Bapi's as RFC currently to update the email id of an employee. This is being called from a third party system Dot net. It is working fine.
    Bapis are
    BAPI_EMPLOYEET_ENQUEUE--- To lock the employee
    Bapi_Emplcomm_Create----To update the email id
    Bapi_Employeet_Dequeue---To unlock the employee
    now as per the new requirement we converted the BAPI's into Webservices and exposed the same to Dot net
    After locking the employee successfully when Dot net is trying to call the webservice for email id updation it is giving the error as
    Error accessing the Ref Node 'Employeenumber'.
    I am confused is the error coming from SAP side or from the Dot Net side
    Please suggest a solution for the same.
    Thank you in advance

    Hi Anil,
    Run the code in debug mode by setting break point in .NET as well as in BAPI. You have all the details you need to know. Wait...wasn't that simple or am I missing something
    Regards.

  • Mapping IDoc in Web Service structure

    Hey,
    now I got general question about mapping:
    I'm using the SAPRDI02 IDoc to send print data to PI. This should be mapped to the web service structure then.
    The IDoc contains the text elements of the sap script and the value of these elements.
    The Web service has some structures and one structure for the document content. this structure has some general
    fields to describe the type of document, which should be printed and a field for the content of the document. This field
    expects unformated XML.
    My question now is, how I should do the mapping best. Do you think it's possible to do it with the graphical tool, or should
    I use XSLT, Java or ABAP mapping?
    I think, the data from the IDoc would be something like this:
    E1RDID
      SYMNAME
      SYMVALUE
    The structure of the web service form content is something like this:
    Printforms
      Printform
        Formtype
        FormContent
        Priority
    And as I understand it, the XML content for the field "FormContent" should be something like this:
    <FormField1>contentOfFormField1</FormField1>
    or
    <FormField1 value = 'contentOfFormField1' />
    So the fields SYMNAME and SYMVALUE should be transferred to this structure and then to the field "FormContent"
    in the webservice.
    Any idea how I do this in the best way?
    THANK YOU!
    Michael

    Hi Rodrigo,
    how do I create the XML tags? The XML-tag name should be the content of SYMNAME and the tag value should be
    the content of SYMVALUE.
    Like this:
    <SYMNAME>SYMVALUE</SYMNAME>
    And in the IDoc, Symname and Symvalue are part of a structure, and each line is one symname/symvalue couple. That means,
    all the lines of this segment should later be just one field value of FormContent in the webservice....
    Example:
    Line1:
    SYMNAME --> testField1
    SYMVALUE --> testContent1
    Line2:
    SYMNAME --> festField2
    SYMVALUE --> testContent2
    And this should later result in:
    <testField1>testConent1</testField1><testField2>testContent2</testField2>
    Sorry, it's a bit hard to explain...

  • Obiee web services into xcelsius

    Hi all
    Have anyone tried consuming obiee through Xcelsius webservice
    Thanks
    Reddi
    Edited by: user12194578 on Nov 12, 2009 3:24 PM

    Reddi, I have connected Xcelsius to OBIEE web services. It's the best of two worlds: superior obiee admin and web services performance and complete control over data visualization. See this post for details and code: http://www.bihappyblog.com/2011/05/15/connect-xcelsius-dashboard-to-obiee/

  • OBIEE & Web services

    Hi All Experts,
    I am new requirement, where
    1. I want to create a report in OBIEE which has few set of records...
    2. I want to send those set of records ( as in step 1) to different web based applications.
    Is that can be possible to send the records from OBIEE answers report to another web-based applications.
    You inputs would be appreciated. Thanks in Advance.
    Siva

    A SOAP command is the object that web services pass back and forth with a calling program in order to communicate. Here's an introductory article on Web Services
    I'll dig through my archives and try and locate the java example I mentioned. In the mean time, here is a blog that walks you through a simple C# .Net program that calls an OBIEE Request via web services. Check this article out.
    In order to assign points to a user, go to their post and near the "Reply" button you will see a button that says "Helpful" and a second that says "Correct". For each thread, you can give out 5 helpful posts (5 points each) and 1 correct post (10 points). It is customary to assign points based on the quality you deem the response is.
    Best regards,
    -Joe

  • Error While generating Web Service Proxy using Web Service Action in MII 12

    Hi All,
    We are using the Web Service action block in BLS transaction to call a web service from an external legacy system. When we provide the WSDL in the action block configuration and click Next we can see the Port and Operation of the web service which we have selected and finally clicked on Finish. On clicking Finish it is giving an error "[Fatal Error] :-1:-1: Premature end of file." and no web service request/response structures are being generated.
    The WSDL file is attached herwith. Please check and provide the solution. We are using MII 12.2 SP02 with latest patch.
    An error message is also added to the NetWeaver log as below:
    XmlProxy Error: Premature end of file.
    [EXCEPTION]
    org.xml.sax.SAXParseException: Premature end of file.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:264)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
    at com.sap.lhcommon.schema.XmlHelper.loadDocument(XmlHelper.java:38)
    at com.sap.lhcommon.schema.XmlHelper.loadDocumentNS(XmlHelper.java:28)
    at com.sap.lhcommon.webservice.SoapMessage.getExampleXmlAsBytes(SoapMessage.java:103)
    at com.sap.xmii.servlet.XmlProxy.service(XmlProxy.java:204)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:162)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:81)
    at com.sap.xmii.system.SecurityFilter.doFilter(SecurityFilter.java:96)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)
    at com.sap.xsrf.filter.XSRFProtectorFilter.doFilter(XSRFProtectorFilter.java:62)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:468)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:399)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:388)
    at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:84)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:244)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:428)
    at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247)
    at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)
    The wsdl file is as follows:
    <wsdl:definitions
    targetNamespace="urn:cat.cis.mesassembly.server.service.pod"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://pod.service.server.mesassembly.cis.cat"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:intf="urn:cat.cis.mesassembly.server.service.pod"
    xmlns:impl="urn:cat.cis.mesassembly.server.service.pod"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding"
    >
    <wsdl:types>
       <schema targetNamespace="http://pod.service.server.mesassembly.cis.cat"
       xmlns="http://www.w3.org/2001/XMLSchema">
       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
       <complexType name="ProductionOrderDetailsInput">
       <sequence>
         <element name="detailsString" type="xsd:base64Binary"/>
         <element name="productionOrderNumber" nillable ="true" type="xsd:string"/>
         <element name="fullExplosionFlag" type="xsd:string"/> 
       </sequence>
       </complexType>
       <complexType name="ProductionOrderDetailsReceipt">
       <sequence>
         <element name="errorMessage" nillable="true" type="xsd:string"/>
         <element name="valid" type="xsd:boolean"/>
       </sequence>
       </complexType>
       </schema>
    </wsdl:types>
    <wsdl:message name="processOrderDetailsResponse">
      <wsdl:part name="podReturn" type="tns:ProductionOrderDetailsReceipt" />
    </wsdl:message>
    <wsdl:message name="processOrderDetailsRequest">
      <wsdl:part name="input" type="tns:ProductionOrderDetailsInput" />
    </wsdl:message>
      <wsdl:portType name="PodService">
        <wsdl:operation name="ProcessOrderDetails" parameterOrder="input">
          <wsdl:input message="impl:processOrderDetailsRequest"
          name="processOrderDetailsRequest"/>
          <wsdl:output message="impl:processOrderDetailsResponse"
          name="processOrderDetailsResponse"/>
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="ProdOrderDetailsSoapBinding" type="impl:PodService">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="ProcessOrderDetails">
          <soap:operation soapAction="http://pod.service.server.mesassembly.cis.cat/NewOperation"/>
          <wsdl:input name="processOrderDetailsRequest">
            <soap:body  use="literal"  encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:cat.cis.mesassembly.server.service.pod"  />
          </wsdl:input>
          <wsdl:output name="processOrderDetailsResponse">
            <soap:body  use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:cat.cis.mesassembly.server.service.pod"  />
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="PodService_Service">
        <wsdl:port binding="impl:ProdOrderDetailsSoapBinding" name="ProdOrderDetails">
          <soap:address location="http:/localhost:8080/MESAssembly/services/ProdOrderDetails"/>
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>

    The WSDL file is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions
    targetNamespace="urn:cat.cis.mesassembly.server.service.pod"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://pod.service.server.mesassembly.cis.cat"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:intf="urn:cat.cis.mesassembly.server.service.pod"
    xmlns:impl="urn:cat.cis.mesassembly.server.service.pod"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding"
    >
    <wsdl:types>
       <schema targetNamespace="http://pod.service.server.mesassembly.cis.cat"
       xmlns="http://www.w3.org/2001/XMLSchema">
       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
       <complexType name="ProductionOrderDetailsInput">
       <sequence>
         <element name="detailsString" type="xsd:base64Binary"/>
         <element name="productionOrderNumber" nillable ="true" type="xsd:string"/>
         <element name="fullExplosionFlag" type="xsd:string"/> 
       </sequence>
       </complexType>
       <complexType name="ProductionOrderDetailsReceipt">
       <sequence>
         <element name="errorMessage" nillable="true" type="xsd:string"/>
         <element name="valid" type="xsd:boolean"/>
       </sequence>
       </complexType>
       </schema>
    </wsdl:types>
    <wsdl:message name="processOrderDetailsResponse">
      <wsdl:part name="podReturn" type="tns:ProductionOrderDetailsReceipt" />
    </wsdl:message>
    <wsdl:message name="processOrderDetailsRequest">
      <wsdl:part name="input" type="tns:ProductionOrderDetailsInput" />
    </wsdl:message>
      <wsdl:portType name="PodService">
        <wsdl:operation name="ProcessOrderDetails" parameterOrder="input">
          <wsdl:input message="impl:processOrderDetailsRequest"
          name="processOrderDetailsRequest"/>
          <wsdl:output message="impl:processOrderDetailsResponse"
          name="processOrderDetailsResponse"/>
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="ProdOrderDetailsSoapBinding" type="impl:PodService">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="ProcessOrderDetails">
          <soap:operation soapAction="http://pod.service.server.mesassembly.cis.cat/NewOperation"/>
          <wsdl:input name="processOrderDetailsRequest">
            <soap:body  use="literal"  encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:cat.cis.mesassembly.server.service.pod"  />
          </wsdl:input>
          <wsdl:output name="processOrderDetailsResponse">
            <soap:body  use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:cat.cis.mesassembly.server.service.pod"  />
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="PodService_Service">
        <wsdl:port binding="impl:ProdOrderDetailsSoapBinding" name="ProdOrderDetails">
          <soap:address location="http:/localhost:8080/MESAssembly/services/ProdOrderDetails"/>
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>

  • Error While Activating BI Web service data source based on MDM XI.

    Dear experts,
    Need help with an error that i am getting for a BI data source based on XI MDM. An extra field was added in the data source as part of business requirement and it works fine in dev environment but when we transported the changes to Q environment it is always giving following error.
    The web-service based communication structure in the data source in QA is not getting updated with the new field in the target system.
    Any inputs or pointers would be appreciated.
    Thanks,
    Abhishek

    Many thanks for your help.  This solved the issue for our .NET code, however the leak is still present in the report designer.  I was also wondering if you could help further: because of the limits on the java memory process is there a way to ensure that a separate java process is started for each report that is loaded in my report viewers collection?  Essentially the desktop application that i have created uses a tab control to display each type report, so each tab goes through the following code when displaying a report and closing a tab:
    Is there a way to ensure that a different Java process is kicked off each time that I display a different report?  My current code in c# always uses the same Java process so the memory ramps up.  The code to load the report and then dispose of the report through closing the tab (and now the Java process) looks like this:
        private void LoadCrystalReport(string FullReportName)
          ReportDocument reportDoc = new ReportDocument();
          reportDoc.Load(FullReportName, OpenReportMethod.OpenReportByTempCopy);
          this.crystalReportViewer1.ReportSource = reportDoc;
        private void DisposeCrystalReportObject()
          if (crystalReportViewer1.ReportSource != null)
            ReportDocument report = (ReportDocument)crystalReportViewer1.ReportSource;
            foreach (Table table in report.Database.Tables)
              table.Dispose();
            report.Database.Dispose();
            report.Close();
            report.Dispose();
            GC.Collect();
    Thanks

  • Response of a Web Service developped in C#

    Hi all,
    I am trying to call a Web Service from XI. For this I imported the WSDL file of this Web Service as an external definition. The problem I have is that the person who develops this web service returns a structure of type "Dataset" in C#. In the WSDL file, the response part looks like this :
    <s:element name="GetDB2DataResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="GetDB2DataResult">
    <s:complexType>
    <s:sequence>
      <s:element ref="s:schema" />
      <s:any />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:sequence>
      </s:complexType>
      </s:element>
    So when I try to map the return of the Web Service, I only have one field in the Message : NewDataSet of type "xsd:schema", and I can't do any mapping with this.
    I don't know C# so I don't know how the WS developper could change the return type.
    Does any of you know what kind of structure the Web Service should return if I want to have the complete return structure at design time ?
    Thanks in advance.
    Best regards,
    Julien

    Hi Julien,
    No way to work with that generic "schema".
    I think in the WSDL you should have the schema as well. Just like the way XI exports message interfaces into WSDL: you can try yourself, and you'll notice that, if you have a synch interface for instance, both input and output messages definitions are inside the wsdl as xsd's.
    More, from what I can understand, "GetDB2DataResult" sounds like you'll be returned a set of tb rows, so in my opinion you should get back to the C# guy and tell him to complete the wsdl with missing infos.
    If he can't provide this info, so just go calling the ws, see what's inside the returned message and create the matching data type yourself.
    Hope this helps.
    Best wishes,
    Alex

  • How to use an ABAP exception as a web service fault

    Hi experts,
    I have created a web service out of an ABAP function module, using the SAP standard wizard for web services. The ABAP function has some exceptions defined. Now the question is: How can I "translate" these ABAP function exceptions to web service faults?
    In the WSDL file I can see that the web service defines the faults, but they are not part of the web service operation (in the WSDL file). So when I load the definition into JDeveloper, the faults are not recognized.
    Any ideas what I am missing here?
    Thanks in advance!
    Kind regards, Matthias

    Exceptions from SAP function module are not translated as web service fault message, this is a standard behaviour due among other to the fact that exceptions are not "in line" with the definition a web service fault message.
    Usually when you want to use a standard SAP function module and expose it as web service, you need to "wrap-it" into a new Z function module.
    In that new function module you must capture the exceptions and convert them into a web service fault message structure (usually containing error type, text and number)
    Karim

  • Problem in Xcelsius with BI Web Services

    Hi,
    we are working with Xcelsius 2008 when we are consuming the
    query_view_data Web Services, the result structures don´t appear
    complete. For example in Axis_Info we can´t see the internal fields of
    the structure "Chars" ( structure that shows us the characteristics involved in our query).
    We are using this method to create the Web Service for our system BI 7.0.
    http://help.sap.com/saphelp_nw04/helpdata/en/d8/3bfc3f8fc2c542e10000000a1
    550b0/content.htm
    We don´t know if this is a bug and was resolved or if there are another solutions to send a BW query information to xcelsius ( other Funtion Module for example).
    I would appreciate your help.

    Hi,
    the web service is not formatted for Xcelsius. there will be a direct web service - it is planned for the second half of this year (see the roadmap here in the BI area for details). right now you can use Live Office or Query as a Web Service.
    ingo
    XC, CR and LO Part 1 of 4
    /people/ingo.hilgefort/blog/2008/10/03/businessobjects-and-sap-part-1-of-4--creating-a-xcelsius-dashboard-on-top-of-sap-bi
    XC, CR and LO Part 2 of 4
    /people/ingo.hilgefort/blog/2008/10/07/businessobjects-and-sap-part-2-of-4--creating-a-xcelsius-dashboard-on-top-of-sap-bi
    XC, CR and LO Part 3 of 4
    /people/ingo.hilgefort/blog/2008/10/07/businessobjects-and-sap-part-3-of-4--creating-a-xcelsius-dashboard-on-top-of-sap-bi
    XC, CR and LO Part 4 of 4
    /people/ingo.hilgefort/blog/2008/10/10/businessobjects-and-sap-part-4-of-4--creating-a-xcelsius-dashboard-on-top-of-sap-bi
    Technical Material
    /people/ingo.hilgefort/blog/2008/11/19/businessobjects-integration-with-sap-netweaver-bi--technical-material

  • ABAP Web Service with tables

    Hello,
    <br>
    <br>
    We need to build a web service with a predefined message in our ERP (ABAP), without PI or WebAS JAVA.
    <br>
    <br>
    We thought it should be a simple task, because we had no problem with many other applications and systems when building the same service, but were not able to build it with SAP ABAP, probably as a consequence of our lack of knowledge on ABAP SOAP runtime.
    <br>
    <br>
    We have an external asynchronous process that delivers information to many other systems using web services (information diffusion). Concecuently, the web service call's structure is determined by the caller, so we have to fulfill this structure if we want to receive the info.
    <br>
    <br>
    The owner of the process defined a very simple service call, in which one kind of  "record" can be repeated 1 to n times:
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    In order to receive this info, we have to implement an abap web service handler to accept this kind of call, the same way other applications/systems have already done.
    <br>
    <br>
    We tried to build a RFC function call and create a web service with the wizard and it resulted in a web service with the following WSDL:
    <br>
    <br>
    &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style"&gt;
    <br>
    <br>
    <br>
    <br>
             &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
    <br>
    <br>
    <br>
    &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
             &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    <br>
    We found two main problems:
    <br>
    <br>
    1.- When "wrapping" the RFC as a WS with the wizard, for a table datatype it automatically includes the <item></item> tag, so we break the predefined calling rules.
    <br>
    <br>
    2.- The namespace is fixed by the wizard, and we would like to use a common namespace for all the "susbscribers", logically, the namespace fixed by the information diffusion service.
    <br>
    <br>
    We also tried to find info on the outside-in approach for building a web service from the WSDL, but all the info we found required the ESR and we have no PI, just the ERP.
    <br>
    <br>
    Any ideas on how to proceed?
    <br>
    <br>
    Thanks in advance,
    <br>
    <br>
    Joseba M. Iturbe
    <br>
    <br>
    Edited by: Soporte Desarrollo on Mar 5, 2010 10:56 AM

    #2.  I've recently had to "zap" some namespaces in an ECC5 system because the calling (TIBCO) system didn't appreciate the default SAP "urn" default - something to do with multiple colons in the address.  There were, I think, just three table this affected, all VEP* ones.  I think I should have been able to change these via the virtual interface in SE80 except that the ECC5 code was a bit "light" in this respect, so you may be able to do this now in SOAMANAGER in ECC6 (btw,  I also had to re-save the WS definition within WSCONFIG and re-activate the virtual interfaces after this "zap" to generated the associated handler class again).
    #1. Given your "name / value" pairs represent a complex type, then it might be better practice to have them as "item" which is probably why SAP proposes it this way... what does your custom function module parameter list look like?
    Jonathan

Maybe you are looking for

  • Sending a picture...

    All, When I send an mms picture to someone with out a iPhone they don't see the picture. Does anyone know why this would be happening, or having this problem? Message was edited by: Nade 23

  • Change documents list if somone restarts the plan in IP10

    Hi all, How can i see the change documents list of IP10, I NEED TO SEE THE DETAILS IF SOMEONE HAS RESTARTED THE PLAN. Thanks Anish

  • File Lising in Unix

    How do I avoid infinite loops when listing files in unix directories when there are symbolic links to directoies? here is my peace of code: if (f.isDirectory()) { for (int j = 0; j < f.list().length; j++) { list(f.listFiles()[j]); When I call the met

  • PS Elements Cropping Problem

    In PS Elements 10, trying to crop to 16H X 20W. Option of "CUSTOM" now not displayed. Will not let me enter these values.

  • Quick question about smart playlists.

    Is it possible to edit a smart playlist used to show recently played songs to recognise multiple plays of the same song? To say it another way, if I listen to 'X' once it records it with the correct time etc, but if I play 'X' again it overwrites the