RFC_NO_AUTHORITY calling ABAP function from a Web Service

Hi,
We have a web service that publishes existing BAPIs, and some custom ABAP functions.
When calling the custom ABAP functions we a "system exception" in the client side. Looking at SM21 the log has a dump:
The user "1DDD8B960830" in the client 310 attempted to execute the function
  module
"RFCPING" from the function group "SYST", but does not have the appropriate
RFC authorization.
Error in the ABAP application program.
The current ABAP program "SAPLSYST" had to be interrupted because it contains
a statement that cannot be executed.
We're on  SAP-Release 710
Please take into account that RFCPING is not a function we're calling...
Any help would be appreciated
Edited by: Enrique VETERE on Jun 25, 2008 5:35 PM

Hi Enrique,
a search for string "RFCPING authorization" in SAP notes shows up note 1108662 as the result, solution:
> Add the function group SYST to the RFC authorization. Add the function group "SYST" to the default role SAP_BC_WEBSERVICE_SERVICE_USER in the authorizations for "Cross-application Authorization Objects" in the area "Authorization Check for RFC Access" and the object "Name of RFC object to be protected" and save and activate this role. You should then execute a user comparison for this role."
Please check the complete note.
HTH, regards, Boris

Similar Messages

  • Exposing ABAP function modules as web services

    Hi All,
    I am trying to expose function modules as web service but when i click on 'Web service Homepage' button it is throwing error :
    "Setting for J2EE server do not exist".
    Could you please guide me through this?
    Regards,
    Abhijeet.

    hi
    r u releasing the web service for FMs
    here r the steps.
    To release FMs as webservice it should be RFC enabled.
    then goto SE80 and search for the FM u want to release web service.
    then right click on the FM
    then Create->web service
    then give the web service name then continue.
    click on chk box for relase run time.
    then assign one request and package
    now goto WSADMIN tcode ahere u can see ur webservice and then use that.
    mark points if helpful
    Regs
    Manas Ranjan Panda

  • How to call BPEL process from Java Web Service?

    Any example/sample/tutorial on this?
    TIA.

    I've done something similar a few times, specifically using a standalone Java application to invoke a BPEL process (so that it can be called from a cron job, for instance).
    The thing to remember is that a BPEL process presents itself to the outside world as a Web service. If your Java Web service can communicate with other Web services (by sending a message of the appropriate format to the URL of the other Web service), then exactly the same technique can be used to call the BPEL process. You know what the input message has to look like, and you know where the process is located on your network, so set up the Java Web service to send the message to that address.

  • Calling Tuxedo from java web service

    i am new to tuxedo,i have developed web service in javax-ws.now i want to call tuxedo server from my web service,please any one let me guide how to do such thing.
    if any one have any related information please share with me.its urgent.
    Thanking You

    Hi,
    Thanks for valuable information and quick response.
    I need more information on the same line. As all suggestion given by you required license assuming our component running in another JEE environment. Is there any option available which doesn't required any additional cost?
    If not can you provide estimate cost of license for below option.
    1. Jolt
    2. Salt
    3. JCA adapter of Tuxedo
    Awaiting for your reply. Thanks in advance.
    Regards,
    Kiran Sankpal
    Edited by: user12023492 on Feb 9, 2010 10:08 PM
    Edited by: user12023492 on Feb 9, 2010 10:08 PM

  • Call Abap Function.

    HI.
    How to call Abap FM from Bex Web Application?

    Or you create your own SICF service in Transaktion SICF e.g. http:s//server:port/zcompany/sample
    in that case you can add a simple link and add parameters like sample?ID=xyz&subid=TEST
    in ABAP you need to create a Abap Class that implements Interface IF_HTTP_EXTENSION
    in the Methode HANDLE_REQUEST you can retrieve the Parameters from the Query String and execute your function.
    In SICF you can add this class in the Handlerlist of the newly created service.
    Hoipe this helps.
    best regards,
    Kai

  • 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

  • Crystal Reports 2008 fails when called from e Web Service under 64bit OS

    I have discovered that Crystal Reports 2008 doesn't work when called from a Web Service running under 64bit Windows platforms (in my case Windows 2003 Server and Windows XP 64bit); practically no object is instantiated. I've tried several solutions without success.
    Before creating a wrapper component to use under COM+, is there anybody who has a better and cheaper solution than creating another component to wrap CR 2008 ?

    Hi Sergio,
    Before I mark this post as assumed answered I would just like to say and re-iterate that at this time there is no one answer and we fully understand your concerns. As you know in CR 6.0 it came in 16 and 32 bit versions because at the time 32 bit was relatively new but 16 bit was the norm. This is also true for 32 to 64 bit, 32 is the norm and 64 bit is relatively new. We know and are well aware 64 bit is the future and we are working as quickly as we can to move in that direction. Because of the complexity of the Product it's not simply a matter of re-compiling all of our dll's in 64 bit format. The core of our data connectivity with our database drivers which are dependant on third party clients must also need to support 64 bit modes. This as well as Printer drivers also need to be 64 compatable, there are a multitude of dependencies that we rely on that must add 64 bit support. As a programmer you are well aware of the issues around Thunking back and forth between 32 to 64 bits, it can cause delays and potentially loss of data which is a whole other issue. Not to mention also that we would have to ship both versions potentially doubling the size of the distribution packages or doubling the size of the dll's to have the ability to work in both modes. Relatively speaking of course, it would not be double the size but the variables would need to be able to allocate 32 or 64 memory blocks.
    The other option is to produce 2 separate versions, this alone is a massive project. Any issue would need to be fixed in separate code streams.
    So I'm sure you can see it's not simply a matter of saying yes we support 64 bit. It's a massive project that is going to take time to do and we have to wait for the third party drivers to commit also.
    Visual Studio .NET 2005 and 2008 is the only option if you want true 64 bit but you will be limited on what DB's you can support and export formats you can export to. They are the only drivers we did convert to 64 bit.
    Thank you for your understanding
    Don

  • Java stored proc from proxy Java classes generated from a web service?

    Hi gurus,
    I have searched "Java Stored Procedure" on this forum but could not find what I am looking for, so I have to post again.
    I need to use a web service and my client app is written in PowerBuilder 11 (Sybase), which claims that it will create a datawindow from a web service. Well, it turned out that PB can only handle simple stuff (it works with a very simple wsdl from the internet) but can't handle more complex ones that we need to use. So I am thinking about using Oracle JDeveloper(JDev) to create the web service proxy for the web service and then load it into Oracle as a Java stored procedure so that PowerBuilder can call the procedure. JDev succsfully generated the proxy and a few Java classes. My question is, do I need to load all the classes into the database? If yes, will the reference to the package work? For example, in a JDev generated class (the soap client class), it has package MyJdev.proxy; at the top. Or, will it work if I load all the classes included in package /MyJdev/proxy into the database?
    Thank you very much for any help.
    Ben

    For the java stored proc called from pl/sql, the example above that uses dynamic sql should word :
    CREATE OR REPLACE PACKAGE MyPackage AS
    TYPE Ref_Cursor_t IS REF CURSOR;
    FUNCTION get_good_ids RETURN VARCHAR2 ;
    FUNCTION get_plsql_table_A RETURN Ref_Cursor_t;
    END MyPackage;
    CREATE OR REPLACE PACKAGE BODY MyPackage AS
    FUNCTION get_good_ids RETURN VARCHAR2
    AS LANGUAGE JAVA
    NAME 'MyServer.getGoodIds() return java.lang.String';
    FUNCTION get_plsql_table_A RETURN Ref_Cursor_t
    IS table_cursor Ref_Cursor_t;
    good_ids VARCHAR2(100);
    BEGIN
    good_ids := get_good_ids();
    OPEN table_cursor FOR 'SELECT id, name FROM TableA WHERE id IN ( ' | | good_ids | | ')';
    RETURN table_cursor;
    END;
    END MyPackage;
    public class MyServer{
    public static String getGoodIds() throws SQLException {
    return "1, 3, 6 ";
    null

  • Limitation on data that can be fetched (ABAP RFC) via a Web Service?

    Hi,
    Is there any limit on the data that can be fetched via a Web Service (ABAP exposed as Web Service). I am trying to fetch PI monitoring data from ABAP Tables via a Web Service and there can be thousands of messages proceesed say in a day and what if user is provided the option of fetching messages for a specefic duration.
    Please advise.
    Neha

    Hello my friend
    If I understand your question correctly, there's an environment variable CPIC_MAX_CONV handles sessions between integration engine and adapter engine (ABAP and Java). By default, the value of this variable is 500, and you might want to increase it to 1000 at least, depends on system throughput. Recommended value from SAP for Production is 5000.
    Hopefully it's helpful,
    Effan

  • Null Values From MS Web Services Toolkit Client

    Hi,
    I've been bashing my head against a wall on this one for too long now.
    I've got a JAX-WS web service deployed to Glassfish v2 b33 which works fine when called by a Java client. It also works fine when methods with no parameters are called from the MS client, i.e. simple and complex types are returned as they should be. However the problem I am having is that when the web service methods that take parameters are called from the MS client, the values received by the service are always null. I've montitored the service and values are being sent in the soap request, but a simple System.out.println statement in the first line of the method indicates a null value. I've captured a request from the Java client and the MS client to show the difference:
    A java request:
    <soapenv:Envelope
         xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <soapenv:Header/>
        <soapenv:Body>
         <ns0:getConfig xmlns:ns0="http://ws.firestorm.alternativenetworks.com/">
                 <arg0>Inbound</arg0>
         </ns0:getConfig>
        </soapenv:Body>
    </soapenv:Envelope>and a request from the web services toolkit:
    <SOAP-ENV:Envelope
         xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
         xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
         xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/">
         <SOAP-ENV:Header/>
         <SOAP-ENV:Body>
               <SOAPSDK4:getConfig xmlns:SOAPSDK4="http://ws.firestorm.alternativenetworks.com/">
              <SOAPSDK4:arg0>Inbound</SOAPSDK4:arg0>
         </SOAPSDK4:getConfig>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>I've tried everything I can think of, including changing the style from RPC/LITERAL to DOCUMENT/LITERAL, but the Java web service just seem to like the way the SOAP message is wrapped up.
    Any help on this would be greatly appreciated.
    Cheers
    Tony

    Thanks Milan, your suggestion put me on the right track, however I've hit another snag.
    I decided the best way to solve the problem was to use the Glassfish Transformation Rules feature to take the SOAP request and transform it to a valid format before reaching the code. The XSLT file I created looks like this (I'm no XSLT guru so this will definitely need some tidying up, but for now it works): <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet  version="1.0"
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
         xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
         xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
         xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/">
         <xsl:output method="xml" indent="yes"/>
         <xsl:template match="*">
              <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates/></xsl:copy>
         </xsl:template>
         <xsl:template match="/SOAP-ENV:Envelope/SOAP-ENV:Body/*">
              <xsl:copy>
                   <xsl:copy-of select="@*"/>
                   <xsl:for-each select="*">
                        <xsl:text disable-output-escaping="yes"><arg</xsl:text>
                        <xsl:value-of select="position() - 1"/>
                        <xsl:text disable-output-escaping="yes">></xsl:text>
                        <xsl:value-of select="."/>
                        <xsl:text disable-output-escaping="yes"></arg</xsl:text>
                        <xsl:value-of select="position() - 1"/>
                        <xsl:text disable-output-escaping="yes">></xsl:text>
                   </xsl:for-each>
              </xsl:copy>
         </xsl:template>
    </xsl:stylesheet> which transforms the problem SOAP request: <SOAP-ENV:Envelope
         xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
         xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
         xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/">
         <SOAP-ENV:Header/>
         <SOAP-ENV:Body>
               <SOAPSDK4:getConfig xmlns:SOAPSDK4="http://ws.firestorm.alternativenetworks.com/">
              <SOAPSDK4:arg0>Inbound</SOAPSDK4:arg0>
         </SOAPSDK4:getConfig>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope> to the following valid format: <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope
         xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
         xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
         xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/">
       <SOAP-ENV:Header/>
       <SOAP-ENV:Body>
          <SOAPSDK4:getConfig xmlns:SOAPSDK4="http://ws.firestorm.alternativenetworks.com/">
         <arg0>Inbound</arg0>
          </SOAPSDK4:getConfig>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope> But when I load the .xsl file using the Transformation Rules page and call the web service using the Microsoft Web Services Toolkit, I'm getting the following exception: [#|2007-05-11T09:23:46.530+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=15;_ThreadName=Thread-15;com.sun.enterprise.admin.event.wsmgmt.TransformationRuleEvent -- server [1 Change(s), Id:1, ts:1178871826530];|ADM1041:Sent the event to instance:[com.sun.enterprise.admin.event.wsmgmt.TransformationRuleEvent -- server [1 Change(s), Id:1, ts:1178871826530]]|#]
    [#|2007-05-11T09:27:31.675+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=12;_ThreadName=httpWorkerThread-4848-0;com.sun.enterprise.admin.event.wsmgmt.TransformationRuleEvent -- server [1 Change(s), Id:2, ts:1178872051675];|ADM1041:Sent the event to instance:[com.sun.enterprise.admin.event.wsmgmt.TransformationRuleEvent -- server [1 Change(s), Id:2, ts:1178872051675]]|#]
    [#|2007-05-11T09:28:00.269+0100|WARNING|sun-appserver9.1|javax.enterprise.system.stream.err|_ThreadID=13;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=89eadb09-2894-4ace-95f6-75043c1e6988;|
    ERROR:  ''|#]
    [#|2007-05-11T09:28:00.285+0100|WARNING|sun-appserver9.1|javax.enterprise.system.stream.err|_ThreadID=13;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=89eadb09-2894-4ace-95f6-75043c1e6988;|
    com.sun.enterprise.admin.wsmgmt.transform.TransformException: javax.xml.transform.TransformerException: java.lang.NullPointerException
         at com.sun.enterprise.admin.wsmgmt.transform.FilterChain.process(FilterChain.java:238)
         at com.sun.enterprise.admin.wsmgmt.transform.TransformFilter.process(TransformFilter.java:144)
         at com.sun.enterprise.admin.wsmgmt.filter.spi.FilterRouter.applyFilters(FilterRouter.java:69)
         at com.sun.enterprise.admin.wsmgmt.agent.GlobalMessageListenerImpl.processRequest(GlobalMessageListenerImpl.java:181)
         at com.sun.enterprise.webservice.monitoring.WebServiceEngineImpl.processRequest(WebServiceEngineImpl.java:265)
         at com.sun.enterprise.webservice.monitoring.JAXWSEndpointImpl.processRequest(JAXWSEndpointImpl.java:53)
         at com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:127)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:79)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:559)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:518)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:503)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:400)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:70)
         at com.sun.xml.ws.mex.server.MetadataServerPipe.process(MetadataServerPipe.java:97)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:191)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:113)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:79)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:559)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:518)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:503)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:400)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:208)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:374)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:175)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:134)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:100)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:74)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:187)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:116)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:101)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:611)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:564)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:558)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:74)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:207)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:611)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:564)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:558)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1067)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:611)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:564)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:558)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1067)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:249)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:618)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:549)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:790)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:326)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:248)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:199)
         at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:328)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:93)
    Caused by: javax.xml.transform.TransformerException: java.lang.NullPointerException
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:651)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
         at com.sun.enterprise.admin.wsmgmt.transform.FilterChain.process(FilterChain.java:224)
         ... 54 more
    Caused by: java.lang.NullPointerException
         at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1235)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter.parse(TrAXFilter.java:105)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:588)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:642)
         ... 56 moreCould this be a bug or am I doing something wrong?
    Cheers again,
    Tony

  • Calling a function from a DLL, exectution in background mode.

    Dear Experts,
    We have created an ABAP report the calls a function from a DLL file. If the report is executed in on-line mode the program calls and executes the function from the DLL, but if the ABAP programa is executed in background mode it doesnt calls the DLL function.
    Do you know a way to solve the problem when executing in background mode?
    Best regards.
    Antonio

    Hi Gabriel,
    Let me explain in details about my DLL function.
    We are importing the business partners from legacy system into the SAP CRM system, so at the moment we created the BP master data via BAPI, I get the name of the BP and this moment I call the function in the DLL file. I export the parameter name and I receive back a simplified string with the name reduced to a code. This code I get back from the dll it is insert in a Z table, so there is no interaction in the screen, all must be executed in background mode, because there are a lot of business partners to be converted in SAP system.
    I am sending my code for your considerations.
    Instancia a DLL
      CREATE OBJECT dll 'MTCODE.CPFONET'.
      IF sy-subrc NE 0.
        RAISE without_dll.
      ENDIF.
    Move para a tabela interna IT_NAME os valores recebidos na TI_NAME
      it_name[] = ti_name[].
    Para cada registro importado
      LOOP AT it_name.
        CLEAR v_string_ret.
        wa_matchcode-zregid     = it_name-zregid.
        wa_matchcode-name1_text = it_name-name1_text.
        v_string = it_name-name1_text.
        CONDENSE  v_string.
        TRANSLATE v_string TO UPPER CASE.
        CALL METHOD  OF dll 'SetNome' EXPORTING #1 = v_string.
        CALL METHOD  OF dll 'ExecMatch'.
        CALL METHOD  OF DLL 'GetMCData' = v_string_ret.
        FREE OBJECT dll.
      Preenche os campos do match-code de acordo com o retorno da DLL
        SPLIT v_string_ret
        AT '|'
        INTO wa_matchcode-zparmcln
             wa_matchcode-zparmcfn
             v_empty
             wa_matchcode-name_first
             wa_matchcode-name_last
             wa_matchcode-namemiddle.
      Adiciona o registro com o match-code correspondente na TE_MATCHCODE
        APPEND wa_matchcode TO te_matchcode.
      ENDLOOP.

  • I can't figure out data binding from a web service.

    Hi,
    I've been trying to figure out how to connect a TreeTable control with data from a non-SAP web server. Here's what I have so far;
        I have a sample program that uses json in a variable called oData.
        I have a TreeTable control named oTable.
        I create a model;
            var oModel = new sap.ui.model.json.JSONModel();
        I feed the oData variable into it;
            oModel.setData(oData);
        Finally, I feed the oModel to the oTable;
            oTable.setModel(oModel);
    That all makes sense. What I want to do is get the data from a web service. The only examples I've been able to find show how to configure an SAP data service and then connect to that. They don't give any details of the format that the SAP data service is sending. I don't have access to an SAP system so I can't set one up to reverse-engineer the data. I'm going to be writting my own oData service for this so I need a couple of things;
        1. An example of json or xml data as it's sent from a web server.
        2. An example of how you pull that data from the web service to an SAP ui model.
    I could really use some help. I haven't been able to find any examples that make sense to me.

    Hi Joe
    Here is an small example. Maybe it is useful to you.
    In this example, I  bind the tree to /root and you can see that we have 0: 1: elements under each element recursively.
    Thanks
    -D

  • Get xml data from a web service into Forms?

    Hello folks! I am reading active directory info from a web service into forms via imported java classes. I can read from functions that return strings just fine, but I have to get the output from getGroupUsers which returns an XmlDataDocument. How do I read this in and parse it in Forms?
    I will be grateful if y'all could point me to an example.
    Thank you,
    Gary
    P.S. Here is a snippet of how I get the full name by passing an ID:
    DECLARE
    jo ora_java.jobject;
    rv varchar2(100);
    BEGIN
    jo := ADSoapClient.new;
    rv := ADSoapClient.getUserName(jo, 'user_ID');
    :block3.fullname := rv;

    Hello,
    Since you are already dealing with server-side JAVA, I would suggest you create a method that would do the parsing server-side and what your PL/SQL will be dealing with is just the return string.
    Here is a method I use to read an XML file (actually, it is an Oracle Reports file converted to XML) and from the string version, I will do search, replace and other things.
    So, from getGroupUsers which returns an XmlDataDocument, you can adapt this method to get your data server-side and let the form module read the output data.
    <blockquote>
    private String processFileXml(String fileName, int iFile) throws ParserConfigurationException, SAXException,
    IOException, XPathExpressionException{
    try{                
    DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
    domFactory.setNamespaceAware(true);
    InputStream inputStream = new FileInputStream(new File(fileName));
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    Document doc = builder.parse(inputStream);
    StringWriter stw = new StringWriter();
    Transformer serializer = TransformerFactory.newInstance().newTransformer();
    serializer.transform(new DOMSource(doc), new StreamResult(stw));
    return stw.toString();
    catch (Exception e){
    System.err.println(e);
    System.exit(0);
    return "OK";
    </blockquote>
    Let me know if this is of nay help.
    Thanks.

  • Invoking one web service from another web service

    Hi there,
    I want to invoke a web service lets say X. But befor sending parameters to this web service, what i want to do is first pass the parameters to a web service called Y and Y will decide wether to call X or not. In other words i want to invoke a web service from another web service.
    Its kind of urget so do the needful asap.
    Thanks

    Calling another webservice from within a webservice does not require anything special. The service (say svc1) that calls another service (svc2) will be a web svc client. So you will have to do the same steps for svc1 as you would do for any other web service client

  • Problems invoking a method from a web service

    Am using netbeans 6.1 and my problem is when i invoke a method from a web service that has a custom class as a return type.
    When I debug the client that consumes my web service, It get Stack in this line:
    com.webservice.WebServiceInfoBean result = port.getWebServiceInfo(nameSpace, serviceName, portName, wsdlURL);
    i don't get any error on the console.
        static public void function1() {
            try { // Call Web Service Operation
                com.webservice.WebServiceMonitorService service = new com.webservice.WebServiceMonitorService();
                com.webservice.WebServiceMonitor port = service.getWebServiceMonitorPort();
                // TODO initialize WS operation arguments here
                java.lang.String nameSpace = "NameSpaceHere";
                java.lang.String serviceName = "WebServicePrueba";
                java.lang.String portName = "Soap";
                java.lang.String wsdlURL = "http://localhost/Prueba/WebServicePrueba.asmx?wsdl";
                // TODO process result here
                com.webservice.WebServiceInfoBean result = port.getWebServiceInfo(nameSpace, serviceName, portName, wsdlURL); // <--- here it stack
                System.out.println("getWebServiceInfo");
                Iterator i = result.getMethods().iterator();
                while (i.hasNext()) {
                    MethodBean method = (MethodBean) i.next();
                    System.out.print("Nombre: " + method.getname());
                    System.out.print(" Returns: " + method.getreturnType());
                    Iterator j = method.getparameters().iterator();
                    while (j.hasNext()) {
                        ParameterBean parameter = (ParameterBean) j.next();
                        System.out.print(" ParameterName: " + parameter.getname());
                        System.out.print(" ParameterType: " + parameter.gettype());
                    System.out.print("\n");
                    System.out.print(method.getfirma());
                    System.out.print("\n");
                    System.out.print("\n");
            } catch (Exception ex) {
                ex.printStackTrace();
        }Web Service side
         * Web service operation
        @WebMethod(operationName = "getWebServiceInfo")
        public WebServiceInfoBean getWebServiceInfo(@WebParam(name = "nameSpace")
        String nameSpace, @WebParam(name = "portName")
        String portName, @WebParam(name = "serviceName")
        String serviceName, @WebParam(name = "wsdlURL")
        String wsdlURL) throws Throwable {
            //TODO write your implementation code here:
            webservicemonitor instance = new webservicemonitor();
            return instance.getWebServiceInfo(nameSpace, serviceName, portName, wsdlURL);
        }I have tested my internal code from the web service side and everything works fine. The problem occurs when i invoke it from a client side. probably I did not made the right serialization form my class WebServiceInfoBean? or am missing something. here it is:
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package com.beans;
    import java.util.ArrayList;
    * @author Tequila_Burp
    public class WebServiceInfoBean implements java.io.Serializable {
         * Holds value of property wsdlURL.
        private String wsdlURL;
         * Getter for property wsdlURL.
         * @return Value of property wsdlURL.
        public String getwsdlURL() {
            return this.wsdlURL;
         * Setter for property wsdlURL.
         * @param wsdlURL New value of property wsdlURL.
        public void setwsdlURL(String wsdlURL) {
            this.wsdlURL = wsdlURL;
         * Holds value of property namespace.
        private String namespace;
         * Getter for property namespace.
         * @return Value of property namespace.
        public String getnamespace() {
            return this.namespace;
         * Setter for property namespace.
         * @param namespace New value of property namespace.
        public void setnamespace(String namespace) {
            this.namespace = namespace;
         * Holds value of property serviceName.
        private String serviceName;
         * Getter for property serviceName.
         * @return Value of property serviceName.
        public String getserviceName() {
            return this.serviceName;
         * Setter for property serviceName.
         * @param serviceName New value of property serviceName.
        public void setserviceName(String serviceName) {
            this.serviceName = serviceName;
         * Holds value of property wsdlURL.
        private String portName;
         * Getter for property wsdlURL.
         * @return Value of property wsdlURL.
        public String getportName() {
            return this.portName;
         * Setter for property wsdlURL.
         * @param wsdlURL New value of property wsdlURL.
        public void setportName(String portName) {
            this.portName = portName;
         * Holds value of property methods.
        private ArrayList methods = new ArrayList();
         * Getter for property methods.
         * @return Value of property methods.
        public ArrayList getmethods() {
            return this.methods;
         * Setter for property methods.
         * @param methods New value of property methods.
        public void setmethods(ArrayList methods) {
            this.methods = methods;
        public MethodBean getMethod(int i) {
            return (MethodBean)methods.get(i);
    }by the way, everything has been worked on the same PC.

    Hi Paul,
    This sound familiar, but I cannot at the moment locate a reference to
    the issue. I would encourage you to seek the help of our super support
    team [1].
    Regards,
    Bruce
    [1]
    http://support.bea.com
    [email protected]
    Paul Merrigan wrote:
    >
    I'm trying to invoke a secure 8.1 web service from a 6.1 client application and keep getting rejected with the following message:
    Security Violation: User: '<anonymous>' has insufficient permission to access EJB:
    In the 6.1 client, I've established a WebServiceProxy and set the userName and password to the proper values, but I can't seem to get past the security.
    If there something special I need to do on either the 8.1 securing side or on the 6.1 accessing side to make this work?
    Any help would be GREATLY appreciated.

Maybe you are looking for

  • What are the best practices for generating an EPS logo from InDesign?

    Our costomer is running into technical issues with the logo we sent them, which was exported from Indesign. Images were not embedded and fonts missing. I was able to embed the images and fonts. However, we DO NOT want them to be able to make any text

  • Homogeneous System Copy process: PRD to QAS on MSSQL

    We have a need to refresh our QAS system with a copy of PRD - the method I have been researching is a homogeneous database copy. I am having difficulty finding step-by-step documentation to carry this out for release R/3 4.6C. The only client refresh

  • Printing Errors

    My HP C4795 is not printing correctly. It will print some sentences from a text document and others it only prints half of the sentence. And when I say half, I mean it only prints the top half of the letters of an entire sentence. I've cleaned and re

  • When i try to update my mac it says im not connected to the internet when i am.!?

    I cant update my MacBook pro because it says im not connected to the internet when i try to update. However i am connected.

  • Edit Sony EX1 in FCE?

    I've searched and searched and haven't found a solution. Is it possible to edit Sony EX1 footage in FCE 3.5? There has to be some kind of converter that will do this. I downloaded the XDCAM Transfer software but it said I was missing a lot of Codecs