Accessing BAPI web services from CAF External Services

We have wsdl files that corresponds to BAPI calls.  Using CAF, we want to create an external service using those wsdl files and then create an application service which will be in turn used by web dynpro for developing our composites. We did the following steps:
1. Created a new  Composite Application Service project
2. Then right click on the External Services, select import, choose Web service.
3. Select 'Local File System or URL' option. Copy the URL from the wsdl file and pasted the URL in the 'Browse' text field and click Next. Got an error in loading the web service.
4. Removed the Proxy Server settings in Developer Studio but in vain. Tried all possible combinations with the URL also (such as with and without the wsdl key at the end of the URL and using the 'UDDI or URL' option under the Proxy Definition of the External Services Import and also with the Window => Preferences => Proxy settings).
5. Since the above options failed, copied the wsdl files to the local drive and then choose that WSDL from the file system. Able to import.
6. Created the application service and provided the custom code for the request and response.
7. Registered the external service in the CAF browser -> Administrative tools -> External Service Configuration
8. Tested the service through the Developer Studio.
The error I get is: ERROR: IOError while working with the message. Check the nested exception: Connect Refused: connect:
Any idea on what needs to be done to resolve it?

authentication is required at design time to read the wsdl from bapis. did you provide username and password when importing the web service.
you can always add the username and password to the url to see if you can successfully get to the wsdl. Like that http://<webas_abap_servername>:<portnumber>/sap/bc/soap/wsdl11?services=BAPI_PO_CREATE&sap-client=<clientnumber>&sap-user=<username>&sap-password=<password>

Similar Messages

  • Access Enterprise Service as CAF External Service

    Hi All,
    Has anybody used Enterprise Service as CAF External service (in CE 7.1.1) and got the proper result after doing the external service config.? If any body used it please share the External service config part. Because I am getting stuck here. In CE7.1.1 the external service config is not same like previous version as I think.
    Thanks in Advance
    Chandan

    Hi Chandan,
    For Ehp1 you can take a look at:
    [Configuring Consumer Applications|http://help.sap.com/saphelp_nwce711/helpdata/en/a1/9e09c81efa4b2ba92de3f465e305f3/frameset.htm]
    [Configuring Individual Web Service Clients|http://help.sap.com/saphelp_nwce711/helpdata/en/47/f8af96fdb84aa7e10000000a421937/content.htm]
    [Configuring Groups of Web Service Clients|http://help.sap.com/saphelp_nwce711/helpdata/en/9e/bddebc278e41e4988fe064d694b20c/content.htm]
    Hope this helps.
    Best Regards,
    Tsvetan

  • Cannot access internal web server from same lan

    i cant resolve one problem in may 1921 ISR router, i have a web server in my internal lan , i set up static nat for accessing that web server from outside and it works fine but i cannot view that site from internal workstations can you suggest me what to do. i need packets to go out the outgoing interface of router and then come back and enter the static nat wich will direct to the web server is it possible?
    static nat is
    ip nat inside source static tcp  <local web server adress> 80 <global address> 80
    also i have set up dinamic nat for outgoing trafic
    ip nat inside source list <access-list> interface <outgoing interface>   
    and it is working fine too.
    on external interface i have nat outside
    on internal interface i have nat inside

    This is not working because your router has a direct to your web server that is not through the outside interface which is needed for nat to occur, for this to work you need to setup a loopback interface as nat outside and policy route traffic to there for your server traffic
    Bu if your server is internal why do you need nat at all? Can you not use bind with views that might be simpler
    M
    Sent from Cisco Technical Support iPad App

  • How do I access my iTunes media from an external hard drive?

    I have a new MacBook Air and want to access my media files from an external drive. I previously had a MacBook Pro and had to move all media to an external drive because I ran out of space. I've tried launching iTunes, going to Preferences, going to the Advanced Tab and then moving the location to the external drive and got this question: Would you like iTunes to move and rename the files in your new iTunes Media folder to match the “Keep iTunes Media folder organized” preference? Should I say yes? If I say yes, will iTunes be able to automatically find my files on the external drive?

    hey, basically i had the same problem as you. i had all of my itunes on an external hard drive and just bought a macbook pro, so here is what i was told to do....plug in the external hard drive to your MBA and then when you open itunes hold down the option button while you click and hold it down till you see a pop up window, it will ask you what library you want to use, click choose library and choose the itunes file that is on your external hard drive. and then all of your stuff will be in the itunes.
    what i have seemed to run into though is, when the external hard drive isn't plugged in itunes won't open unless you choose another library or plug in the external hard drive. - my question is this, should i open another library on my macbook pro's internal hard drive so i can at least look at itunes when i don't have my external hard drive connected. my old macbook did this, it would point to another library on my macbook and i would still be able to see all of my media but couldn't play it without the external hooked up, is there a way to do this on lion?
    i hope i was able to answer your question sam and hopefully can have my question answered too.
    thanks!
    - sorry sam, don't mean to hijack your thread but hopefully it will help us both - i don't want to store any media )movies, music, podcasts, apps, any of that stuff on my macbook pro's hard drive, so say there is a way to get itunes to open without my external hooked up and i can still see my media, or not see my media and i want to download a song or a app that i see when i am not near my external....what is the easiest way to get that file onto the external and not have it taking up space on my macbook pro's hard drive? sorry for all the long questions
    Message was edited by: thenumbersarebad - thought of one more thing - sorry

  • Call proxy service from other proxy service with attachment

    Hi!
    I have got an email sending proxy service I would like to call this from an other proxy service and I want to send attachment in email. I can send email with attachment if i call this proxy as a webservice (e.g. from soapUI)
    But if i want to call this email proxy service from other proxy service, the attachment in email is empty. I put a log action (expression: $attachments) in the beginning of email proxy service, and I saw this in the log file:
    +<con:attachments xmlns:con="http://www.bea.com/wli/sb/context"/>+
    So the attachment is really empty...
    I use service callout. I put an insert action in request action of service callout:
    In Variable:
    attachments
    XPath:
    +.+
    Location:
    as first child of
    Expression:
    +<con:attachment xmlns:con="http://www.bea.com/wli/sb/context">+
    +     <con:Content-Type>application/octet-stream</con:Content-Type>+
    +     <con:Content-Disposition>attachment; filename="{$v_fileName}"</con:Content-Disposition>+
    +     <con:Content-Transfer-Encoding>base64</con:Content-Transfer-Encoding>     +
    +     <con:body>{$attachments/ctx:attachment/ctx:body/*}</con:body>+
    +</con:attachment>+
    Why cannot I call this email proxy service from other proxy service for sending email with attachment?
    I tried to solve this other. I called an email sending business service from this proxy service. But in this case I cannot set the body of email. If I put just one Transport Header action in publish action, I could send the email (with empty body). But If I put a replace action in publish action as well then the OSB didn't send the email and I couldn't find any error message in log file... How could I set the body of email in publish action?
    Thanks!
    Viktor

    You should be able to get the current user id from the SPListItemEventProperties object. From here you should be able to create a Claim. For example get the user by using
    user = SPWeb.Users.GetByID(properties.CurrentUserId)
    SPClaim claim = SPClaimProviderManager.CreateUserClaim(user.email, SPOriginalIssuerType.TrustedProvider, issuerIdentifier);
    https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.claims.spclaimprovidermanager.createuserclaim(v=office.14).aspx
    Blog | SharePoint Field Notes Dev Tools |
    SPFastDeploy | SPRemoteAPIExplorer

  • Calling another ITS service from existing ITS service

    Hi to Everyone,
    I would like your advice on calling another ITS service from existing ITS service.
    From my current ITS service eg. "Z_TESTA", i wish to call another ITS service "Z_TESTB". The problem is that it always prompt for userid and password when i called the 2nd ITS service. However, user already enter the password & id when they login to the 1st ITS service. Is there a way to call this new ITS service w/o the userid & password prompt again?
    Below is the codes that we used to call the new ITS service:
    (a) "http://.../scripts/wgate/webgui/!?~transaction=z_testb"
    OR
    (b) "http://.../scripts/wgate/z_testb/!"
    We used both method (a) and (b) but same outcome. Thank you in advance!
    YanaJ

    Hi YanaJ,
    in order to skip a manual login you have to have the credentials somewhere. If you disabled cookies, what I told you will not work. Another possibility would the usage of X509 client certificates. But this requires that you have a setup that distributes the certificates of all of your users. I personally nether setup such scenario. Maybe someone other can explain what you have to do.
    Best regards,
    Klaus

  • Sample code to access BAPI Web services from JAVA required

    Hi All,
    I am a java developer. I am new to SAP. I just want to know how to use the web services from ABAP
    I got the WSDL, and able to convert the WSDL into java classes using java2wsdl command.
    Now i want to know how to use these classes, in my java class.  i want to know two things
    1) How to get authentication or session  or token to use the service
    2) How to consume BAPI services by using above session or token.
    Any help, really appreciated. Plz help me if any one knows.
    Thanks alot,
    Mohan

    Triplehhh wrote:
    Hi,
    I have a web application developed with java,jsp and javascript and server used is weblogic.
    Now this application is running fine on my PC. I assume from this that there is no client side Java. Is this right?
    So what steps are required so that I can access the application from other PCs also.If there is no client side Java then you have to do nothing other than make sure your PC can be reached from the other PCs. i.e. no firewalls blocking the access and routing available between the client PC and the server PC.
    I don't see what this has to do with JNLP. Am I missing something?

  • Invoking BAPI_MATERIAL_SAVEDATA as a web service from CAF

    I am new to BAPI world. Currently, we are building a composite application - a part of the application interacts with SAP R3 for creating materials and then getting a list of all created materials. We are using the following BAPIs: BAPI_MATERIAL_SAVEDATA, BAPI_MATERIAL_GETLIST, BAPI_MATERIAL_GETDETAIL.  All these BAPIs are exposed as web services. I have created an external service using wsdl file that corresponds to BAPI_MATERIAL_SAVEDATA.  I would like to create a new material by passing minimum possible parameters. I am setting the values in HEADDATA and MATERIALDESCRIPTION only. I am giving Y to basic_view and N to all other views in HEADDATA. The call succeeds apparently but when I try to retrieve it using BAPI_MATERIAL_GETLIST/GETDETAIL it fails to retrieve. My questions:
    1. What is the best way to create a new material (basic view) by passing minimum parameters?
    2. How to verify if the material is successfully created?
    3. How does CLIENTDATA and CLIENTDATAX differ? There are similar 'X' appends in other places as well. Can anyone please provide any pointer/link about some more basic information on the following BAPIs: BAPI_MATERIAL_SAVEDATA, BAPI_MATERIAL_GETDETAIL, BAPI_MATERIAL_GETLIST.
    Thanks.

    Hi,
       3. To get more information about a BAPI, you can look at the function module documentation. Login to the R/3 system, start transaction SE37 and type in the name of the BAPI and select "Display". Once you see the source code, you'll see a button called "Function module document". Clicking on that will open up the help document for that BAPI.
       For eg., quoting from the docs for BAPI_MATERIAL_SAVEDATA, CLIENTDATA structure is used to transfer the general basic data on a material. CLIENTDATA X structure determines which fields in the assigned user data structure (CLIENTDATA) contain change-relevant information.
       2. When the BAPI_MATERIAL_SAVEDATA is executed, it should ideally contain the material number in the structure HEADDATA. Check if you are getting that. If you have it, then it should've been created. You can double check by starting transaction SE11 and display table MARA. Type in the material number that you received.
      1. All the parameters except HEADDATA is optional for the  BAPI_MATERIAL_SAVEDATA. So you can just choose to pass some of the fields of this structure and that should do it.
    Regards,
    Satyajit.

  • Error in calling external services from CAF

    Hello Everybody,
    I have created one entity services which has remote persistency with RFC. I have mapped operations of entyty service to the RFCs. But when I tried to test this entity service it gives me the error:
    <b>Error when creating business object instance</b>
    Then i looked into the log viewer for the dump:
    [EXCEPTION]
    com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method readMappingRule. The transaction is marked for rollback.     at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.readMappingRule(MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.java:570)     at com.sap.caf.mp.core.data.service.DataServiceBridge.getMappingRuleIds(DataServiceBridge.java:472)     at com.sap.caf.mp_mmr_bridge.rt.impl.RuntimeHelper.getExternalOperationConfig(RuntimeHelper.java:141)     at com.sap.caf.mp_mmr_bridge.rt.IRuntimeHelper.getExternalOperationConfig(IRuntimeHelper.java:48)     at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.create(RemoteDataAccessService.java:465)     at com.sap.xrfc.besrv.person.PersonServiceBean.create(PersonServiceBean.java:74)     at com.sap.xrfc.besrv.person.PersonServiceLocalLocalObjectImpl0.create(PersonServiceLocalLocalObjectImpl0.java:345)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)     at java.lang.reflect.Method.invoke(Method.java:324)     at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.createDependentObject(ServiceWrapper.java:430)     at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.createDataContainerBean(ServiceWrapper.java:194)     at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessBeanImpl.createDataObject(CAFServiceAccessBeanImpl.java:159)     at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessLocalLocalObjectImpl20.createDataObject(CAFServiceAccessLocalLocalObjectImpl20.java:647)     at com.sap.caf.rt.ui.cool.generic.AspectServiceAccess.insertAspectRow(AspectServiceAccess.java:211)     at com.sap.caf.rt.ui.cool.generic.Aspect.insertRows(Aspect.java:1426)     at com.sap.caf.rt.ui.cool.generic.Aspect.sendChanges(Aspect.java:1542)     at com.sap.caf.rt.ui.cool.generic.ServiceModule.sendChanges(ServiceModule.java:299)     at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.TableViewCC.saveData(TableViewCC.java:377)     at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.wdp.InternalTableViewCC.saveData(InternalTableViewCC.java:196)     at com.sap.caf.ui.servicebrowser.components.visualizer.views.TableViewCV.onActionSave(TableViewCV.java:396)     at com.sap.caf.ui.servicebrowser.components.visualizer.views.wdp.InternalTableViewCV.wdInvokeEventHandler(InternalTableViewCV.java:371)     at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)     at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:417)     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)     at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:415)     at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:101)     at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:650)     at com.sap.tc.webdynpro.clientserver.cal.ClientManager.processRequest(ClientManager.java:155)     at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:105)     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:63)     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:50)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)     at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)     at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)     at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)     at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)     at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)     at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)     at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)     at java.security.AccessController.doPrivileged(Native Method)     at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)     at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)Caused by: java.lang.NullPointerException     at com.sap.caf.mp.mmr.adapter.MMServiceRetrievalAdapter.readMappingRule(MMServiceRetrievalAdapter.java:232)     at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerBean.readMappingRule(MMServiceRetrievalAdapterCallerBean.java:125)     at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.readMappingRule(MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.java:553)     ... 49 morejava.lang.NullPointerException     at com.sap.caf.mp.mmr.adapter.MMServiceRetrievalAdapter.readMappingRule(MMServiceRetrievalAdapter.java:232)     at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerBean.readMappingRule(MMServiceRetrievalAdapterCallerBean.java:125)     at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.readMappingRule(MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.java:553)     at com.sap.caf.mp.core.data.service.DataServiceBridge.getMappingRuleIds(DataServiceBridge.java:472)     at com.sap.caf.mp_mmr_bridge.rt.impl.RuntimeHelper.getExternalOperationConfig(RuntimeHelper.java:141)     at com.sap.caf.mp_mmr_bridge.rt.IRuntimeHelper.getExternalOperationConfig(IRuntimeHelper.java:48)     at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.create(RemoteDataAccessService.java:465)     at com.sap.xrfc.besrv.person.PersonServiceBean.create(PersonServiceBean.java:74)     at com.sap.xrfc.besrv.person.PersonServiceLocalLocalObjectImpl0.create(PersonServiceLocalLocalObjectImpl0.java:345)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)     at java.lang.reflect.Method.invoke(Method.java:324)     at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.createDependentObject(ServiceWrapper.java:430)     at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.createDataContainerBean(ServiceWrapper.java:194)     at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessBeanImpl.createDataObject(CAFServiceAccessBeanImpl.java:159)     at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessLocalLocalObjectImpl20.createDataObject(CAFServiceAccessLocalLocalObjectImpl20.java:647)     at com.sap.caf.rt.ui.cool.generic.AspectServiceAccess.insertAspectRow(AspectServiceAccess.java:211)     at com.sap.caf.rt.ui.cool.generic.Aspect.insertRows(Aspect.java:1426)     at com.sap.caf.rt.ui.cool.generic.Aspect.sendChanges(Aspect.java:1542)     at com.sap.caf.rt.ui.cool.generic.ServiceModule.sendChanges(ServiceModule.java:299)     at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.TableViewCC.saveData(TableViewCC.java:377)     at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.wdp.InternalTableViewCC.saveData(InternalTableViewCC.java:196)     at com.sap.caf.ui.servicebrowser.components.visualizer.views.TableViewCV.onActionSave(TableViewCV.java:396)     at com.sap.caf.ui.servicebrowser.components.visualizer.views.wdp.InternalTableViewCV.wdInvokeEventHandler(InternalTableViewCV.java:371)     at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)     at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:417)     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)     at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:415)     at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:101)     at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:650)     at com.sap.tc.webdynpro.clientserver.cal.ClientManager.processRequest(ClientManager.java:155)     at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:105)     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:63)     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:50)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)     at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)     at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)     at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)     at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)     at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)     at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)     at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)     at java.security.AccessController.doPrivileged(Native Method)     at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)     at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
    I have configured RFC connections in the administrative tools. Still it is not working.
    What should be the reason behind this?
    Thanks,
    Bhavik

    Hi Guys,
    i have the same issue when calling a external service ...
    I'm calling a web service located on my server, and i get the same error ...
    I have a error while the method "loadbycustomkeys" is trying to get data from the web service.
    in the error trace i find the same error id : nullSourceOrTargetForMapping which occurs in the readMappingRule method.
    have you found a solution for your issue please ? let me know !
    Thxs
    MCT

  • SneakPreview 2004s SP7 CAF External Services - Web Services Problem

    I would like to use our web services in our CAF (Composite Application Services) Project. So I selected External Services and in the popup menu selected Import.
    After filling WSDL location und clicking on Finish Button. I got following Message:
    Cannot load WebService WSDL from URI:
    http://...
    Invalid wsdl.
    WSDL is ok and I have already used it in the Web Dynpro Project SneakPreview SP15. If I copy the show this Link  in the Internet Browser, I see the WSDL.
    Can anybody help???

    Thanks Jan, for your response.
    I still cannot import my WSDL.
    I have just tried my example with the same result
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions
         name="T1"
         targetNamespace="http://tempuri.org/T1/wsdl/"
         xmlns:wsdlns="http://tempuri.org/T1/wsdl/"
         xmlns:typens="http://tempuri.org/T1/type/"
         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:stk="http://schemas.microsoft.com/soap-toolkit/wsdl-extension"
         xmlns:dime="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
         xmlns:ref="http://schemas.xmlsoap.org/ws/2002/04/reference/"
         xmlns:content="http://schemas.xmlsoap.org/ws/2002/04/content-type/"
         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
         xmlns="http://schemas.xmlsoap.org/wsdl/">
         <wsdl:types>
              <xs:schema
                   targetNamespace="http://tempuri.org/T1/type/"
                   xmlns:xs="http://www.w3.org/2001/XMLSchema"               
                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                   elementFormDefault="qualified">
                   <xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
                   <xs:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
                   <xs:import namespace="http://schemas.xmlsoap.org/ws/2002/04/reference/"/>
                   <xs:import namespace="http://schemas.xmlsoap.org/ws/2002/04/content-type/"/>
              </xs:schema>
         </wsdl:types>
         <wsdl:message name="clsMain.HalloWorld">
         </wsdl:message>
         <wsdl:message name="clsMain.HalloWorldResponse">
         </wsdl:message>
         <wsdl:portType name="clsMainSoapPort">
              <wsdl:operation name="HalloWorld">
                   <wsdl:input message="wsdlns:clsMain.HalloWorld"/>
                   <wsdl:output message="wsdlns:clsMain.HalloWorldResponse"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name="clsMainSoapBinding" type="wsdlns:clsMainSoapPort" >
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name="HalloWorld">
                   <soap:operation soapAction="http://tempuri.org/T1/action/clsMain.HalloWorld"/>
                   <wsdl:input>
                        <soap:body
                             use="Literal"
                             namespace="http://tempuri.org/T1/message/"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body
                             use="Literal"
                             namespace="http://tempuri.org/T1/message/"/>
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:service name="T1" >
              <wsdl:port name="clsMainSoapPort" binding="wsdlns:clsMainSoapBinding" >
                   <soap:address location="http://DOLEZAL/FEST_WEBS/T1.WSDL"/>
              </wsdl:port>
         </wsdl:service>
    </wsdl:definitions>
    Message was edited by: Ladislav dolezal

  • CAF external service consumption nwds7.0

    Hi,
    I am trying to consume enterprise service in caf nwds7.0 by importing the backend wsdl of hu2 system.I done external service configurations from caf administrative tools also.Still i am unable test the entity service from service browser.I there any further configurations to be done apart from external service configuration?

    Hi,
    Please go through this article
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/6e7e5fc2-0701-0010-8588-86c555d9e8f0&overridelayout=true
    Please check out whether you are missing any configurations.
    Regards,
    Gayathri.

  • Unable to instantiate GP process from CAF application service

    Hi,
    I am trying to instantiate a process from my CAF application service as follows.
    IGPProcess process = GPProcessFactory.getDesigntimeManager().getActiveTemplate("7CE44BF090BF11D99817000D60B211F1",user);
    When the execution reaches this step, I am getting the following exception.
    com.sap.engine.frame.core.load.SAPClassNotFoundException
    I suspect that CAF runtime is not able to load GPProcessFactory class. Is there any settings that need to be done or I have to deploy something on the server?
    Please help.
    Thanks
    Raghav

    Hi Raghavendra,
    It seems you are using SPS7 !
    Check runtime reference for J2ee application in application-j2ee-engine.xml :
    <reference
              reference-type="weak">
              <reference-target
                   provider-name="sap.com"
                   target-type="library">cafeugp~api</reference-target>
         </reference>
    Best regards,
    Aliaksei

  • How to access AM/VO instance from a Java Service class

    Hi,
    I have a Java service class that is loaded by Java ServiceLoader (http://download.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html) at run time, and I need to access database tables inside that service class. So is there any way that I can access AM/VO instances from that Java class in order to read database table? Thanks.
    Regards,
    K Hein

    You can access an application module with the the two methods below:
        YOURAppModule mAM;
        public void setUpAM()
            throws NamingException
            try
                String AMDefName = "YOUR_APP_DEF_NAME";
                Hashtable env = new Hashtable(2);
                env.put(JboContext.INITIAL_CONTEXT_FACTORY, JboContext.JBO_CONTEXT_FACTORY);
                env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
                ApplicationModule am = null;
                InitialContext ic = new InitialContext(env);
                ApplicationModuleHome home = (ApplicationModuleHome) ic.lookup(AMDefName);
                am = home.create();
                // Connect the AM to a database connection
                String jndiDB = "jdbc/HRDS";
                am.getTransaction().connectToDataSource(null, jndiDB, false);
                boolean connected = am.getTransaction().isConnected();
                mAM = (YOURAppModule) am;
            catch (NamingException nex)
                // do some error processing
                throw nex;
            catch (Exception eee)
                // do some error processing
                throw eee;
        public void tearDownAM()
            if (mAM != null)
                if (mAM .getTransaction().isConnected())
                    mAM .getTransaction().disconnect();
                    mAM .remove();
        }You find the YOUR_APP_DEF_NAME in your application module under 'Configurations' -> AppModuleJndiName.
    Make sure you tear down each AM you set up. Otherwise you are running out of resources pretty fast.
    Timo

  • Web Service and CAF Application Services - How to return a table

    Hello,
    I'd like to build a CAF Application Service and expose it as a Web Service. This service should return an array or table which I'd like to display in a Visual Composer model.
    I understand that there're limitations at CAF regarding supported data types.
    Does anyone know how to get a workaround?
    Any information is very appreciated.
    Kind regards
    Stefan

    Hi,
    You can return a list.
    The standard way to do this is you have to create a complex data type for response.
    Configure the cardinality of this data type to 1..n so as to accomodate a list.
    In your implementation add your list to this response message and return the list.
    This waly you can return collections.
    Hope it helps.
    Regards,
    Srinivasan Subbiah

  • Which permissions required for using CAF External Service Configuration?

    Hello,
    I have written an application service which invokes an external RFC. To this end, I have imported the desired RFC as external service and wrapped it as an application service.
    However, when invoking this application service I get an error message that the external service has not been configured. I have learned that I have to use CAF's External Service Configuration tool.
    Unfortunately, this tool complaints that I don't have the required administrator permissions. This happens even when I log in with the administrator account.
    What do I do wrong?
    Best regards
    Alexander

    I just have found the required role. It is role SAP_CAF_ADMIN.

Maybe you are looking for