Consuming a web service within a repository service

Is it possible to consume a web service within a custom KM repository service ? If so, please provide an overview of how I might accomplish this within the NWDS.
Thanks!

Hi David,
Two answers:
(a) Yes, of course this is possible, there is no technical restriction. For your convenience, you can create a portal service from a WSDL file, see https://fortress.wa.gov/dop/portal/irj/portalapps/com.sap.portal.pdk.util.developmenttools/docs/newportalservicefromwsdl.html for details (not really up to date, but in case of questions, also check http://help.sap.com/saphelp_nw04/helpdata/en/df/a08340d990ce62e10000000a155106/frameset.htm and around). This way, you can access the portal service as a proxy to the webservice and have the WS-implementation seperated.
(b) Consider performance impacts!!! Depending on the event you are listening to, this can very easily lead to serious problems. At least, consider caching possibilities...
Hope it helps
Detlev

Similar Messages

  • Problem with the Repository service

    Hi friends,
    In my info admin console web page among the repository service and the integration service, i can see the health of the two services as up.
    But when i clicked my repository service individually it showed like
    The powercenter repository service is available
    But it also showed the below error along with the above line like
    the following error occurred while performing a repository action. Error - [pcsf_1007] cannot connect to repository[oracle_BI_DW_Base] because \n[[rep_57071] unable to connect to the repository database. Please check repository agent configuration. Failed to connect to repository service [Oracle_BI_DW_Base].]
    But my integration service is up and fine.
    Since due to the above error, i couldnt connect with any of my info clients(as repository seems to be down from the above error message)
    But my informatica service is up.
    Im not sure with this problem, but i remember that my DBA's has overwritten with some snapshots on the DB(that im using with BIAPPS) whether that could be the problem
    Since im aware that snapshots also a recent one and it does not have any chances of destroying(my BIAPPS metadata)
    Couldnt get with the problem clearly. Kindly help me with this.
    Thanks in advance.
    Regards,
    Saro

    Svee,
    Yes you are right, i started this informatica service a long before(but dint stopped it), now when i tried to restart the informatica services, it is starting suddenly and all of a sudden after 5 seconds, it is going down.
    Again i restarted it in services.msc and after that if i refresh(@ the top of services.msc) it means then the informatica service is going down again.
    This problem started again. what could be the fix for this svee.
    Regards,
    Saro

  • Consuming EJB Web Service in WD ABAP component

    Hi,
    I have a scenario where I have Portal KM access methods exposed as EJB Web Service. This web service is deployed on J2EE engine.
    And I have to consume this web service from my WD ABAP component controller.
    Any idea how this can be achieved?
    Thanks and regards,
    Amey

    This doesn't really have anything to do with Web Dynpro.  Normal ABAP functionality is used for the consumption of a web service.  In ABAP we create a proxy class based off the WSDL of the web service.  This proxy class can then be called from within Web Dynpro like any other ABAP class.  You can read about consuming a web service in the online help:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/9e/c7a3591dc74a679bbc9716354e42af/frameset.htm

  • Consume a Web Service: No receiver could be determined

    Hello,
    I have a successful running Web Service on a JAVA stack. Now I want to consume this web service within the ABAP Stack. For this purpose I generated the appropriate proxy object from the WSDL.
    However, while running my ABAP test program I am receiving an error: RCVR_DETERMINATION.NO_RECEIVER_CASE_BE No receiver could be determined
    Does anybody know, what to do? Do I need to register the generated proxy somewhere? Or what went wrong?
    Best Regards!

    you dont need to do any settings in LPCONFIG
    just create client proxy and <b>activate</b> the proxy class
    then in LPCONFIG
    enter the client proxy name and port name (port name can be any text) and check the checkbox "default" and click create and activate the same.
    now you are ready to consume the webservice.
    Regards
    Raja
    assigning points to helpful answers by choosing the appropriate radiobuttons in the answers in the SDN way of saying thanks.

  • Consuming Java Web Service with complex return types

    Hi,
    I'm consuming a Java Web Service and the return I get in
    ColdFusion is a typed Java Object (with custom Java classes like
    com.company.project.JavaClass ...)
    Within this object I don't get direct accessible properties
    as when I'm consuming ColdFusion Web Services, instead I get a
    getPROPERTYNAME and setPROPERTYNAME method for each property.
    How can I handle this? I don't want to call this methods for
    each property (and there are nested objects with arrays of custom
    classes below, which would really make this complicated).
    What's the best way to cope up with this?
    Thanks a lot,
    Fritz

    The web service is actually the function, not the cfc and you
    didn't show a function.
    My own opinion is that since webservices by definition should
    be available to any calling app (cold fusion, .net, flash, etc),
    whatever gets returned from the method should be as universally
    recognizable as possible. This generally means text, numbers,
    boolean, or xml.

  • Consume Restful Web Services

    Hi,
    I have experience consuming Soap Web Services using utl_dbws.
    Our client provides various rest web services that we need to access within the database.
    We wan't a pure pl/sql solution without any additional java components.
    Does anyone have any information on how to consume REST web services?
    Thanks

    Check out APEX_WEB_SERVICE.
    Ta,
    Trent

  • How to consume a web service provided by third party system from SAP system

    Hi Friends,
    Could any of you provide me a clear picture on how to consume a web service from SAP system and is provided by a third party system?
    Do we get an URL to create a client proxy for consuming the web service?
    Thanx in advance,
    Ram

    Hi Ram,
    of course you cannot supply the WSDL URL. Inside the WSDL (just view it in your browser) you find (usually but not necessary) towards the end something like
    <soap:address location="http://www.weather.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php"/>
    which is the actual adress of the service.
    An example service can be found here:
    <a href="http://www.weather.gov/xml/">National Digital Forecast Database</a>
    containing the WSDL URL at
    <a href="http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl">this address</a>.
    You might also want to browse for the amazon webservices which allow you to embed queries against amazon into your application.
    have fun,
    anton

  • No result while creating a service consumer with Web Service Wizzard

    Hi,
    I've tried to create a service consumer with Web Service Wizzard in SE80 by using URL/HTTP Destination but nothing happens. After the popup with logondata for the WSDL I get the CRM start screen and nothing has been created in the given package.
    technical details:
    I use a CRM 5.0 system with SP15 (SAPKB70015).
    I created the provider service at a 7.10 system with SP5 (SAPKB71005) via SPROXY, SOAMANAGER and WSPUBLISH and get the WSDL-URL from Service Registry.
    The Service Registry of the 7.10 system serves as central Service Registry.
    Has anybody an idea ?
    Christoph

    Guy,
    Thanks for your reply.
    This problem has been solved. Since I haven't turned on everything that to use transaction SOAMANAGER needs. After complete the switch-on works, the problem never happens again.
    Thanks again.

  • Error when consuming a web service in CF 11

    I am consuming a web service in ColdFusion what was written in .NET.  Some methods of the web service work fine, but some we get the below error.  We have identified the issue is the name of one of the properties in the web service appears to be the issue.  The property name is ID.  This is a very common property name so I would think someone has run across this before.  It appears that maybe ID is a default property for Axis?  I can dump the method that works and I see there is a getID() method with a return type of org.apache.axis.types.Id.
    If we change the name of the property to something other than ID it works, but this will cause us to refactor a lot of code.
    Here is the error I get when I try to call GetRoles method, which contains an ID property:
    Cannot perform web service invocation GetRoles. The fault returned when invoking the web service operation is:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: org.xml.sax.SAXException: For input string: "i1"
    java.lang.NumberFormatException: For input string: "i1"
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: For input string: "i1"
    java.lang.NumberFormatException: For input string: "i1"
    at org.apache.axis.encoding.ser.BeanDeserializer.onStartElement(BeanDeserializer.java:462)
    at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:393)
    at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
    at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java: 1048)
    at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
    at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
    at org.apache.axis.message... ''
    I am running CF 11 Update 4.

    I am not passing any parameters to the method (it has no parameters).  On the ColdFusion side I do not use i1 anywhere.  I will check with the .net developer on Monday to see if he is using it anywhere in his code.  If he is he is using in consistently as the only methods that work from his service are those that do not have an ID property.  All services with an ID property give me the same error message.

  • Error invoking a web service within another web service

    Hi all!
    I have to develop a web service which needs to invoke another web service, thus the first web service is acting as a client of the second one. To get this, the first web service uses the proxy provided by the home page of the second one. However, when the first service invokes the second service, the body within the soap message is modified in such a way that it is not valid for the second service, because some namespaces declarations are added, in spite of the fact that they already exist. Then, I find the following:
    Body of the SOAP request created by the first web service:
    <a:request attribute1="urn:attribute:one"
    xmlns:a="urn:namespace:one" xmlns:b="urn:namespace:two">
    <b:body>Hello</b:body>
    </a:request>
    Body of the SOAP request received by the second web service:
    <a:request xmlns:a="urn:namespace:one"
    attribute1="urn:attribute:one"
    xmlns:a="urn:namespace:one" xmlns:b="urn:namespace:two">
    <b:body xmlns:b="urn:namespace:two">Hello</b:body>
    </a:request>
    I have also tried to run a client using this proxy outside the web service, and everything is ok. So, from my point of view, the problem is when running the proxy inside a web service. I wonder if I have to do something special with this proxy in order to use it within a web service.
    Has anybody run into this situation?
    Could anybody be so kind as to tell me how to solve it or if, on the contrary, it is an oc4j bug, please?
    Thank you very much in advance.
    Inma.

    Hi,
    Thanx it is working now.
    BTW can you give me some urls with info of this kind of setting which i need to do for other kind of integarions in J2EE platform.Sorry if i am asking too much as i am a starter in this technology.

  • Need info on Accessing portal services within a Web Dynpro application

    Hi,
    I need information on Accessing portal services within a Web Dynpro application.I want to explore this topic.Can anyone give useful links?
    Thanks in advance.
    Rajani N

    Hi
    how to reference  a portal service with web dyn pro ?
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/ep/how%20to/how%20to%20access%20a%20portal%20service%20within%20a%20web%20dynpro%20java%20application.pdf
    http://help.sap.com/javadocs/NW04S/current/wd/com/sap/tc/webdynpro/clientserver/portal/WDPortalUtils.html
    Best Regards
    Jakub Krecicki

  • Consuming External Web Services in Web Dynpro Java

    Hi All,
    I an trying to consume external web service in Web dynpro java using Adaptive Web Service Model.
    But getting below mentioned error while executing the web service
    Exception on execution of web service with WSDL URL 'D:\Web Service Project\CurrencyConvertor.asmx.xml' with operation 'ConversionRate' in interface 'CurrencyConvertorSoap'
    Steps i followed are as below:
    1. Created  Adaptive Web Service Model for this i select WSDL source as "Local File System or URL"
    In next step i select No logical destination radio button and click on next
    In next step, browse the WSDL file and successfully import the WSDL file.
    2. After successfully importing the WSDL file i wrote below code in Init method:
    WebModel modelweb = new WebModel();               
    Request_ConversionRate reqConversion = new Request_ConversionRate(modelweb);
    ConversionRate conversion= new ConversionRate(modelweb);
    reqConversion.setConversionRate(conversion);
    wdContext.nodeRequest_ConversionRate().bind(reqConversion);
    3.After that execute the model - code is given below :
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
        try
          wdContext.currentRequest_ConversionRateElement().modelObject().execute();
          wdContext.nodeResponse().invalidate();
          wdContext.nodeConversionRateResponse().invalidate();
        catch(Exception e)
          manager.reportException(e.getMessage(), false);
    Please let me know how to resolve this.
    Thanks
    Sandy

    Hi,
    You need to use destinations for metadata and modeldata.
    Configure those destination in Visula admin.
    you can refer to following link.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b2bc0932-0d01-0010-6d8e-cff1b2f22bc7
    Regards,
    Shruti.

  • Consuming external Web Service in portal application:Error URL.getProtocol

    Hello!
    I implemented a portal application which consums a external Web Service with NWDS 7.2.
    The Webservice access works fine when I test it in a Java-Main Class.
    If I deploy the application in a portal then I get the error:
    java.lang.NullPointerException: while trying to invoke the method java.net.URL.getProtocol() of an object loaded from local variable 'tmpUrl'
    It seems that my service_client-class has the problem to call the wsdl if the application is in portal:
    static {
        java.net.URL url = null;
        try {
                   java.net.URL tmpUrl = SERVICEClient.class.getClassLoader().getResource
                  ("wsdl/com/sap/test/SERVICE.wsdl");
                  url = new java.net.URL(tmpUrl.getProtocol(), tmpUrl.getHost(), tmpUrl.getPort(), tmpUrl.getFile());
        } catch (java.net.MalformedURLException e) {
          e.printStackTrace();
    Can anybody help me?
    Thanks, Thomas

    Hello Thomas,
    I got the same error. In my case I used an Enterprise Application Project for the developement of my Portal Service. The portal service itself was calling an external webservice.
    The reason in my case lies behind the generation of the EAR-File with the NetWeaver Developer Studio). Inside the generated EAR-File the WSDL-File was always missing. In consequence "
    java.net.URL tmpUrl = SERVICEClient.class.getClassLoader().getResource
                  ("wsdl/com/sap/test/SERVICE.wsdl");" is always "NULL".
    and "tmpUrl.getProtocol()" leads to the NullPointerException.
    So I copied my wsdl-folder / package with the wsdl-file inside the {application}.ear / {application}.war / WEB-INF / private / lib / {application}.jar and everything works fine:-)
    Regards
    Steffen
    PS: Today I found a better way without copying the wsdl-file into the EAR-File. I just didn't use the Enterprise Application Project for the developement of portal services anymore. If you look inside the generated EAR-File, you can see, that you can develop the portal service also by using a simple Dynamic Web Project wrapped by an Enterprise Application Project:-)
    (Rem.: Don't miss the portalapp.xml deployment descriptor).
    If you deploy the Enterprise Project the WSDL-File is always inside the generated EAR-File :-)

  • Handling of SOAP Faults in SOAP Clients consuming PI Web services

    Hi there,
    the following is in regards to SOAP fault error handling in a SOAP client that consumes a Web Service published by PI.
    I have been reading a number of threads and blogs in regards to this topic and I am still left with some open questions which I hope to get some final answersclarifications through this thread.
    In particular the blogs
    Handling Web Service SOAP Fault Responses in SAP NetWeaver XI      - Handling Web Service SOAP Fault Responses in SAP NetWeaver XI
    XI: Propagation of meaningful error information to SOAP Client     - XI: Propagation of meaningful error information to SOAP Client
    have caused by attention.
    Both of these threads are realating to the Fault Message type one can use to return errors back to a SOAP Client (.Net, Java, etc.).
    In our scenario we published a number of Web Services through PI that provide functionality to integrate with an R3 back-end system using inbound ABAP Proxies.
    The services are standardised and will be consumed by a number of .NetJava applications and systems. The reason for the use of ABAP proxies is the customer specific application logic that is executed in the backend system. The Web services are synchronous and don't use ccBPM in the middle. Transformations are performed in PI combined with various lookups to set default values before the message is passed into the ABAP Framework of the R3 back-end system. The lookups are done against the R3 back-end system using the PI RFC Lookup feature.
    The inbound proxies currently return application errors as part of the response message back to the SOAP client. For more critical errors we introduced the use of Fault message types as the method to return the information back to the SOAP Client. This is all working satisfactory.
    The questions I have are as follows.
    1. When an error occurs at the IE level (e.g. mapping error), ABAP Proxy framework level (e.g. conversion from XML to ABAP format) or Adapter Framework level (Adapter releated error) a different SOAP fault message structure is returned to the SOAP Client than the one    used for the application errors. The SOAP fault message structure used in this case is the standard SOAP fault used by PI to return system errors back to the caller. For those SOAP fault messages there is no payload generated that could be mapped to the SOAP fault structure used for the application errors. This would be preferrable as there would be only one Fault message structure used for both inbound ABAP proxy generated fault messages and PI generated fault messages.
    Also the error messages generated by PI can be quite cryptic and difficult to interpret at the client end and could be filtered     ranslated during message mapping if the payload of the PI generated SOAP fault message could be accessed in a message mapping.
    Point 3 of the above thread 2759 indicates that this would be possible but doesn't outline how. Could somebody please clarify this for me as I don't believe that this is really possible ???.
    My idea instead was to use the PI SOAP fault message structure to also return application errors. Therefore I would create a Fault message type that matches the PI SOAP fault structure. This would enable the SOAP Client to handle only one SOAP Fault error structure. Would that be something to look into instead ?????.
    2. We have been looking at using the integrated WEB AS SOAP adapter instead of using the AF Sender SOAP adapter. While playing with this we encountered differences in the content returned through the SOAP fault generated by PI. A sample is below. Shouldn't the content of these SOAP faults be the same if the error that caused it is the same. Also the SOAP fault returned by the IE SOAP adapter is much more    useful in this particular case. Both errors below are the same, a conversion error from XML to ABAP took place in the inbound ABAP proxy framework of the back-end system.
    SOAP fault returned when using SOAP Sender adapter of AF
    <!see the documentation>
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIProxy:PARSE_APPLICATION_DATA:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)
         at com.sap.aii.af.ra.ms.impl.core.queue.consumer.CallConsumer.onMessage(CallConsumer.java:134)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:916)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         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:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    SOAP fault using integrated SOAP adapter of PI IE
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>System Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context/>
                   <code>ABAP.PARSE_APPLICATION_DATA</code>
                   <text>Error during XML => ABAP conversion (Request Message; error ID: CX_ST_DESERIALIZATION_ERROR; (/1SAI/TXSBE20FF604BAFEF8D990A XML Bytepos.: 564  XML Path: ns1:CreatePORequest(1)POHEADER(2)COMP_CODE(1) Error Text: Data loss occurred when converting ############################## Kernel ErrorId: CONVT_DATA_LOSS))</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    I have been reading threads for hours without being able to find one that answers questions 1 or provides a blog that outlines the approach one should take for error handling in SOAP clients that consume PI Web Services (and covers both PISystem generated faults and faults raised in Proxies).
    There may already be a blog or thread and I just missed it.
    Any comments are welcome.
    Thanks. Dieter

    Hi Dieter,
    As Bhavesh already mentioned fault messages are used for application errors. The same is described in SAP XI help:
    http://help.sap.com/saphelp_nw04/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
    In case of system error (e.g. field length too long in proxy call or error in XI/PI mapping) there seems to be no standard way of handling it and propagating the response to the consumer of webservice.
    Each system error is not recognized by SOAP adapter and SOAP adapter exception is raised.
    The only bizzare solution that I can see is developing an adapter module and transport wrong message to standard fault message before delivering it to adapter engine:
    http://help.sap.com/saphelp_nw04/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm
    Kind regards,
    Wojciech
    btw nice thread

  • Issue in consuming a web service

    Hi All,
    We are consuming a  Web service ( Microsoft Share point ) through our Web dynpro Application.
    Every time we consume the web service , there is a popup for authentication to connect to the Share point server. The problem  is that  the popup actually appears in the SAP GUI client and not  as a web based popup hence it does not appear in the Web dynpro Application.
    On analysis in SOA MANAGER , it was found that the Logical Port that we make use of to connect to the Web service has a configuration of entering the User Name and a password.
    The Question is, Is it Mandatory to supply login credentials to the server from which the web service is consumed ? or is there any other configuration/setting  where we can consume the web service without login credentials ?.
    Any pointers/OSS notes are very much Appreciated.
    Thanks !

    hi,
    check  out these links :
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/244e7923-0a01-0010-5887-fe0b0c6dbb8d
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/30f1b585-0a01-0010-3d96-ad0ea291c4f9
    I hope u shud b clear wid ur query

Maybe you are looking for

  • Movie freezes on my new iWeb site

    Just tried to publish my movie (1G) (new user) to my new iWeb site (new user)... It takes forever to load (is the file too big?) and then when finally loaded it freezes with ever other photo or so and will not play smoothly. It's been frustrating and

  • I upgraded iTunes, put it in the Cloud and now I have no music on my iTouch

    The upgrade erased it and it won't sync and my settings on my iTouch says I am in the cloud. What do I do on my PC to get my content to show up? I have watched tutorial and can't find the preferences tab they are talking about in the store. Also, how

  • Photoshop freezing when using brush tool

    I just got an IMAC 27 inch 5K (coming from a Macbook Pro).  Everything transferred fine but when I use PS CS6 for more than about 30 minutes, it keeps freezing when I'm using the brush tool.  I can't do ANYTHING in PS when it happens, have to force q

  • How to restrict the transaction OB52 ?

    Hi guys. I need to restrict the transaction OB52 for Company Code. By default the transaction OB52 has no authority object to restrict it to the company code. Try it by adding the SU24 transaction object F_BKPF_BUK (check / maintain). When I create t

  • Can a flag field be used in a procedure to determine prior block success

    I have a below stored procedure that has a IN and OUT parameter. The block has structure as below. In this procedure there are multiple inner blocks each with an individual exception handler. I need to modify this to pass a flag field as a additional