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

Similar Messages

  • Encapsulating web services in CAF core

    Hi,
    I am trying to call external services namely web services in caf core. I read the earlier posts and i guess I am missing out on something.
    1. what is the difference between encapsulating external service as entity service VS application service. For example, I am trying to call the PurchaseOrderVendorAddress_WSD webservice. It takes vendorID and purchaseorderID as input and returns vendor address. What should I use and why?
    2. I checked out CAF core tutorial. It talks about encapsulating RFC as application service. Is it same for web service? I mean can I assume the same approach is valid for web service
    Many thnx,
    Mayukh

    did you follow the tutorial "81 Using a Web Service as External Service (Service)"?
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/11669cea-0c01-0010-63b2-b98c35b1b370
    you can't be lost after that. otherwise you're in big trouble my friend...

  • XML Parser Error while creating Web service Client using JAX RPC

    hello evryone,
    Im facing XML Parser Error while creating web service client using JAX RPC. Im using Net Beans IDE for development purpose. I have wrote configuration file for client. Now i want to create Client stub. However i dont know how to do this in Net Beans. So i tried to do it from Command promt using command :
    wscompile -gen:client -d build -classpath build config-wsdl.xml
    here im getting Error:
    error parsing configuration file: XML parsing error: com.sun.xml.rpc.sp.ParseException:10: XML declaration may only begin entities
    Please help me out.
    Many thanks in advance,
    Kacee

    Can i use the client generated using jdeveloper 11g to import into the oracle forms 10g, i.e., form builder 10g. Currently this is the version we have in our office.

  • Create Lead with Oracle BPEL process using Siebel CRMOD web service

    I'm trying to create a lead in the siebel OD (hosted) with a oracle BPEL process and using the siebel web service (2.0). In my bpel process I've been able to
    1. Login to OD and get a session id
    2. create the partner link using Siebel OD (version 2.0) wsdl for Lead
    3. Assign the session id to the partner link
    4. Assign the inputs (lastname, firstname, leadowner, viewMode=Personal, lovLanguageMode=LDC) to lead
    5. Call the leadInsert operation on the partner link
    However, when I deploy and execute the bpel process it breaks after calling the leadInsert with the following error message:
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>Server</code>
    </part><part name="summary"><summary>The record with search specification '' in business component 'Lead' (integration component 'Lead') has been deleted by another user since it was retrieved.(SBL-EAI-04289)</summary>
    </part><part name="detail"><detail>&lt;detail>
    &lt;siebelf:siebdetail xmlns:siebelf="http://www.siebel.com/ws/fault" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    &lt;siebelf:logfilename xmlns:siebelf="http://www.siebel.com/ws/fault" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">OnDemandServicesObjMgr_enu_138636.log&lt;/siebelf:logfilename>
    &lt;siebelf:errorstack xmlns:siebelf="http://www.siebel.com/ws/fault" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    &lt;siebelf:error xmlns:siebelf="http://www.siebel.com/ws/fault" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    &lt;siebelf:errorcode xmlns:siebelf="http://www.siebel.com/ws/fault" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">(SBL-DAT-00494)&lt;/siebelf:errorcode>
    &lt;siebelf:errorsymbol xmlns:siebelf="http://www.siebel.com/ws/fault" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
    &lt;siebelf:errormsg xmlns:siebelf="http://www.siebel.com/ws/fault" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">The record with search specification '' in business component 'Lead' (integration component 'Lead') has been deleted by another user since it was retrieved.(SBL-EAI-04289)&lt;/siebelf:errormsg>
    &lt;/siebelf:error>
    &lt;/siebelf:errorstack>
    &lt;/siebelf:siebdetail>
    &lt;/detail>
    </detail>
    </part></remoteFault>
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Any feedback as to what I'm doing worng woull be greatly appreciated.
    Thanks,
    --manoj                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi,
    We are also using BPEL to send data out to SIEBEL CRMOD.
    I've created a proxy that deals with authentication and session management.
    All you have to do is to deploy the proxy as a war file and refrence it as the end-point of your partner link.
    Code is here:
    http://another-soa-blog.blogspot.com/2010/02/oracle-siebel-on-demand-session-and.html
    Regards,
    Fred.

  • Creating Web services using JDeveloper for Pl/SQL package having ref cursor

    Hi,
    I am trying to create web services for PL/SQL package in JDeveloper. When I am trying to create this web service, the functions in the package which is returning referential cursor or record cursor are not visible. When I highlight the function and click "Why Not?", it displays the message "The following types used by the program unit do not have an XML schema mapping and/or serializer Specified: REF CURSOR". Could you please let me know, how I can create this web service?
    I am getting similar error when I am trying to create web service for a package with overloaded functions also.
    Thanks,

    Ok so I played around with this some more. I created the same process in bpel using oracle bpel designer and here are the results.
    1. Against 10g database running a synch process data is retutned without error.
    2. Against 9i database running an asynch process data is retutned without error.
    3. Against 9i database running a synch process data is retutned with error.
    I'm definilty missing something.

  • Create Web service using nwds

    Dear all,
           steps for create web service in nwds 7.01
    Regards,
    Antony.A

    Please check this. http://scn.sap.com/community/java/blog/2013/10/16/create-simple-web-service-to-save-data-in-java-table-using-ejb-and-jpa

  • How can I o create, modify or delete users using OIM 11g web services?

    Hi,
    I have a requirement to create, modify or delete users using OIM 11g web services.
    The end users will be signing on to the online application, a user interface to request ids online. The user interface is the home grown application to request ids.
    I want to integrate this user interface with OIM 11g. I generated the java classes using the out of the box wsdl file as mentioned in the Developer’s Guide for Oracle Identity Manager 11g. But I need to know how to create users using web server client from a given wsdl file? Is there a sample web service client program to create a user in OIM?
    If you know of any document which I can follow or if you can give any details I really appreciate.
    Thanks and Regards,
    Viraf

    Hi Chong,
    Were you able to figure out the approach? I am facing the same issue like this. I have created a web service where the input values are no. of days to extend user's end date and user's employee ID. Output will be true or false. But I am getting error while searching user in OIM DB. I think my web service is not to query OIM DB
    Please let me know if you have worked on this senario.
    Thanks,
    Kalpana.

  • 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

  • Error in ejbCreate using a Test Web Service

    Hi,
    I'm new to the Bea and j2ee worlds and I'm following the steps of "Getting Started: Enterprise JavaBeans" in "Tutorials".
    I've done "Step 4: Test the EJBs" but during the test (with a Test Web Service) these exceptions raised:
    Exception in hello
    javax.transaction.TransactionRolledbackException: Error in ejbCreate:: javax.ejb.EJBException: nested exception is: javax.naming.NameNotFoundException: While trying to look up comp/env/ejb/MyVisitBean in /app/ejb/MyEJBProject.jar#Hello.; remaining name 'comp/env/ejb/MyVisitBean'
    javax.naming.NameNotFoundException: While trying to look up comp/env/ejb/MyVisitBean in /app/ejb/MyEJBProject.jar#Hello.; remaining name 'comp/env/ejb/MyVisitBean'
    javax.ejb.EJBException: nested exception is: javax.naming.NameNotFoundException: While trying to look up comp/env/ejb/MyVisitBean in /app/ejb/MyEJBProject.jar#Hello.; remaining name 'comp/env/ejb/MyVisitBean'
    ; nested exception is:
    javax.ejb.EJBException: nested exception is: javax.naming.NameNotFoundException: While trying to look up comp/env/ejb/MyVisitBean in /app/ejb/MyEJBProject.jar#Hello.; remaining name 'comp/env/ejb/MyVisitBean'
    Caused by: javax.ejb.EJBException: nested exception is: javax.naming.NameNotFoundException: While trying to look up comp/env/ejb/MyVisitBean in /app/ejb/MyEJBProject.jar#Hello.; remaining name 'comp/env/ejb/MyVisitBean'
    ... 46 more
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:897)
    at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:150)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:256)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:359)
    at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)
    at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:130)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at hello.HelloBean.ejbCreate(HelloBean.java:27)
    at hello.Hello_oztp1s_Impl.ejbCreate(Hello_oztp1s_Impl.java:135)
    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 weblogic.ejb20.pool.StatelessSessionPool.createBean(StatelessSessionPool.java:172)
    at weblogic.ejb20.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:110)
    at weblogic.ejb20.manager.StatelessManager.preInvoke(StatelessManager.java:140)
    at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:137)
    at weblogic.ejb20.internal.StatelessEJBObject.preInvoke(StatelessEJBObject.java:69)
    at hello.Hello_oztp1s_EOImpl.hello(Hello_oztp1s_EOImpl.java:29)
    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.bea.wlw.runtime.core.control.EJBControlImpl.invoke(EJBControlImpl.jcs:665)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:377)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    at helloControl.helloBeanCtrl.hello(helloBeanCtrl.ctrl)
    at helloControl.helloBeanCtrlTest.hello(helloBeanCtrlTest.jws:22)
    Everything has gone well until Step 3. I've done everything tutorial has said (ejb-local-ref, etc..) but it doesn't work.
    Probably it's a stupid error, but I don't know where I have to look for.
    Thank you and sorry, but I've never seen Bea Workshop!
    m

    Hi
    You can use a java web service to publish a Web service from a Java class.
    A wizard creates the WSDL document and deployment files needed to publish your code as a Web service. After you select the class and methods you want to publish, the wizard generates deployment descriptors, a JAX-RPC mapping file, and a WSDL document that can be deployed to an application server.
    You can refer : \bpel\samples\tutorials\102.InvokingProcesses\ws sample to invoke a WS using JAX-RPC Call.
    Hope that helps!
    Cheers
    A

  • Importing web Services in CAF application

    Hi friends,
    I am involved in desgining a CAF application which makes use of some web services,
    After importing and deploying the application when I run that webservice through service Browser by creating a record,
    it gives me an<b> error: "Invalid address"</b>
    I have tries with many webservices, same output error i m getting,
    Can you please tell me what is the problem,
    Please reply,
    The suggestions will be highly appreciated,
    Thanks,
    Deepak

    Hi Andre,
    Thanks for the reply,
    <b>but the scenerio is like this,</b>
    I have some web services which are talking to MDM,
    like create, update and delete master data in MDM,
    Now I want to create a CAF application using Guided procedures and want to put it on Portal,
    So that different actions can be done based on authorizations,
    <b>Now what I have done</b>
    I have created a CAF application in which for each webservice, I have created an entity service then an application service,
    so that I can create Callable Objects for those app services and then create a GP,
    <b>Now where I am stucked?</b>
    After creating entity service, when I create a record in entity service, so that corressponding webservice mapped can be run, I get this error
    <b>Error: Invalid Address</b>
    Now please tell me where i am wrong?
    Am I following the right approach?
    Please advice..
    waiting for the valuable opinion.
    Thanks,
    Deepak

  • Creating Web Services in EP6

    Hi,
    Anyone ever attempt to do the WeB service tutorial in EP6. Did it ever work for anyone?
    1. The Using Web Services in EP6 - Google Example ( does not work )
    2. Creating web Services in EP6 - TimeWeb Service example.
    Please help . .
    thanx,
    rj

    Hi Darell,
    I was working on the Using the web services tutuorial.
    Creating a client to access the Google webservice.
    In my page I have been using log statements, so I know it is creating the webservice just fine . .
    IRjOmxGoogleService googleService = (IRjOmxGoogleService) PortalRuntime.getRuntimeResources().getService("RajeshGoogleService.RjOmxGoogleService");
    Looks good there. np.
    Now when I say . .
    GoogleSearchResult result = googleService.doGoogleSearch("h0GM5TdQFHK/bycT6cFvAmMcJwkQSUdp", searchTerm, 0, 10, false,"", false,"","","" );
    it belly aches,
    Call failed
    javax.xml.soap.SOAPException: SOAP Response Message was not well formed (java.net.ConnectException: Connection refused).
         at com.sapportals.portal.prt.service.soap.SOAPService.call(SOAPService.java:165)
         at com.sapportals.portal.prt.service.soap.PRTSOAPCall.invokeMethod(PRTSOAPCall.java:217)
         at com.omx.raj.google.RjOmxGoogleService.doGoogleSearch(RjOmxGoogleService.java:195)
         at com.omx.raj.google.RjGooglePage$GoogleDynPage.onSearchButtonClicked(RjGooglePage.java:107)
         at java.lang.reflect.Method.invoke(Native Method)
         at com.sapportals.htmlb.page.DynPage.doProcessCurrentEvent(DynPage.java:172)
         at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:101)
         at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:135)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
         at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
         at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
         at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)
         at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)
         at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)
         at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
         at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
         at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
         at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
         at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
    Not sure how to proceed from here. .
    thanx for your help. . rajesh.

  • Creating Web Service in Eclipse with Axis and Tomcat

    Hi I'm quite new to web services. But I got a compiled class that i want to create a web service of. Since this class is compiled and lies in a package I can't just use the WTP and create a Buttom Up Web Service. So I created av wrapper class to this class to see if that would solve the problem, but i still get error messages that it's not JAX-RPC compliant. I've decompiled the class file I want to create a web service of and made a wrapper class with an interface around this class.
    package org.ejbca.core.protocol.ocsp;
    import org.bouncycastle.ocsp.*;
    public class OCSPResponse
    public OCSPResponse()
    resp = null;
    fnr = null;
    httpReturnCode = 200;
    errCode = 0;
    public OCSPResponse(OCSPResp ocspresp)
    resp = null;
    fnr = null;
    httpReturnCode = 200;
    errCode = 0;
    resp = ocspresp;
    public int getHttpReturnCode()
    return httpReturnCode;
    public void setHttpReturnCode(int code)
    httpReturnCode = code;
    public int getErrorCode()
    return errCode;
    public void setErrorCode(int code)
    errCode = code;
    public String getFnr()
    return fnr;
    public void setFnr(String fnr)
    this.fnr = fnr;
    public OCSPResp getResp()
    return resp;
    public void setResp(OCSPResp resp)
    this.resp = resp;
    public int getStatus()
    Something
    private OCSPResp resp;
    private String fnr;
    private int httpReturnCode;
    private int errCode;
    OCSPResp is an object from boncycastle, as i found out one of the problems is that OCSPResponse is a non Non-Built-In Data Type and don't just contain bulit-in datatypes.
    So can anybody give me a detaild input on how to solve this problem, including some hints on how to create a wrapper incase I've done something wrong.
    Tommy

    Try having a look at the following tutorial on how to create web services in PeopleSoft.
    Integration Broker basics for the PeopleSoft developer | Blogging About Oracle Applications

  • Using WebCenter Spaces Web Service API through JDeveloper's Data Control

    Hi,
    I'm trying to access WebCenter Spaces Web Service API (located at http://host:port/webcenter/SpacesWebService)
    using JDeveloper's Web Center Data Control.
    I created a data control in my portal project using JDeveloper's Web Service Data Control wizard.
    I also created and configured key stores (jps-config.xml) at both sides (spaces server and my portal client).
    How I created a data control:
    * First I entered the name and the URL (http://host:port/webcenter/SpacesWebService?WSDL)
    * Then I entered HTTP basic authentication details (user name and password)
    * After that I drag-and-drop the getGroupSpaces() method from the data control to a .jspx page as a ADF read-only table.
    * Then ran my portal project and navigated to this .jspx page and it worked. List of group spaces appeared well on that page.
    The problem is that I got only public group spaces and group spaces created by the user I entered on HTTP basic authentication details.
    I makes no sense to enter some static user details in a web service client (or a data control).
    So the question is; can I use identity propagation to get only group spaces created by the same user which I logged in my portal?
    Edited by: 832886 on Feb 18, 2011 3:09 AM

    Hi,
    You generally get NameError when you are executing the createCred/updateCred from a incorrect location. Are you using the wlst from oracle_common\common\bin?
    Also, In your steps I don't see what you did to populate the walllet at JDeveloper end after your updateCred failed. This is a required step. Use the wlst from the location emntioned above and you should be able to proceed.
    Thanks,
    Vishal

  • How to create web service for a Java class in SAP NetWeaver Studio

    hi all,
    i am using SAP Netweaver Developer Studio.have created a normal java project and i want to create web service for one of the classes in this project. i used the  Web Service Creation Wizard to create a web service for this class. but it says there's no methods available for VI. all my methods in this class are public, what should i do?

    Hi,
    I guess there are other ways. But this is an easy way, if you find the right wizards.
    Besides this it is good practise to define interface methods so that session bean implement these interface methods, and thus seperate the interface from the implementation.
    In this approach you will need 3 projects:
    An enterprise application project (will contain EJB Module)
    An EJB Module project (will contain session bean)
    A Java project (contains code that implements the session bean methods)
    In my previous post I suggested to use a J2EE web mudule project. This was a mistake, it should be EJB module.
    But it should be possible to do it in another way. It is up to you.
    Good luck, Roelof

  • How to create Web Service based on PI WSDL message

    Hi all,
    we have following scenario:
    Within PI (version 7.1) we set up a message type and inbound service interface. This service interface should send the PI message to a web service running on a SAP J2EE (version 7.01). As the PI message is sent as WSDL I thought it should be easy to build a web service on the SAP J2EE based on this WSDL from PI.
    Unfortunately, I have problems creating the Web Service.
    For my current project we integrated the NWDI to the SAP NetWeaver Developer Studio and I'm required to add the Web Service to an existing DC (Development Component) within the NWDI.
    What I tried so far is:
    - I created a Deployable Proxy Project and within this I created a Client Proxy Definition based on the WSDL from the PI. But I can't add this Proxy to the DCs of the NWDI and I don't know how to implement my own coding here in order execute specific functions.
    - I created a new class within the NWDI DC and a public method. Based on this I created a Virtual Interface and a Web Service Definition (WSD). Then I added this to a Web Service Deployment Descriptor. I uploaded this to the SAP J2EE. But I'm not able to access this and I don't know hoe to assign the WSDL here.
    I also tried here to create a client proxy based on this WSD as I thought I might assign the WSDL here. But I don't see the WSD in the list of Web Services uploaded to the SAP J2EE...
    Can you please advice me how to create a Web Service in such an environment?
    regards
    René Jurmann

    Hi Tahir,
    sorry that you needed to wait this long - but this is how I created the web service:
    The steps on how to create the web service in NetWeaver Developer studio are nearly the same as described in the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5838. [original link is broken] [original link is broken] [original link is broken]
    Some steps I just skipped and some others I added. Some of the steps I did the way I described it as I needed to connect the web service with the SAP PI.
    Prerequisites:
    Add Java Perspective and J2EE Development Perspective to the open perspectives.
    Within "Window - Preferences - Web Services" check "Soap extensions visible in the virtual interface editor"
    The SDM of the corresponding SAP J2EE is configured within "Window - Preferences"
    Create a Development Component (DC) with type "J2EE -> EJB Module"
    The business logic of the web service will be implemented in an Enterprise Java Bean (EJB). So first the EJB component must be created:
         Choose "File -> New -> Other"
         In opening PopUp choose "Development Component -> Development Component Project"
         Select the Software Component for which you want to add the DC (e.g. "Local Development -> MyComponents")
         Choose now vendor, name and type:
              vendor is an alpha-numeric string of 20 characters starting with a letter - all in lower case
              name is an alpha-numeric string starting with a letter - all in lower case
              vendor and name concatenated must not be longer then 40 characters
              the name can be separated into different part using "/" as separator
              each part of the name must not be longer than 8 characters
              the type is "J2EE - EJB Module"
              you can specify a Caption as general description for the web service
    Create new EJB
    To create the EJB itself:
         In J2EE DC Explorer of J2EE Development Perspective expand new DC and right-click on folder "ejbModule"
         Choose "New - EJB" with following details:
              EJB Name: <name as for PI service Interface to be created - starting in upper case>
              EJB Project: <pre selected>
              Bean Type: Stateless Session Bean
              Default EJB Package: <corresponds to namespace in PI>
              generate default interfaces: Checked
    Regarding the "Default EJB Package" this should be created according the namespace in PI for which all PI objects will be created. This only applies if you have some naming conventions here.
    Example:
    Namespace in PI is:  http://company.net/pi/SOFTWARE_COMP/Application
    The corresponding package then is: net.company.pi.software_comp.application
    Implement coding for web service
    As the web service will be called via PI some transfer variables will be submitted. Most likely, those variables will not be standard type (e.g. String) but a complex type. Those types must be generated as Java classes. Below an example of a complex type I needed:
    Data Type
    net.company.pi.software_comp.application.types.MessageProcessingInformation
    Structure:
         Element name          Element type
         sendingSystemID          String
         interfaceID               String
         businessProcessVariantCode     String
         testIndicator               Boolean
    For every element described a public "get", "set" and "has" method must be created in the corresponding Java class:
    package net.company.pi.software_comp.application.types;
    import java.io.Serializable;
    public class MessageProcessingInformation implements Serializable {
         protected String sendingSystemID;
         protected String interfaceID;
         protected String businessProcessVariantCode;
         protected Boolean testIndicator;
         public String getSendingSystemID() {
              return sendingSystemID;
         public void setSendingSystemID(String value) {
              this.sendingSystemID = value;
         public boolean hasSendingSystemID() {
              if(sendingSystemID != null && !sendingSystemID.equals("")){
                   return true;
              return false;
    All Java classes representing complex types and all classes referenced here (used for sub-types) must implement java.io.Serializable. Java standard types which do not implement this class must not be used as sub-types.
    As soon as all data types are declared the real business logic can be implemented:
         In J2EE DC Explorer of J2EE Development Perspective expand DC - "ejb-jar.xml" - <Name> and double click on "ejbCreate"
         In detail view select folder "Business Methods" and click "Add"
         choose name of business method - this should be the same as the PI message type used for the service interface - starting lower case
         return type should be "void"
         add needed parameters fully qualified - including package (as specified in PI and created previously in DC)
         you can mark certain parameters as array if necessary
    Remark:
    It might be that after saving you get an error. This might be as the package name of one component is copied to the corresponding Java class at the very beginning (before the package declaration within the Java class). Simply delete the string here.
    It also might be, that the new business method is only defined in the remote interface class but not in the bean class. Just create an according method in the bean class.
    Within the newly created business method within the bean class you can now implement the business logic.
    Create a DC with type "J2EE -> Enterprise Application"
    In order to create the "real" web service and deploy it to the J2EE an Enterprise Application project has to be created. So create a new DC as for the EJB Module but choose as type "J2EE -> Enterprise Application".
    After the DC is created right click on the EJB DC and choose "Add to EAR Project". Choose the new DC.
    Create web service for EJB
    As soon as you implemented the business logic you can create the "real" web service. Therefore:
         Right click on the EJB name below "ejb-jar.xml"
         Choose "New - Web Service"
         Choose proper "Web Service Name" and "Configuration Name" (probably oriented at the EJB name)
         Copy the URL of the web service - you'll need it later for PI configuration
         on the second next screen use the same name for "Virtual Interface" and "Web Service Definition" (the name should be the name of the "Endpoint")
         the "EAR Project" should be preselected
    Unfortunately, the web service can't be used in its current configuration to be accessed by PI. Therefore the Virtual Interface must be changed. To do so, expand folder "Virtual Interfaces" and double click the virtual interface created.
    Within the detail view expand in tabs "Mapping" and "Types" the complete folder structure. For any "SOAP Extension" where a namespace can be defined use as namespace the corresponding namespace in PI (e.g. http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/BillerDirect) but do not change any "Soap Extension" of a standard Java type. (if you don't have any naming convetions for namespaces in PI you can leave the SOAP Extension here. But then the namespace in PI should be set accordingly.)
    Probably it can be necessary on top level "Soap Extensions" in tab "Mapping" to leave "Use Namespaces for Parameters" unchecked. For some of my web services this parameter must be checked for others not - just try.
    If you can define a "New Name", "Local Name" or "Item Label" for a Soap Extension then use a name with starting upper case letter. (For Java Naming conventions most of the data type names will start with lower case letters.) Especially the method name must be renamed this way in order to stick to the PI namings.
    As a last point to change here check in tab "Mapping" all "Incoming Parameters" which you specified as array. Use for those as "New Name" a different name - do not just simply change from lower case to upper case. This is necessary as on PI we need to create two levels although here only one is specified.
    For any own sub-type declared as array the name within the coding should also differ from the corresponding Java Class name the type refers to.
    If all this is done you can deploy the web service to the J2EE:
         right click on "Enterprise Application" DC and choose "Development Component - Build..." and build all corresponding components
         right click on "Enterprise Application" DC and choose "Development Component - Deploy"
    Test the new web service via <J2EE URL>/wsnavigator/enterwsdl.html
    Create PI interface
    After the web service is created successfully the PI integration can be started.
    Therefore, within the Enterprise Services Builder create a data type according to the web service definition. All components defined on top-level for this data type should be declared as incoming parameter for the web service business method. Therefore it could be necessary to create some sub data types on PI first and add those to the "master" data type.
    Ensure that the names of the components correspond to the names defined in the web service (see virtual interface here). Those names must exactly be the same - including lower/upper case. Also take care for the ordering of the components.
    In case you need to include arrays following applies:
    The upper level is of occurrence "1:1". This has only one sub-entry with occurrence "1:n". The names for upper and sub-level must not equal.
    Based on the data type a message type is created. The name of the message type must be exactly the same as the name of the web service business method. (Hint: the name of the web service business method was most likely changed in the virtual interface. Then this name must correspond to the message type name.) Based on the message type an asynchronous inbound interface is to be created (which will be referred in the Integration Directory). The operation name for this interface (left panel) should be the same as the name for the web service business method.
    Create PI mappings and routings
    How to map (message mapping and operation mapping) from source to the web service message I wont explain here as this depends on the source message. The only important things here are:
         When creating the SOAP communication channel within the Integration Builder the "Target URL" is:
              <J2EE URL>/<Access URL as specified in web service creation>?wsdl&style=document
         The soap action is the name of the web service business method.
         Most likely the web service needs authentication to be executed.

Maybe you are looking for

  • Can't open documents (doc, pdf, ppt..) attached to e-mail

    After updated to iOS5, I can't open any documents (doc, ppt, and pdf) which are attached to e-mail.

  • How to subtract from a changing number?

    I wonder which function i use to subtract the amount from the E coloumn from the box F5. I want the amount 50 to subtract from 7756,5 and show up in the box F9. I want to find a function so when i plug in the next amount in coloumn E that it subtract

  • Smart form o/p problem

    Hi experts, I copied one smart form and did some modifications in that form and this form included in the same program.The form is syntacically correct and it is activated. When execute the program the o/p is not displaying.There are no errors in the

  • Reports in Background JOb

    Hi All,     I have a report executes in background.    Report when generated in background does not display ICONS in the report instead they display some characters for those icons. eg:- RED icon, Yellow Icon, Green ICons. i have not used ALV report

  • How to map A contruction business in business one

    Friends One of my prospect has enquired whether his construction business can be mapped in B1 .the firm is involved in construction of residential properties(Apartments and flats) how can we treat flats or properties which are under consruction?your