Custom SPML based webservice

Hi All,
Has any one worked on custom SPML base webservice? I have created custom web service which accept SOAP request and process, but there is a requirement that it should be SPML based.
Thanks
Closing this thread as solution acheived!
Edited by: AG on May 2, 2013 7:44 AM

Answered

Similar Messages

  • Securing REST based Webservices using OSB

    Can anyone please lead me to any pointers on securing the REST based webservices.
    Thanks,
    KC

    REST is more or less, a pure HTTP service so it is as secure as that. From my perspective transport security (basic authentication, SSL) is the basic security requirement for a REST based web-service. As far as message security is concerned, you may use custom HTTP headers to pass the tokens/digest but again it requires transmission over SSL to become an effective solution.
    If you really have tight requirement from message security perspective, then I would suggest going to SOAP rather than using REST.
    Regards,
    Anuj

  • Please tell me a BAPI to get Closing balance of customer account based on Sales Organization?

    Hi Experts,
    A requirement has come up where I want to get Customer closing balance based on its sales organization as this particular customer is extented to 2 different sales organizations. I want to get the closing balance of individual sales organization vise.
    Please tell me a BAPI to get Closing balance of customer account based on Sales Organization?

    AFAIK there is no such BAPI, cause there is no database table with balance for customer per sales organisation. (No KNCx table for VKORG)
    First ask functionals (*) how to recover sales organisation from a FI document (I suppose for SD invoice it is easy if no merging between organisation) will be a little tricker for pure FI document like payment transactions (hope thet are quickly cleared...)  Then start from non cleared records of BSID (also BSAD if you use a past date of reference, in case you have to add the records of BSAD with clearing date greater than reference date) and cross it with SD information to break FI into sales organisation.
    Regards,
    Raymond
    (*) Ask for where do they store VKORG in FI documents

  • Custom plugin based on user role membership

    Hi all,
    I would like to develope a custom plugin that generates account userid (on process form) with different syntax against role membership.
    With "syntax" I mean name.surname.random_number for employee users and surname.company.random_number for example.
    I'll try to explain the scenario more in details:
    1. I create a user identity through a request
    2. After user identity has created successfully, I assign a role to the user. Since roles are associated with access policies, role assignment triggers provisioning on target system.
    3. The custom plugin that I would like to develope shuold be able to generate proper userid against role membership. For example if I assigned the role "Project Manager" the custom plugin should generate the account userid with name.surname.random_number format; viceversa if I assigned the role "External Reseller" the custom plugin should generate the account userid with surname.company.random_number format.
    Looking for custom plugin based on role membership in forum, I found a couple of threads about this subject:
    - Email notifications after role grant
    - Re: OIM 11g Role Membership Event Handlers.
    I tried to implement what explained in the threads, but I would be sure about what I've done.
    Here what I've done:
    1. created plugin.xml file
    2. created EventHandler.xml metadata file
    3. developed a java calss for testing pourpose
    4. copied the custom plugin class to OIM server for example in $MIDDLEWARE_HOME/OIMPlugins/lib
    NOTE: during this operation I have exactly mantained the same directory structure of custom java package.
    For example custom plugin class is under my.custom.plugin java package and I have copied custom java class under $MIDDLEWARE_HOME/OIMPlugins/lib/my/custom/plugin folder
    5. created a zip file containing custom plugin class (always with its directory structure) and plugin.xml file
    6. copied the zip file to $OIM_HOME/server/plugins
    7. edited ant.properties file (under $OIM_HOME/server/plugin_utility) setting wls.home and oim.home variables
    8. built the wlfullclient.jar (only the first time)
    9. registered the custom plugin
    10. created the custom plugin dataset file
    11. imported it in OIM database using "weblogicImportMetadata" utility
    12. purged cache using "PurgeCache" utility
    NOTE: all the steps above was executed using the system user running OIM process
    test java class
    package com.zeropiu.sky.custom.eventhandlers;
    import java.io.Serializable;
    import java.util.HashMap;
    import com.thortech.util.logging.Logger;
    import oracle.iam.platform.kernel.spi.ConditionalEventHandler;
    import oracle.iam.platform.kernel.spi.PostProcessHandler;
    import oracle.iam.platform.kernel.vo.AbstractGenericOrchestration;
    import oracle.iam.platform.kernel.vo.BulkEventResult;
    import oracle.iam.platform.kernel.vo.BulkOrchestration;
    import oracle.iam.platform.kernel.vo.EventResult;
    import oracle.iam.platform.kernel.vo.Orchestration;
    import oracle.iam.platform.context.ContextManager;
    import java.util.Set;
    public class TestUserAnonimi implements PostProcessHandler, ConditionalEventHandler {
         private static final Logger logger = Logger.getLogger("com.zeropiu.sky.custom.eventhandlers");
    private static final String className = "TestUserAnonimi";
         @Override
         public void initialize(HashMap<String, String> arg0) {
              // TODO Auto-generated method stub
              String methodName = "initialize";
              System.out.println("###### " + className + " - " + methodName);
         @Override
         public boolean isApplicable(AbstractGenericOrchestration abstractGenericOrchestration) {
              // TODO Auto-generated method stub
              String methodName = "isApplicable";
    System.out.println("###### " + className + " - " + methodName + " - STARTED");
    System.out.println("###### " + className + " - " + methodName + " - ContextManager.getContextType(): " + ContextManager.getContextType());
    System.out.println("###### " + className + " - " + methodName + " - ContextManager.getContextSubType(): " + ContextManager.getContextSubType());
    System.out.println("###### " + className + " - " + methodName + " - abstractGenericOrchestration.getOperation(): " + abstractGenericOrchestration.getOperation());
    System.out.println("###### " + className + " - " + methodName + " - Printing ContextManager parameters");
    HashMap allContextManagerPairs = ContextManager.getAllValuesFromCurrentContext();
    Set<String> allContextManagerParams = allContextManagerPairs.keySet();
    String[] parameters = allContextManagerParams.toArray(new String[allContextManagerParams.size()]);
    for (int i = 0; i < parameters.length; i++) {
              System.out.println("###### " + className + " - " + methodName + " - Context parameter " + i + ": " + parameters[i] + " - Object type is: " + Utils.getObjectType(ContextManager.getValue(parameters)));
    System.out.println("###### " + className + " - " + methodName + " - ENDED");
    return true;
         @Override
         public boolean cancel(long arg0, long arg1,     AbstractGenericOrchestration arg2) {
              // TODO Auto-generated method stub
              String methodName = "cancel";
              System.out.println("###### " + className + " - " + methodName);
              return false;
         @Override
         public void compensate(long arg0, long arg1, AbstractGenericOrchestration arg2) {
              // TODO Auto-generated method stub
              String methodName = "compensate";
              System.out.println("###### " + className + " - " + methodName);
         @Override
         public EventResult execute(long arg0, long arg1, Orchestration orchestration) {
              // TODO Auto-generated method stub
              String methodName = "Eventresult execute";
              System.out.println("###### " + className + " - " + methodName);
              return null;
         @Override
         public BulkEventResult execute(long arg0, long arg1, BulkOrchestration arg2) {
              // TODO Auto-generated method stub
              String methodName = "BulkEventResult execute";
              System.out.println("###### " + className + " - " + methodName);
              return null;
    plugin.xml file
    <?xml version="1.0" encoding="UTF-8"?>
    <oimplugins xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
    <plugin pluginclass="com.zeropiu.sky.custom.eventhandlers.TestUserAnonimi" version="1.0" name="TestUserAnonimi">
    </plugin>
    </plugins>
    </oimplugins>
    EventHandler.xml metadata file
    <?xml version='1.0' encoding='UTF-8'?>
    <eventhandlers xmlns="http://www.oracle.com/schema/oim/platform/kernel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oracle.com/schema/oim/platform/kernel orchestration-handlers.xsd">
    <action-handler class="com.zeropiu.sky.custom.eventhandlers.TestUserAnonimi" entity-type="RoleUser" operation="CREATE" name="TestUserAnonimi" stage="preprocess" order="1007" sync="FALSE" />
    </eventhandlers>When I assign a role to a user through OIM web interface, I can see in OIM log file all System.out.println contained in initialize(), isApplicable() and BulkEventResult execute() methods. Is it correct? Can I implement my custom plugin logic now, or my starting point is wrong?
    ###### TestUserAnonimi - initialize
    ###### TestUserAnonimi - isApplicable - STARTED
    ###### TestUserAnonimi - isApplicable - ContextManager.getContextType(): ADMIN
    ###### TestUserAnonimi - isApplicable - ContextManager.getContextSubType():
    ###### TestUserAnonimi - isApplicable - abstractGenericOrchestration.getOperation(): CREATE
    ###### TestUserAnonimi - isApplicable - Printing ContextManager parameters
    ###### TestUserAnonimi - isApplicable - Context parameter 0: origuser - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 1: oimuser - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 2: RESOLVED_LOCALE - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 3: counter - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 4: TIME_ZONE - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 5: ipaddress - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - ENDED
    ##### TestUserAnonimi - BulkEventResult execute
    Thanks,
    Daniele
    Edited by: 886636 on Jan 24, 2012 2:53 AM
    Edited by: 886636 on Jan 24, 2012 2:53 AM

    Probably I don't explain myself clearly....sorry for that!
    Anyway you are right, the role of the user can change after the user is initially provisioned.
    I'll try to summarize to be sure to have understood your answer and to explain my scenario more in details:
    1. After user identity creation, I'll assign the role "Project Manager". Before role assignment the user has not any role. So using a pre-populate adapter I can retrieve the assigned role and compose the right userid.
    2. After step 1, I need to assign another role to the user, the new role should be "External Reseller" for example. In this case the user has a role already. What I would is: basing on the role that I'm assigning (External Reseller), the pre-populate should compose the right userid. Obviously this second userid will be different from the first one and this means a new account will be created for the user. At the moment I don't care to deprovisioning the first userid.
    Is it possible with pre-populate adapter?
    Sorry again for my not very clear explanations.
    Daniele
    Edited by: 886636 on Jan 24, 2012 4:10 AM

  • Customs Duties based on Country of Origin in the PO

    Hello,
    I would like to seek your help on pricing conditions in the PO.
    We have created an access sequence for customs duty condition type ZOB1, and we used the key combination delivering country, commodity code, and the country of origin. We cannot maintain the country of origin in the material master because it is only known upon PO creation. The condition type ZOB1 is supposed to read the country of origin in the PO. Instead, the country of origin in the material master is what's being populated in KOMP-HERKL, which is the field catalog we used as part of the access sequence/condition table.
    We would like the system to get the customs duties based on the country of origin entered in the PO and not the one in the material master.
    Is this possible? Has any of you tried to modify the values in the structure KOMP before PO prices are determined by the system based on the access sequence?
    Any inputs will be greatly appreciated.
    Thanks!

    Hi Lakshmipathi,
    So far we are encountering 2 incorrect deliveries in production. This does not involve Sales order but Purchase Order. I tried to check the country of the Supplying Plant and the country is not the country reflected in the delivery. It is expected that the country of the supplying plant must reflect in the delivery. Checking the PO, it is not also getting the correct country but it is getting the country of the receiving plant. We got confused why it is getting the country of the receiving plant.
    Thanks,
    Rish

  • REST BASED  WEBSERVICES

    Hi,
    We Have a Legacy System based  on  REST BASED  WEBSERVICES, that  legacy  system  can  understand  only  HTTP  format(it does n't  support  SOAP ) our scenario  is  HTTP TO  RFC  SYNCHRONOUS.
    And   we  have  to  connect PI   with  REST BASED  WEBSERVICES     ?
    1---->How  can  we connect  PI  with  REST BASED  WEBSERVICES ?
    2---->and  how  to test  those    REST BASED  WEBSERVICES ?any  tool  for  that?
    Thanks,
    Nagaraju.

    Hi Nagaraju,
    you can sent message from PI via [http receiver adapter|http://help.sap.com/saphelp_nw2004s/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/content.htm].
    For message from legacy to PI use a simple address, what is explained in [SAP help http sender adapter|http://help.sap.com/saphelp_nw2004s/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm]
    You can test http messages with Microsoft's tool [Wfetch|http://www.microsoft.com/download/en/details.aspx?id=21625] (in the net are hundreds of free ware http test tool available).
    Regards,
    Udo

  • SOURCING10: Passing parameters to a Query Based webservice using JAVA

    Hi Experts,
    I have been working on consuming a Query based webservice published in Souricng10 in a simple JAVA class. The query has a filter parameter which is not mandatory. I am able to consume the webservice using the GET method and display the content of the webservice. But when i try to POST a value to the filter parameter of the query i am getting the following error:
    java.io.IOException : Server returned HTTP response code: 415 for URL: http://sapcild9.web.bc:55000/sourcing/ngservices/rest/query/Z_TEST_WS_QUERY/execute/
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    Following is the code which i have used:
       URL url = new URL("http://sapcild9.web.bc:55000/sourcing/ngservices/rest/query/Z_TEST_WS_QUERY/execute/");
       HttpURLConnection connection = (HttpURLConnection)url.openConnection();
       connection.setRequestProperty("Authorization", "Basic " + authStringEnc);
       connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
       connection.setRequestProperty("Content-Length", "" +Integer.toString(urlParameters.getBytes().length));
       connection.setRequestProperty("Content-Language", "en-US");
       connection.setUseCaches (false);
       connection.setDoInput(true);
       connection.setDoOutput(true);
       connection.setAllowUserInteraction(true);
       connection.setInstanceFollowRedirects(false);
       connection.setRequestMethod("POST");
       connection.connect();
       //Send request
       OutputStream out = connection.getOutputStream();
       OutputStreamWriter wr= new OutputStreamWriter(out, "UTF-8");
       wr.write("EXTERNAL_ID");
       wr.write("=");
       wr.write(URLEncoder.encode("temp","UTF-8"));
       wr.close();
       out.close();
       is = connection.getInputStream();
       isr =new InputStreamReader(is);
       BufferedReader bufferReader = new BufferedReader(isr);
       String str; StringBuffer stringBuffer = new StringBuffer();
       while ((str = bufferReader.readLine()) != null) {
       stringBuffer.append(str);
       stringBuffer.append("\n");
       System.out.println(stringBuffer.toString());
       connection.disconnect();
       is.close();
    Please Advise how to proceed on this isssue?
    Thanks in advance.
    Srikanth Emani

    Hi Gael,
    your URL is made up of :
    [ProcedureName]?[parameter1]=[value1]&[parameter2]=[value2]
    creating URLs like this can have problems especially with spaces and punctuation.
    the answer is a FORM
    the following will create a hidden form :
    FORM ACTION="[ProcedureName]" METHOD="POST" name="F1"
    INPUT type="HIDDEN" name="[parameter1]" value="[value1]"
    INPUT type="HIDDEN" name="[parameter2]" value="[value2]"
    /FORM
    you can set the values in the form using:
    document.F1.[parameter1].value="abc123%%&&$$!";
    document.F1.submit();
    will submit the form and the PL/SQL procedure should receive the text as it was contained in the form.
    the only characters that can now cause problems are :
    " as it delimits the field.
    ' as it may cause problems in PL/SQL.
    \ as it is a special character.
    Regards Michael

  • Customer Master Creation Webservice hosting in PI environment

    I have requirement of  "Customer Master Creation Webservice hosting in PI environment" ,  could you tell me how do i go about this?
    answers are highly appreciated.
    thanks.

    Are you talking about MDM web service? If so please refer to..
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/soa-middleware/soa-management/process-integration/accessing%20master%20data%20management%20web%20services%20through%20process%20integration.pdf
    VJ

  • SOAP Based Webservices in Apex

    Can you please let me if we can create a SOAP Based Webservices in Apex.  Apex will be the provider of the webservice and my other 3rd party application will be consumer.

    Thanks for the reply.
    Now I am slightly understanding about web services. For example, If I place an order for an digital camera from a shopping site, can I route the order information from shopping site to APEX and from APEX can I process it further by integrating with paypal for online payments and get acknowledge from paypal that payment has been made and provide an acknowledgment to shopping site from APEX that order has been shipped to your shipping address. Is this possible? Please let me know regarding this..
    Thanks and Regards,
    Mahesh

  • List of customer report based on account group - T.Code

    Dear Guru's
               I need list of customer report based on account group in standard SAP if it there please update th T.Code as earl as possible.
    regards,
    bhanu

    Hello,
    I don't think there is a standard report for this. SE16 select table KNA1 and check for the entries with respect to account group.
    Prase

  • Consume a third party REST Based Webservice from PeopleSoft

    We are in tools 8.49.33
    Using 'Consume Web Service' component we can only consume a WSDL based webservice I guess. But we have a requirement to consume to a third party webservice, for which we just have to invoke a URL with query string via HTTP GET and receive an XML response. Has anyone done this before?

    Three things to check:
    #1: Check your errorLog.html file in the PSIGW web app of your PeopleSoft server
    #2: Does your app server have to go through a proxy to connect to the internet? If so, did you configure integrationGateway.properties to use a proxy server? You can test this by trying to use ConnectorRequestURL for a plain old HTTP web site. If you get the same error, then it is likely a proxy issue.
    #3: If #2 passed, then it might have to do with certificates and you will need to review PeopleBooks for importing certificates for integration broker. I haven't had to do this before, but am pointing it out in case.

  • How to inject EntityManager in non-EJB based WebService?

    Hi,
    I want to know how we can inject EntityManager in non-EJB based WebService?
    Regards,
    imran

    I think the way to go would be to actually do use an EJB for the persistence stuff and use that EJB in your webservice. Use the right tool for the job and all that.

  • RSBBS - create a variable customer exit based on initial selection

    Dear all,
    I am using RSBBS (RRI) to jump from one query specific cell to another query. The destination query gets the parameters from the selected cell. In order to achieve this, the only thing we have done was to insert the relevant characteristics as Free Characteristics on the destination query (no variables were required).
    Now, I need to add a new variable on my destination query. This variable should be a customer exist based on one of the paramenters that the destination query gets from the original query. How do I get this value to use it in the variable customer exit???
    Thanks in advance

    Thanks for your reply,
    I got it in a different but not tottally different way from wthat you suggested.
    I have created a variable () (ready for imput) for my characteristic. However, on transaction RSBBS, when defining the target query, I went to "Assigment Details" option and for my characteristic, I have changed the type form "generically" to "variable" and choosed the field name of the variable ().
    In this way the target report gets the original report definition for this characteristic as a variable that I can then use on my costumer exit.
    I have tryed and worked...brilliant!

  • WSDL Parser [Is anyone else testing WCF-based webservices?]

    I'm encountering the following message when attempting to force the use of the .NET parser when interrogating the WSDL of a new webservice:
    Parsing specified wsdl...
    Connecting to https://BLAH-BLAH/MobileTerminated.svc?wsdl
    Validating https://BLAH-BLAH/MobileTerminated.svc?wsdl
    .NET Parser could not parse https://BLAH-BLAH/MobileTerminated.svc?wsdl
    Warning:Selected .NET Parser is invalid.
    Must installed the .net sdk Framework.
    Failed to parse https://BLAH-BLAH/MobileTerminated.svc?wsdl
    Am I correct in interpreting this as "you need the .NET SDK installed in order to use the .NET Parser within OATS"?
    I already have .NET framework 3.5(SP1) but not the SDK.
    [UPDATE] It is probably significant that the webservice I need to test is WCF-based.
    Edited by: IHodgetts on May 21, 2010 5:45 PM
    Edited by: IHodgetts on Jun 21, 2010 12:07 PM

    I know I'm answering my own post here, but a lot of work has gone into this and someone else may as well benefit from my findings...
    It would appear that OATSv9.10 does NOT support WCF-based webservices. The problem is apparently down to OpenScript not supporting WS-Addressing (part of Windows Communication Foundation) and this isn't currently scheduled for inclusion in v9.20 (much to my disappointment).
    However, I have in the meantime found a workaround. Basically IGNORE what OpenScript populates the request with!
    1) Use the OpenScript parser (the .NET parser will not work) to parse the WSDL.
    2) Add the method(s) you require to the script.
    3) The script will at this stage have two problems but can be used as a starting point.
    Problem #1 - The content-type will need to be manually changed from "text/xml;charset=UTF-8" to "application/soap+xml; charset=utf-8". Edit this by right-clicking on the request and selecting "Headers" then "Content-Type".
    Problem #2 - The contents of the request will not include the WS-Addressing information. One workaround is to obtain a working packet to replace this e.g. from a test harness for your WCF-webservice. Edit this by right-clicking on the request and selecting "Post Data". Replace the WHOLE string with a valid packet from your test harness.
    Hopefully this will assist anyone else trying to get this working :-)

  • How to develop Asynchronous Document Based WebServices?

    Hi gurus,
    The scenario is, We are developing an architecture where Asynchronous Document Based WebServices are desired.
    As per my knowledge, This architecture includes some
    work at JMS side.
    Meaning,
    Client -
    > Calling [WebService] -
    > Deletgate --
    >JMQ (Java Message Queue)
    Would appreciate ur thoughts here...
    Regards,
    Arvind Kugasia [[email protected]]

    Hi Arvind,
    this "pattern" - sending JMS message and performing some long asynchronous tasks in MDB is a standard J2EE way.
    That should be supported by any j2ee server that at least covers J2EE 1.3 (where MDB-s are introduced). That includes the SAP Web AS as well and its JSM and EJB implementation as well.
    The message can be sent from a servlet, web service, etc.
    In fact the classic petstore application released from sun as a model for developing J2EE applications uses MDB-s for that purposes :
    http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/sample-app/sample-app1.3.1.html
    Once you buy the parrot from the petstore, you will see the response page while the MDB will perform asynchonously the sending of the mail, charging of the account, etc.
    It doesn't matter if the front end is a web service or a HTTP UI.
    In addition you can google for any J2EE tutorial and MDB explanation.
    However please note that I am speaking how your application will gather the parameters from the web service call, put them in a JMS message and send the message via several lines of java code.
    Perhaps some other frameworks (Apache-Axis, etc.) are doing this automatically for you or are generating the code that sends the message via some wizard.
    That up to my knowledge is not supported for SAP WebAS, but that is only a 10 lines of code inside the web service body, that can be easily created.
    HTH
    Peter

Maybe you are looking for

  • PDF Attachment while posting thru MIRO / FB60

    Dear Friends, I need your help on the following scenario. Requirement: we are going to build an interface for invioce postings in SAP using Tcode FB60(Invioce with out PO) and MIRO(with PO). Data has to be picked up by the interface from a staging se

  • Urxvt, xterm, vim, and gnu screen.

    To make this simple: all i want is 256 color support in one terminal, that will give 256 color support in vim, gnu screen, and not screw up shells i ssh into.    If I could get this working in xterm alone consider this solved. The more I try to fix m

  • Non supported character set error

    Hello, I have a j2ee application that uses OLAP API to make queries against cubes created with cwm2 packages, in a database (db 1). I've replicated the schema in another db (db 2), importing the user (with a dmp file) and throwing the object creation

  • My Touch only plays single files in a podcast

    I have a bunch of pod casts downloading but my iPod will not go onto the next cast in the directory no matter what I do. As far as I can tell the circle / twisted arrows do not do anything whether blue or not, with a 1 on or not, despite what the man

  • I am trying to update my apps, but it won't ever start installing

    It keeps saying "waiting" and even though I know the internet is working, they won't finish installing. I can't use most of my apps because of this. I waited a whole day and they have yet to finish being installed. How can I fix this?