Custom Step for inserting SAML in OWSM

Hi All,
I am working on creating a custom step for SAML assertion in OWSM 10g.
I did the following things
1) Extented AbstractStep class, and Implemented its methods (init,destroy,execute...)
2) Compiled and created java archieve; placed in the custom folder of owsm
3) Created the step template xml with accordance to the class and imported it.
In the java class i used com.cfluent.policysteps.security.saml.InsertSAMLSVStep.
Can any one assist me in finding some documentation on the class?
Edited by: Justin Smith on Dec 1, 2010 4:08 AM

I shud have posted this question in SOA Suite forum, but still, any feed back is welcomed. :)

Similar Messages

  • Custom Step for SAML Tokens

    Hi All,
    I am working on creating a custom step for SAML assertion in OWSM 10g.
    I did the following things
    1) Extented AbstractStep class, and Implemented its methods (init,destroy,execute...)
    2) Compiled and created java archieve; placed in the custom folder of owsm
    3) Created the step template xml with accordance to the class and imported it.
    In the java class i used com.cfluent.policysteps.security.saml.InsertSAMLSVStep.
    Can any one assist me in finding some documentation on the class?

    I shud have posted this question in SOA Suite forum, but still, any feed back is welcomed. :)

  • Which custom. steps for "Accounts Receivable Pledging Indicator" (KNB1)?

    Hi All,
    Could anyone show me the customizing steps to set the "Accounts Receivable Pledging Indicator" (KNB1-CESSION_KZ)?
    Thanks
    Galdalf

    Hi ,
    Pledging indicator is basically used in the Accounts Receivable Factoring Process. Factoring is the process of the transfer of a receivable from the previous creditor (assignor) to a new creditor (assignee).
    The Menu Path for creating the Pledging indicator is as below:
    Financial Accounting > Accouts Receivable and Accounts Payable> Customer Account > Master Data > Preperation for creating master data > Define Accounts Receivable Pledging Indocator
    This indicates in the master record that a customer should be involved in the accounts receivable factoring procedure. The indicator is automatically transferred to the line item during posting but can also be entered manually.
    Also you can refer to the thread  A/R Functionality in SAP for more details of the process.
    Hope it helps
    SJ
    Edited by: Sumit Jain on Jul 7, 2009 1:32 PM

  • MSS Customizing Steps for MSS within SAP Portal

    Hi HCM-experts!
    I would like to integrate MSS functions within SAP Portal.
    Where can I find the suitable technical documentation describing the steps with tcode/reports, SPRO steps for:
    - Team Calender
    - Assigning the user to Organization and to Staff
    - Budget
    - Projects and Planning functions
    Any technical information will be very appreciated!
    Holger

    Please go to help.sap.com
    here is the link
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/2f/d7844205625551e10000000a1550b0/frameset.htm

  • Payment program Customizing steps(for the program RFFOUS_T )

    Hello all, we are planing to generate ACH file for the Remitanace advice, when we run the payment program( F111 - to pay payment orders)
    I dont know the required customizing that i need to do in FBZP, to get ACH file when we generate payments for a specific payment method(say ACH).
    Could please some help me with the step by step approach to get ACH file from payment program.
    Iam aware that i will generate from the program RFFOUS_T but i dont know the required customizing to get that.
    any help will be greatly appreciated.
    Thanks.

    Hi,
    Goto FBZP t.code and do required configuration for ACH payment method.
    1.All company codes
    2.Paying company codes
    3.Payment methods in Country.
    4.Payment method in Company code.
    5.Bank determination
    6.House Bank.
    once you done with configuration in FBZP.
    goto your vendor(testing) FK02 or XK02 .
    Assign ACH payment method and assign Bank account no and routing in vendor master.
    you create variant in F110 t.code for ACH payment method using RFFOUS_T  program.
    Thanks,
    Rau

  • OWSM: Where to put additional jars for a custom step

    I'm in the process of creating a custom step for OWSM. The step relies on some additional libraries that are not found on the server at the moment. Where do I put them so that my custom step will find them?
    I'd like to avoid packaging them into the steps jar file if possible.

    You can put anywhere and probably create shared library in your server.xml and import them in following shared libraries:
    oracle.wsm.policymanager
    oracle.wsm.gateway
    oracle.wsm.coreman
    oracle.wsm.ccore
    HTH,
    Chintan

  • OWSM custom step

    I am creating a OWSM custom step for validating 'XML Signature Verification'. The step provided by the tool has some limitations (if otherwise please correct me).
    Only one certificate can be configured and the certificates need to be provided in jks file store.
    My requirements are a bit different. I am using both username token as well as XML signatures. Using the username I will retrieve the certificate from the LDAP or database. But my question is how do I verify the XML signature. Can I extend the step already provided in OWSM?
    I have already written a custom step that retrieves the certificate from the database using the username.
    Thanks,
    Sashwat

    I've come across the following Beans which look like they provide the details I need:
    com.cfluent.webui.uibeans.opcockpit.ServiceLatencyBean;
    com.cfluent.webui.uibeans.opcockpit.MessageTrafficBean;
    Has anyone used these and tried to access data via these beans directly?

  • Special G/L Indicator: which customizing steps to set them?

    Hi All,
    could anyone show me the customizing steps for Special G/L Indicators?
    Thanks
    Gandalf

    Execute T Code FBKP and click on Special G/L.  In the following screen, click on Create (F6) button and configure Special G/L indicators for account type D (Customer) and/or K (Vendor) as required.  Specify the recon. account assigned to customer/vendor master data and the alternate recon. account to which the general ledger posting should go to.  Create master data of the alternate recon account.  In FB01, etc., use posting key 09/19 for customers and 29/39 for vendors so you could post with the special GL indicators created.

  • The custom step type

    How can I possibly do the custom step type with MS VB and after that to use this with ActiveX Automation Adapter?
    "Only a life lived in the service to others is worth living..." - Albert Einstein

    Hi,
    The process of generating custom steps is basically the same what every adapter you use. ( See user manual chapter 9)
    As an example I've taken the Computer Demo sequence found in the TestStand\Examples\ for VB and created a custom step for the Power On test.
    Attached is the an ini file called MyTest.ini. Places this in Teststand\cfg\TypePalettes folder.
    Then launch TestStand and you should find the new step in the palette.
    (This is for TestStand 2.0.1)
    Hope this get you started
    Regards
    Ray Farmer
    Regards
    Ray Farmer
    Attachments:
    MyTypes.ini ‏41 KB

  • Stimulus profile stops logging immediately (Custom Steps)

    Greeting again all! I'm using 2012 versions of everything here (VS, TS, LV, and DIAdem), and I'm also using VS Custom Steps for TS. I have a main TS sequence that does all of the configuration and setup tasks via subsequences and VS Custom steps. The only thing I'm using the Stimulus Profile for is logging at the moment, and for some reason the resulting TDMS file only holds six data points (logging at 100Hz). It looks like it starts and stops immediately, and I can't figure out why. 
    The only steps I have in the stimulus profile are Start Logging and Channel Group steps. There's no Stop Log step, so the logging shouldn't stop until the TS sequence undeplous the project, as far as I understand it. Triggered Logging Trigger Condition is set to none, and File Segmenting is set to Do Not Segment.
    Can anyone shed any light on what's happening here? 
    Solved!
    Go to Solution.

    The best option would be to control data logging directly from the TestStand sequence, but I'm not very familiar with what steps are available. Newer versions of the steps seem to have some DataLogging palette available (just based on screenshots posted online), but they might not support VeriStand 2012.
    You could do this by calling a LabVIEW VI from TestStand that would set up the data logging session, and then calling another at the end of the TestStand sequence to stop it. We have example VIs that ship with Veristand to show you how to start and stop logging.
    Jarrod S.
    National Instruments

  • Creating a step type "launcher" that would insert the appropriate built-in or custom step type at edit time

    Hi everybody,
    I'm looking for tips, pointers,directions... to be able to perform this operation in TS 4.0 sequence Editor, if it's even possible...
    I'm managing a test system with a "home-made" virtual instruments abstraction Layer complementary to IVI classes for instruments which do not have classes defined, customizing the sequence editor accordingly for developpers of my department.
    So basically when the instrument is IVI, the developper uses the built-in IVI step-type type and when it is not, he uses the the custom step types that I developped for this particular class of instruments.  
    However there are classes where I do have both IVI and specific drivers available and I do need to use both in the test sequence.
    For example let's say there are two sources of DC power available in the testbench, one being a programmable IVI compliant DC power supply, and the other one composed of fixed "blocks" of DC power supply managed by externals relays and you need to use them both in the test sequence.
    What I would like to be able to do in the sequence editor is inserting the appropriate step type at edit time just by selecting the source of power supply (by a ring or enum for eg), and if the first ressource is selected, it inserts IVI step type, and if the second ressource is chosen, it inserts the appropriate custom step type.
    Any Ideas on how to accomplish this ?
    Regards,
    Cyril
    Cyril Bouton
    Active LabVIEW Developper
    Solved!
    Go to Solution.

    Hello Cyril,
    Here is an idea that could be done:
    You could create a dynamic step by having a step that holds all the properties for both configurations (the superset of the necessary variables) and an extra one that indicates which 'mode' the step is in.  Then you create the main Edit substep in whichever language you desire.  That substep window will then have a box/dropdown/etc. at the top you can use to choose between modes A & B.  When the user changes the value, you would dynamically change the rest of the window to contain the appropriate properties for mode A or B.  You then copy the property values in that window to the Step properties, and copy the mode to your variable and you can run the step in that mode.  When the step then runs, it checks the mode variable, and depending on its value, it will run the step in mode A or B.
    Now we could add a dialog that allows us to choose when we put a step down but we should still allow the user to change later via the Edit substep we create.
    I don't think we can create something that inserts a completely different step, but we can have one step that has the ability to do both and we can pick which one we execute.  Also note we still don't have the ability to edit the Panels for a step, so we have to use a new window that we call from our Edit substep to complete the step.
    Hope this helps.
    Regards,
    Olivier L. | Certified LabVIEW Developer

  • OWSM Custom Step to modify SOAPBody

    We're trying to write a custom step that takes a username out of a WS-SECURITY header and forces it into an element in our SOAPBody.
    My code to pull the name from the header works fine, so does my code to iterate through the body to find the element I want to modify. But then what? setObjectValue doesn't seem to work. I also know that I've got to use setDirty, but when I run it on my soapbodyelement then most of the body disappears from the soap message.
    try {
    org.apache.axis.message.SOAPEnvelope env = soapMessage.getAxisMessage().getSOAPEnvelope();
    env.setDirty(true);
    SOAPBody soapBody = (SOAPBody)env.getBody();
    soapBody.setDirty(true);
    java.util.Iterator iterator = soapBody.getChildElements();
    while (iterator.hasNext()) {
    SOAPBodyElement bodyElement = (SOAPBodyElement)iterator.next();
    java.util.Iterator childIterator = bodyElement.getChildElements();
    while (childIterator != null && childIterator.hasNext()) {
    MessageElement childElement = (MessageElement)childIterator.next();
    if (childElement.getName() == "usernamein1") {
    log("Hey, I found the username 1 paramenter");
    log("old child element value" + childElement.getValue());
    childElement.setObjectValue("eureeka");
    ((org.apache.axis.message.MessageElement)childElement).setDirty(true);
    logSOAPMessage(soapMessage);
    I've seen the thread and blog post about adding a new header and I've done that. But I can't seem to affect the body, except to destroy it.
    So again, my goal is to take a WS-SECURITY username and force it in to a particular body element so that my web service (which is a pl/sql stored procedure) can know who it is talking to for auditing purposes. Help!

    I was never able to find out exactly why the problem occurs with setDirty(true) on an existing SOAPBodyElement in the message, but I did find a way to circumvent the problem.
    Basically what I did was to create a new SOAPBodyElement with the same Name, add that as a child to the SOAPBody, add the children of the old SOAPBodyElement to the new one, and detach the old SOAPBodyElement. Using setDirty(true) on the new element did not drop the content.
    SOAPEnvelope senv = msg.getAxisMessage().getSOAPEnvelope();
    SOAPBody sBody = (SOAPBody) senv.getBody();
    SOAPBodyElement serviceRequestOld = senv.getFirstBody();
    SOAPBodyElement serviceRequest = (SOAPBodyElement) sBody.addBodyElement(serviceRequestOld.getElementName());
    ArrayList<MessageElement> serviceRequestChildrenOld = serviceRequestOld.getChildren();
    for (MessageElement oldMessageElement : serviceRequestChildrenOld) {
    serviceRequest.addChild(oldMessageElement);
    serviceRequestOld.detachNode();
    // modify children as needed
    // setDirty(true) on changed elements and all the way up the hierarchy
    serviceRequest.setDirty(true);
    sBody.setDirty(true);
    senv.setDirty(true);
    This was helpful:
    http://www.oracle.com/technetwork/articles/jones-owsm-101767.html

  • OWSM Custom Step SOAPMessage Class Problem

    I have SOA Suite installed on several different machines. All have BPEL, ESB, and OWSM installed. I have a BPEL process that calls a web service hosted on a remote machine that uses a OWSM client agent to do "security stuff". I have a custom OWSM step that does the "security stuff". On one machine everything works as it should. On another machine, I am getting the following error in the execute() method of my custom step implementation:
    java.lang.UnsupportedOperationException: getSOAPBody must be overridden by all subclasses of SOAPMessage:
    at my.custom.step.CustomStep(CustomStep:83)
    at com.cfluent.pipelineengine.container.DefaultPipeline.execute(DefaultPipeline.java:124)
    at com.cfluent.pipelineengine.container.DefaultPipeline.execute(DefaultPipeline.java:97)
    at com.cfluent.pipelineengine.container.DefaultPolicy$DeferredPipeline.execute(DefaultPolicy:63)
    at com.cfluent.pipelineengine.container.DefaultPolicy$DeferredPipeline.access$300(DefaultPolicy:18)
    <snipped>
    Here's the snippet of code from the execute() method of the custom step:
    SOAPMessage soapMsg = messageContext.getRequestMessage();
    if ( soapMsg.getSOAPBody().hasFault()) // !!!!!!!!!!!!!!!!!!!!!!!! Here's where the error is occurring
    When I log out soapMsg.getClass().getName() I get "org.apache.axis.Message".
    Now, when I execute the same piece of code on another machine, it works fine and the class for SOAPMessage
    is oracle.j2ee.ws.saaj.soap.soap12.Message12.
    Any idea why the class difference? Is there some SOAPFactory configuration value somewhere?
    Thanks in advance.

    mrmora,
    After opening a Service Request and communicating with one of Oracle's reps, I was told that the HttpServletRequest (and I guess other client info) is never available for either the Server Agent or Client Agent.
    I created a Gateway, instead, and and I'm now getting the HttpServletRequest and the client's IP. Both of these codes now work:
    HttpServletRequest request = (HttpServletRequest)messageContext.getProperty("javax.servlet.request");
    String clientIP = httpSrvltRqst.getRemoteHost();
    =====
    String clientIP = ((MessageContext)messageContext).getRemoteAddr();
    Thanks.

  • OWSM: How to reference Custom Step properties/parameters?

    Hi,
    When you define a Custom Step via a XML file. You can define properties/parameters. In the sample files that comes with OWSM (CustomAuthenticationStep.xml) Username and Password are defined. My problem is that I cannot figure out how to reference these in the Java Step source. In the sample file CustomAuthenticationStep.java there are no references. There are two class variables called expectedUsername and expectedUserPassword, but they are never set in the source? There are nothing in the Extensibility Guide about this. Anybody know how it works?
    Regards Peter

    I've made a couple of these now. It somehow walks through the xml file you upload and then the properties defined are matched with the appropriate get/set methods in the actual java code.
    One example I had to make was to add HTTP Basic Auth headers to a request. Here is the section of the xml file.
    <csw:PropertyDefinitionSet name="HTTP Basic Auth Params">
    <csw:PropertyDefinition name="httpBasicAuthUsername" type="string" isRequired="true">
    <csw:DisplayName>Username</csw:DisplayName>
    <csw:Description>Http Basic Auth Username</csw:Description>
    <csw:DefaultValue>
    <csw:Absolute>USERNAME</csw:Absolute>
    </csw:DefaultValue>
    </csw:PropertyDefinition>
    <csw:PropertyDefinition name="httpBasicAuthPassword" type="string" isRequired="true" displayType="password">
    <csw:DisplayName>Http Basic Auth Password</csw:DisplayName>
    <csw:Description>Password to access Private Key</csw:Description>
    <csw:DefaultValue>
    <csw:Absolute>PASSWORD</csw:Absolute>
    </csw:DefaultValue>
    </csw:PropertyDefinition>
    </csw:PropertyDefinitionSet>
    You then have these get/set methods at the bottom of the class I created.
    public String gethttpBasicAuthUsername() {
    return this._httpBasicAuthUsername;
    public void sethttpBasicAuthUsername(String username) {
    this._httpBasicAuthUsername = username;
    public String gethttpBasicAuthPassword() {
    return this._httpBasicAuthPassword;
    public void sethttpBasicAuthPassword(String password) {
    this._httpBasicAuthPassword = password;
    Then I had this and the properties were available for use.
    public class BasicAuthStep extends AbstractStep {
    private String _httpBasicAuthUsername = null;
    private String _httpBasicAuthPassword = null;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • ** OWSM Custom Step: Accessing OWSM Monitor Metrics Programmatically ?? **

    Hi all,
    I have posted this in the SOA Forum with no response, so trying my luck here.
    I would like to programmatically access the OWSM monitor metrics, specifically the Service Statistics (Traffic Analysis and Latency Variance).
    Is there any way to programmatically query the current Stats for the service protected by OWSM policies?
    I would like create a custom policy step that interrogates the current OWSM Monitor status of the Service, and then actions it accordingly.
    I have looked in the Extensibility Guide, but documentation is not very clear.
    I have found classes in com.cfluent.coreman.sdk.* and com.cfluent.webui.uibeans.opcockpit.* which seem useful, but no documentation is available as these APIs do not appear to be published.
    Any help would be greatly appreciated.

    I've come across the following Beans which look like they provide the details I need:
    com.cfluent.webui.uibeans.opcockpit.ServiceLatencyBean;
    com.cfluent.webui.uibeans.opcockpit.MessageTrafficBean;
    Has anyone used these and tried to access data via these beans directly?

Maybe you are looking for

  • Javadoc, generics and inner classes

    I have implemented a generic class DiGraph with inner classes Vertex and Edge: public class DiGraph<V,E> implements Iterable<DiGraph<V,E>.Vertex> {    public Vertex addVertex(V value) {...}    public Iterator<DiGraph<V,E>.Vertex> iterator() {... }   

  • Using AGG/CALC DIM function in the BSO target cube of Transparent Partition

    Hi, Is it possible to use AGG("dimension") on a dimnesion in the BSO cube that is a target cube for a BSO-BSO Transparent Partition/ I have created the partition area with 3 dimensions, one being 'Source'. 90% of the source members are being refrence

  • How to get all program attributes (Variables, types, tables....)

    Hello, i want to analyse a programe source code, so i want to get all variable declaration. like in SE38->utilities->display list object, but in abap code. can you please help me.

  • Asyncronous call with WS-Addressing

    Hi experts, I want to use the WS-Addressing for async. calls. I know the WSA is supported by Oracle BPEL but I have got problem with it. So my scenario is: *1.* call the BPEL process from soapUI (no WSA info in the request) -> BPEL process - operatio

  • Administrator email address in Calendar server

    The calendar configuration script asks for "Administrator Email Address" which is by default root@<localhost>. Do you usually change that e-mail address to point to postmaster account: [email protected]? Thanks,