Creating External Services in CAF

Hi All,
I am developing CA using CAF.
I want to use external services i.e Web Services & RFC.
How can i create them???
How do i import these services???
Thanks.
Cheers
Gaurav Raghav

Hi,
Plz go through this [help doc|http://help.sap.com/saphelp_nwce10/helpdata/en/45/174ae492ef5d79e10000000a11466f/content.htm]
Sampath

Similar Messages

  • Internal Server error while configuring External service for CAF

    Dear All,
    While configuring the External Service (RFC) for CAF Core project in our EP7 SP11 server we are getting error message we are getting Internal server error when we click on service registry.
    500   Internal Server Error
      SAP NetWeaver Application Server 7.00/Java AS 7.00 
    Failed to process request. Please contact your system administrator.
    [Hide]
    Error Summary
    While processing the current request, an exception occured which could not be handled by the application or the framework.
    If the information contained on this page doesn't help you to find and correct the cause of the problem, please contact your system administrator. To facilitate analysis of the problem, keep a copy of this error page. Hint: Most browsers allow to select all content, copy it and then paste it into an empty document (e.g. email or simple text file).
    Root Cause
    The initial exception that caused the request to fail, was:
       java.lang.NullPointerException
        at com.sap.caf.mp.mmr.adapter.ServiceDefinitionTypeConverter.convertExternalInterface(ServiceDefinitionTypeConverter.java:507)
        at com.sap.caf.mp.mmr.adapter.MMServiceRetrievalAdapter.getExternalInterfaces(MMServiceRetrievalAdapter.java:547)
        at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerBean.getExternalInterfaces(MMServiceRetrievalAdapterCallerBean.java:158)
        at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0_0.getExternalInterfaces(MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0_0.java:477)
        at com.sap.caf.mp.core.data.service.DataServiceBridge.getExternalServices(DataServiceBridge.java:201)
        ... 47 more
    Please let me know what shd be done to correct the error.
    Warm Regards
    Mazdul
    [email protected]

    The solution is mentioned in this thread:
    Error on External Serrvice Configuration Page NW 20047s SP10
    re-create your configuration if possible and see whether that fixes it

  • Using XI created Web Service in CAF Core

    Hello,
    i'm despairing!!!!
    For 2 days I'm trying now to get my XI created Web service working in my CAF Core application...the result is depressing.
    First of all: the Web service works without any problems when I import the WSDL into "oXygen" tool. I'm generating a request and get the correct result. The message is processed without errors in XI.
    I followed the steps described in <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/11669cea-0c01-0010-63b2-b98c35b1b370">Using a Web Service as External Service</a>. I have 2 search values (with option, minValue, maxValue) where I map each minValue to the corresponding external service attribute.  But when I test the everything in the ServiceBrowser (with parameters ""), the message is processed in XI but with empty search parameters. This means that my "" values are not transferred via XML to XI.
    Maybe I put in incorrect URLs (tutorial part: "Configure external services") for WSDL Description URL and End point URL. Which URLs are the corresponding ones in a WSDL file?
    Can anyone help me?
    Thanks and regards
    Joschi

    Hi Andre,
    Thanks for your answer, but now I'm a bit confused...why is this tutorial for GP? A Web Service is imported as External Service into a Composite Application Service DC in NWDS and then wrapped by an Entity Service. After deployment the Entity Service is tested with the Service Browser. So I don't see the connection to GP.
    The passage with 2 search values is maybe a bit confusing, yes. I will search for materialNumber and salesName (2 search values). And for each my Entity Service operation presents me in the mapping mask three "sub"-parameters: option, minValue, maxValue.
    So my question on your question: Why do I have to set the "option" to "=="? I don't need the option for my Web Service. In the tutorial there's also no "option" set. In addition I'm not able to set the "option" in my Entity Service because no coding is allowed. So is the tutorial  wrong?
    By the way, I already set the "option" to "==" in an extra Application Service (which cals my Entity Servie) and tested it. I created 2 QueryFilters and set "option", "minValue" and "maxValue". But this also doesn't work.
    Regards
    Joschi

  • 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

  • Joining two external services with CAF

    Hi,
    I'm trying to join two external services in one. I need the input parameters of the first service and the output parameters of the second one and the relation between the two services is made by an ID that is common in both services (output of the first service, input of the second). The idea is to make a method that could read the output parameter of the first service and send it to the input parameter of the second service, in order to show the results of the second service. I have made a CAF project but I need extra coding in Java. Could anybody give me  a similar example or something that could guide me?
    Thanks in advance,
    Jon

    Hi Julius,
    I have sent a mail to this mail id with a attached file -->
         'julius3419'
    Please have a look at that and provide me some guidance.
    It contains the following content :
    I have two major doubts at this point:
       When I publish my services using WSADMIN or from SOAMANAGER, I choose publish services and endpoints, so why do I have to manually create a service and the endopints for that in SOAMANAGER(SOAMANAGER -> business administration -> web service administration -> search service ).
    When I am performing the configuration steps, in the attached .pdf,          (page 11 of pdf)we first create a service registry parameter SR_UDDI (do we have to compulsarily give a version number there), we use the Logical Port "LP_WORKPLACE ".  But after that step we proceed to create a Logical Port in LPCONFIG   I. Proxy Class: "CO_ESREGISTRY_WSSI"                                                                                II. Logical port: "LP_WORKPLACE". Include a Description ,            So are we using the Logical Port initially and then creating it ?

  • Can we create External & Service Activities using BAPI_PROJECT_MAINTAIN?

    <Subject changed>
    Hi All,
    Using Function module bapi_project_maintain, is that possible to create External activity & Service Activity in project system module?
    If Yes, Pls. provide me the way to do it.
    Regards
    Suresh
    Moderator Message: Please use a more meaningful subject in future.
    Edited by: Suhas Saha on Jan 6, 2012 11:57 AM

    Hi,
    Refer the bellow thread which may help you in using  BAPI_PROJECT_MAINTAIN.
    Facing Problem in BAPI_PROJECT_MAINTAIN
    Thanks & Regards,
    Goutam Kolluru.
    Edited by: goutam kolluru on Jan 6, 2012 5:35 AM
    Edited by: goutam kolluru on Jan 6, 2012 5:36 AM
    Edited by: goutam kolluru on Jan 6, 2012 5:40 AM
    Edited by: goutam kolluru on Jan 6, 2012 5:41 AM

  • Creating External Services

    Suppose I am building an Application using WebDynpro on the Java stack of WAS 6.4. 
    If I am required to provide an integration point for some external application to get some information from my application. What could one uses or creates to satisfy this requirement?  I suspect XI or Web Services.
    For Web Service, I probably need to create an EJB and make it WebService to provide the service call. For XI, I can make use of the EJB to complete the Proxy code.
    Any feedback is appreciated.
    Thanks

    Hi,
    if i understood you correctly this is the scenario your describing:
    you are developing application that its UI side is WebDynpro and you need to enable other applications access to some of the information and logic this application provides. if that the case then what you should do is:
    1. develop your business logic with EJB's
    2. develop your UI logic with WebDynpro
    3. expose some of the business logic (those you need) as WebServices.
    it is important that the WebDynpro side would not contain business logic in order to enable the above requirement.

  • External Service Generation - WSDL not accepted

    Hi,
    I am struggeling to import my WSDL into the CAP SP 8 in the NW DevStudio.
    A long time I received a an error "invalid WSDL" - no further comments.
    After reading the SAPNote and comparing with working WSDLs I came up with that WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://com.bis/xi/esabox/demo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/" name="CreateSAPOrderService" targetNamespace="http://com.bis/xi/esabox/demo">
         <types>
              <xsd:schema targetNamespace="http://com.bis/xi/esabox/demo">
                   <xsd:complexType name="row">
                        <xsd:sequence>
                             <xsd:element name="p_idproduit" type="xsd:string"/>
                             <xsd:element name="p_nom" type="xsd:string"/>
                             <xsd:element name="p_type" type="xsd:string"/>
                             <xsd:element name="p_pu" type="xsd:string"/>
                             <xsd:element name="p_count" type="xsd:string"/>
                        </xsd:sequence>
                   </xsd:complexType>
              </xsd:schema>
         </types>
         <message name="CreateSAPOrderRequest">
              <!--
              <part name="p_idproduit" type="xsd:int"/>
              <part name="p_nom" type="xsd:string"/>
              <part name="p_type" type="xsd:string"/>
              <part name="p_pu" type="xsd:float"/>
              <part name="p_count" type="xsd:int"/>
              -->
              <part name="row" type="tns:row"/>
         </message>
         <message name="CreateSAPOrderResponse">
              <part name="SAPOrderResponse" type="xsd:string"/>
         </message>
         <portType name="SAPOrder_PortType">
              <operation name="createSAPOrder">
                   <input message="tns:CreateSAPOrderRequest"/>
                   <output message="tns:CreateSAPOrderResponse"/>
              </operation>
         </portType>
         <binding name="SAPOrder_Binding" type="tns:SAPOrder_PortType">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="createSAPOrder">
                   <soap:operation soapAction="createSAPOrder"/>
                   <input>
                        <soap:body use="literal" namespace="http://com.bis/xi/esabox/demo"/>
                   </input>
                   <output>
                        <soap:body use="literal" namespace="http://com.bis/xi/esabox/demo"/>
                   </output>
              </operation>
         </binding>
         <service name="Create_SAP_Order_Service">
              <documentation>WSDL File for CreateSAPOrderService</documentation>
              <port name="CreatSAPOrder_Port" binding="tns:SAPOrder_Binding">
                   <soap:address location="http://iwdfvm2160:51000/XISOAPAdapter/MessageServlet?channel=:BSe_GREENATTITUDE_WS:CC_GREENATTITUDE_WS"/>
              </port>
         </service>
    </definitions>
    No I receive the error "Cannot convert MP Service Definition SAPOrder_PortType into MMR External Service. Reason: Program Error: Unexpected MP data. IStructure struct instance have to be of type IElement."
    Well - for me that does not help a lot.
    Has anyone an idea what I am doing wrong?
    and BTW: I have the impression that CAF but also XI and VC heavily struggle to work with external WSDL. Does anyone know whether SAP is going to improve their products somewhen towards real-life applicability?
    Thanks for any comment!!
    Cheers.

    Hi Ankit
    I had managed to solve the problem with a workaround
    1) I created an Proxy Project to wrap XI WSDL file in it
    2) Then created EJB project to call wrapped XI web Service
       from ejb method. I then exposed this ejb method as web service
    3) Finally created ear for ejb and deployed it on Web Application Server
    4) now create External service project for the new wrapper web service it will get imported sucessfully and build and deploy also goes sucessfully
    The difference this workaround does is that we do not have to consume XI webService directly which has little different structure and instead we consume wrapper web service which is generated out of an EJB and is available on JAVA stack your web service itself
    CAF has no problem importing External services when they are hosted on web server JAVA itself
    Hope my explanation convince you to go with this workaround
    Thanks
    Asif

  • Creating application service from rfc

    Hi all,
    I want to create a service which gives the data coming from an rfc. There is no input . how do i do it in CAF.
    Regards
    Rohit

    Hi,
    You can use external service in CAF two ways.
    1. Using the external serviec (BAPI/Web Service) which will be mapped with
        entity  service. Then craete an application service as a wrapper of entity service.
    2. Dirrectly use the external service from application service using code without using entity service.
    So if have no requirement to store data in CAF local Data base then you can use external service from only application service through code.
    If you need the code please let me know I will try to help you.
    Thanks
    Chandan

  • Entering time sheet for external service employee

    Hi all,
    My scenario is,
    I created a external service for my network in the project. PR has been created. I've converted the PR into PO(Service) and then i maintained a HR master and assign the PO details. But when i try to enter the time sheet for that employee i couldn't.Anyone can explain the process flow for this scenario please.
    Thanks

    Once you create external service PO, the same should have been assigned to HR master. Try to create as group so that time entry can be done conveniently.
    Check the below links. I guess, you are using CAT time entry transaction to create Service entry sheet. Use CATM transaction to create time entry.
    http://forums.sdn.sap.com/thread.jspa?threadID=1485422
    http://help.sap.com/saphelp_dbm600/helpdata/en/64/40048a470211d189720000e8322d00/content.htm

  • Expose the Entity Service in CAF as Web Service

    Hello,
    How can I expose the created Entity Services in CAF (for example xPerson) as a Web Service, for be used in other applications?
    Thanks

    Hi,
    These will actually get saved in your internal SAP database. This is nothing but a MaxDB database which will be installed along with your CE. All your business objects will be saved in this in the server.
    Regards,
    Srinivasan Subbiah

  • Consuming external web services in CAF

    Hi there,
    I am trying to set up a show case where a composite CAF app (exposed via WD or VC) uses SAP web services as well as external services. In this case, I chose to use the Fedex web services (http://fedex.com/developer).
    Everything works fine, I am able to import the webservice using the locally stored WSDL into my composite app, apply the mapping and implement the application service......build, deploy...all good.
    The problem occurs when trying to create the physical destination (under nwa/destination template management). NW expects a pointer/url to the wsdl or wsil file, but Fedex doesn't provide that via http. Putting the wsdl on a different web server doesn't help either as the SOAP call will be routed to the same host where the wsdl resides (in this case NOT the fedex system).
    Is there any way to circumvent the WSDL retrieval with external web services in Netweaver ? One alternative solution could be to use the Netweaver Service registry and publish the fedex wsdl to that, but I would like to avoid that as we haven't configured the SR at the moment.
    Thx, Nick

    Looks like I don't need it necessarily.
    There seems to be a bug in NW/CE 7.1. When defining a destination which points to a WSDL file which in turn points to a different server for SOAP messages (ServicePort), the endpoint URL is incorrectly defined.
    WSDL URL: http://www.server1.com/test.wsdl
    SOAP URL/Port: http://server2.com/webservices
    the server tries to dispatch the SOAP call to http://server1.com/webservices which can't be found.
    In CE 7.1.1. though, that bug is fixed, and everything works fine without the need to publish the remote service (wsdl) to the SR and to subsequently query it.
    Nick

  • Not able to call External (RFC) Service in CAF

    Hi,
    When trying to import RFC(ABAP) in CAF for External Service using the wizard, after I give the SAP Logon Information nothing happens Wizard does not move to the next screen after I give the logon credentials and SAP System Data,
    I tried with Single Server and Load Balancing but nothing happens on clicking Next button, moreover when I try to login to SAP system from backend I am able to login on giving logon credntials.
    Pls suggest what could be the problem.
    Vishal

    Hi,
    Have u tried ny using IP address in the place of host name? If not the please try it.
    If you have alrady done then do the following
    First of all close the NWDS and take the backup of your important projects from workspace. Then delete the .metadata folder from workspace. Now open the NWDS and try to create a new CAF project and try to import again. I think it will work.
    If any issue please let me know.
    Thanks
    Chandan

  • Call external service in a Application service created from ES

    Hi Experts
    I have the follow situation:
    I've modeled a new service in Enterprise Service Builder. This service i'll implement in caf application. In the method create by application i'll call one method of external service.
    I imported this modeled service in Create Web Service Provider option in external package, select the Enterprise Service Repository source option and choice the respective Service Interface.
    In this moment the caf created a new application service, with methods of modeled service. That's all right.
    Now i import a external service of esworkplace. All the step are ok. But the problem is going to next step.
    I need to call this imported service in the method of application service. I know 3 way to do this:
    1. Mapping the external service with this application service. In this case i have a problem - the method of external service is expose as web service, and i don't want this. Just the method of modeled service must be expose.
    2. Create another application service, map the external service with this application service, and create a depency between this application service and the application service created by modeled service. I think this work fine and resolve the problem of expose the method of external service. However i think this isn't a good way to do.
    3. Instantiate the service class of exernal service. From this class i can call the method of external service in application service. But now i have another problem. If i see the implementation of this class, it have a static block which call a URL class, and pass as parameter a wsdl file located in one directory of my computer like
    url = new java.net.URL("file:/D:/SAP7110Workspace.jdi/LocalDevelopment/CRVP/demo.sap.com//ejbmodule/
    _comp/tmp/0/EJB/src/META-INF/xml/ext/rootwsdl_WorkCentreSimpleByPlantQueryResponse_InService.wsdl");
    when execute the application in the server it don't find this file and i give one error.
    I think the best way to do is the 3° way. But why did the caf generate the URL with My computer directory instead of in directory of application? There are some solution to this problem?
    I've change this line manualy, but all the time when i generate the project, i need change this code again.
    Regards
    Marcos

    Hi,
    You may consume external service via JNDI
    Context context = new InitialContext();
    <JNDI OBJECT> local = (<CAST JNDI OBJECT>)context.lookup("<JNDI OBJECT>");
    //Call the method
    If you are using CE 7.11, go to NWA -> Problem Management -> JNDI browser  > ..... -> ObjectName for <JNDI OBJECT>
    - julius

  • 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>

Maybe you are looking for