Suffix Tree Library

Is there any library for creation of suffix tree and which also has a method to search a substring in the suffix trees ??

Now posted at [java-forums.org|http://www.java-forums.org/advanced-java/16734-suffix-tree-library.html].

Similar Messages

  • Good opensource library for suffix trees, longest common subsequence ..?

    What opensource / free (preferably GPL/LGPL licensed) libraries for suffix trees, longest common subsequence and longest common contiguous subsequence do exist for Java?
    Any practical experiences?

    What opensource / free (preferably GPL/LGPL licensed) libraries for suffix trees, longest common subsequence and longest common contiguous subsequence do exist for Java?
    Any practical experiences?

  • Suffix Tree and similar

    Hi,
    I'm stuck with the app i'm writing and i really need some good ideas.
    The basic problem is:
    I generate a list of string, everytime i produce a new string i need to check if it is already present in the list, if not i add it to the list.
    Each string is ordered and the list is ordered only respect to the first char.
    To cope with that i used Tree structure similar to a Suffix Tree where i insert the string into the tree and it easily checks if the string is already present or not.
    The tree works well but with strings of length 7 or more the heap goes out of bound.
    Maybe i need a better implementation of the suffix tree,
    do you know any?
    or some other idea that requires lower space?
    Thanks in advance!

    Use a Hashset and not a list. It's exactly for that purpose.
    You can later still fill that Set into a List and use a Comparator for custom sorting.

  • Suffix tree clustering algorithm?

    I am studying in my final year of computer science and i need to get hold of a suffix tree clustering algorithm that can be used in javascript. I have searched all over the net but have come up with nothing and was wondering if anybody could help!

    In the section, "Longest Repeated Substring", it says, "the longest repeated substring of txt[1..n] is indicated by the deepest fork node in the suffix tree, where depth is measured by the number of characters traversed from the root".
    However, it doesn't seem to be always true(hmm...probably I interpret it incorrectly).
    Consider the original string = abb$
    (with index 1234)
    the suffix tries looks like
    bb$
    root--------------
    |
    | abb$
    |----------
    the suffix tree looks like
    (2,4)
    root-------------
    |
    | (1,4)$
    |---------
    However, there isn't even a fork node.
    But obviously, b is the longest repeated string.
    Another example
    Consider the original string = abc$
    (with index 1234)
    the suffix tries looks like
    c$
    root--------------
    |
    | bc$
    |----------
    |
    |
    | abc$
    |----------
    the suffix tree looks like
    (3,4)
    root--------------
    |
    | (2,4)
    |----------
    |
    |
    | (1,4)
    |----------
    However, there isn't even a fork node either. But in this case, there is no repated string.
    Hope anyone can answer this. Thanks.

  • Suffix Tree Disk Based

    I am doing a senior project with the topic of Genomic Code Searching. I've already done the java code for building suffix tree and also can be used for searching from the created tree with memory based version. Now I have a problem with the disk base version since my advisor want me to do suffix tree disk base version to handle a large size of human genome. He suggested me to read papers such as http://www.eecs.umich.edu/~jignesh/publ/stc.pdf and try to implement one of them. Anyone have an experience in doing this kind of program. I can understand the algorithm in some paper but anyway I can't implement it. Please give me the code or give me some suggestion about this. The advisor need me to compare the performance of disk based version with my program in memory based version. It would be grateful if anyone can give me the code.
    Thank you so much

    Sorry about this but i'm not asking others to do my project. I've already done the programming in memory based version but for the disk based one my advisor told me that you can download the code from internet and try to use it to compare the performance with my program. Since all papers about disk base suffix tree are the Phd thesis, I sincerely say that I don't have enough ability to implement as the published paper. I just need some code and compare the performance of that program with my own program to see the difference between memory base and disk base.
    Or anyone can give me some suggestion? Sorry for making some misunderstanding. I just need some help to make the experimental part about performance of my program is completed. Thanks again

  • Songs in library will not play - (!) - worked yesterday - what happened?  How can I fix?

    "Original file cannot be found" error message when I click to play.   I have my music on an external HD.  It has been thus for the past 3 years.  Something happened and when I "Get Info" the songs now have file://localhost:/C:/users/........... and not F:\Music\Hendrix..................  I am not sure why the iTunes decided to rename all 15,000 of the songs in my library with this new location but if I delete iTunes and download it and install it....all of my playlists will be gone.  I know as I did this a year or so ago.  I went to the Apple site and they say to move the XML folder to the desktop and delete the Library...then import the play list.  I did this and it imported just 1,600 songs.  So I junked that and recovered the library with the above file location issues....I am back where I started.
    iTunes had no problem renaming all my songs in the playlist to the above file://localhost blah blah blah....there must be an equally easy way to select all the files and just tell iTunes they are on the F:\ drive.  Yes???
    Spent 5 hours trying to figure this out - not a techie - going slowly insane.

    turingtest2 wrote:
    The direction of the slashes in the two forms of address isn't important, that is how they are supposed to be.
    ****Thank you, I did not know that.
    Starting here:
    file://localhost/C:/Users/<name>/Destop/iTunes/iTunes Media/Music/iTunes Media/Music/<artist> <album> <songname>.m4p or .m4a
    I'll take it you mean:
    file://localhost/C:/Users/Susan/Desktop/iTunes/iTunes Media/Music/iTunes Media/Music/<Album Artist>/<Album>/## <Name>.<Ext>
    so the obvious anomaly (ignoring the suspected typos)
    ****oops!
    is that there are extra layers of folders and a different main path from the standard windows location which would be:
    C:\Users\Susan\Music\iTunes\iTunes Media\Music\<Album Artist>\<Album>\## <Name>.<Ext>
    ****I do have an iTunes folder in this location, from when I downloaded the new version post-crash, but there is no music in it. I named the Library iTunesBlank.
    Your files that play are in:
    C:\Users\Susan\Desktop\iTunes\iTunes Media\<Album Artist>\<Album>\## <Name>.<Ext>
    **** yes
    Do I take it that the actual location of ones that don't play are also in this form?
    ****no, they are the ones with the localhost prefix and the extra layers of folders
    Assuming I've understood the problem correctly then the next salient question is does the folder:
    C:\Users\Susan\Desktop\iTunes\iTunes Media\Music\iTunes Media exist?
    ****not quite: here's the path - C:\Users\Susan\Desktop\iTunes\iTunes Media\Music ... in that folder are more folders with artist names from CDs I've burned, voice memos, compliations -- these all play.
    There are also: iTunes Preferences, Library Genius, Library Extras, Album Artwork, Automatically Add to iTunes and Library -
    Genius and Extras have the .itdb suffix, but Library with today's date is .itl ... but strangely, when I search for *.itl in Windows, this library does not come up. The others - LibraryBlank (the one in the Music, not Desktop folder), the one I copied over from my backup media, and the one I named Corrupt on June 14, do.
    Would you also check that your library file, iTunes Library.itdb, is in the folder C:\Users\Susan\Desktop\iTunes ? You can check this is the active library by making sure that it has been modified today (assuming you've accessed iTunes).
    ****The only file on my system called iTunes Library.itdb is the  iTunes application!  Genius and Extras also have that suffix.
    Thank you so much for your continued assistance!!!
    DM2

  • Convert applet to swing

    Hi;
    Could anyone help me to convert my example code from applet to swing,please, thank
    import java.awt.*;
    import java.applet.*;
    import java.lang.Math;
    import java.awt.Font;
    import java.lang.Integer;
    /*** Main class == Applet  ***/
    public class Suffix extends Applet implements Runnable {
       private Thread main;
       public s_tree _tree=null;
       public node nd=null;
       public boolean userPause=false,resumed=false;
       private String str[]={"GOOGOL$","Paused","Resumed","Compacting","Done"};
       public Color bl=Color.blue,rd=Color.red;
       public Font fnt;
       public int mode=3,delay=3000;
       private char alph[]={'$','Q','W','E','R','T','Y','U','I','O',
                        'P','A','S','D','F','G','H','J','K','L',
                        'Z','X','C','V','B','N','M'};
    /*** initialisation function. It is the first Funct to be called ***/
       public void init() {
    // Temp data
          int temp=0,nxx=30;
    // Ini. of fnt , the font size + style used by this applet.
          fnt=new Font("Denis",1,25);
    /*** parsing command parameters ***/
    //      try {
    //DELAY VALUE PARAM
             String param=getParameter("DELAY");
             if (param!=null) {
                temp=Integer.parseInt(param);
                if ((temp>500)&&(temp<6000)) delay=temp;
    //x LEFTMOST coordinate
             param=getParameter("X");
             if (param!=null) {
                temp=Integer.parseInt(param);
                nxx=temp;
    //Base String parameter
             param=getParameter("STRING");
             if ((param!=null)&&(param.length()<15)) {
                str[0]=param;
    //      } catch (ParseException e) { showParseError(e); }
    // Allocating mem for _tree + initialize it .
          _tree=new s_tree(str[0],fnt);
    // Override xx (left_bound) by the caller's or the default value
          _tree.xx=nxx;
    /*** "animation loop is controled here" ***/
       public void run() {
         while(true) {
             try {
    //delay the process for time==delay
                Thread.sleep(delay);
             } catch (InterruptedException e) {}
    //controls animation loop
          repaint();
    /*** override APPLET's paint function ***/
       public void paint (Graphics g) {
    //Output graphics
          update(g);
    /*** Updates the graphics ***/
       public void update (Graphics g) {
    // Set font
          if (g.getFont()!=fnt) g.setFont(fnt);
          if ((userPause==false)&&(resumed==false)) // Is the applet paused ?
             g.clearRect(0,0,1024,768); //clears the screen
             if (_tree==null) {     // if tree is not initialised
                init();
                //_tree.show(g);
             } else {
                if (mode==3) {      // if graphics output mode is 3
                   if (nd!=null) nd._to_rd(false);
                   nd=_tree.step_compact(nd);  //compacts the tree one step further
                   if (nd==null)  // if tree is totally compacted ...
                      mode=4;   //change the ani. mode to 4 (don't call compact)
                   else
                      nd._to_rd(true);  //colors the next node to compact in red
    // Draw the "titleviewport's" comment
             g.setColor(bl);
             g.drawString(str[mode],10,15);
             _tree.show(g);     //show tree
          } else {
             g.clearRect(0,0,200,25);  //clears the "titleviewport to update it"
             g.setColor(rd);
             if (resumed==true){
                resumed=false;
                g.drawString(str[2],10,15);
             else g.drawString(str[1],10,15);
    /*** restart the animation process ***/
       public void start() {
          main=new Thread(this);
          main.start();
    /*** stops the animation ***/
       public void stop() {
          main.stop();
          main=null;
    /*** Handles the user's events (mouse , kbd , ... ***/
       public boolean handleEvent(Event evt) {
          if (evt.id==Event.MOUSE_DOWN) { //if mouse button have been pushed ...
                if (main!=null && main.isAlive()) {
                   if (userPause) {
                      main.start();
                      resumed=true;
                   } else {
                      main.stop();
                   userPause= !userPause;
                } else {
                   main= new Thread(this);
                   main.start();
                   userPause=false;
                   resumed=true;
                repaint();
             return true;
          } else {
             return super.handleEvent(evt);
    /*** Linked List of node(s) ***/
    class nodelist{
       nodelist next=null;
       node ptr=null;
       public void nodelist(){};
    /*** node of a structure tree ***/
    class node {
    // Relatives
       public nodelist children=null;
       public node parent=null;
    // variables
       public int maxchild=12,childnum=0,level=0;
       public int center[]={0,0};
       public int xlen=20,ylen=10,vspace=15,hspace=8;
       public int x[]={0,0};
       public boolean _ishidden=false;
       private Color bk=Color.black,wh=Color.white,rd=Color.red;
    // Node==red toggle variable
       public boolean to_rd=false;
    // node's text
       public String label=null;
    /*** initialisation of the node ***/
       public node(int nx,int ny,int nxl,int nyl,node nparent,int nlevel,String nstr){
          x[0]=nx; x[1]=ny;
          xlen=nxl; ylen=nyl;
          parent=nparent;
          level=nlevel;
          label=new String(nstr);
          children=new nodelist();
    /*** destroys the node ***/
       public void destruct() {
    // NOTE : not like C++ destructors . Do not confuse .
          delete_subtree();
          children=null;
          parent=null;
          bk=wh=rd=null;
          label=null;
    /*** Node to red toggle switch ***/
       public void _to_rd(boolean b) {to_rd=b;};
    /*** Adds a child to this node ***/
       public void add_child(int nx,int ny,int nxl,int nyl,node nparent,int nlevel,
                                String nstr) {
          if (childnum<maxchild) {    // if 'legal' space left ...
             if (children==null) {    // if no nodelist attached ...
                children=new nodelist(); //init. children
                children.ptr=new node(nx,ny,nxl,nyl,nparent,nlevel,nstr); //create node
                childnum++;
             } else {
                nodelist dummy=children;
    // search for the last nodelist
                while (dummy.next!=null) dummy=dummy.next;
                dummy.next=new nodelist(); //adds a nodelist
                dummy=dummy.next;
                dummy.ptr=new node(nx,ny,nxl,nyl,nparent,nlevel,nstr); //create child
                childnum++;
    // Tree needs to be realigned
    /*** adds a child and returns its address ***/
       public node add_child_ret(int nx,int ny,int nxl,int nyl,node nparent,int nlevel,
                                String nstr) {
          if (childnum<maxchild) {
             if (children==null) {
                children=new nodelist();
                children.ptr=new node(nx,ny,nxl,nyl,nparent,nlevel,nstr);
                childnum++;
                return(children.ptr);
             } else {
                nodelist dummy=children;
    // search for the last child
                while (dummy.next!=null) dummy=dummy.next;
                dummy.next=new nodelist();
                dummy=dummy.next;
                dummy.ptr=new node(nx,ny,nxl,nyl,nparent,nlevel,nstr);
                childnum++;
                return(dummy.ptr);
        return(null);
    // Tree needs to be realigned
    /*** adds the node nchild as a new children ***/
       public void add_child(node nchild) {
          nodelist dummy=null;
          dummy=children;
          if (childnum<maxchild) {
             if (children==null) {
                children=new nodelist();
                children.ptr=nchild;
                childnum++;
             } else {
                while (dummy.next!=null) dummy=dummy.next;
                dummy.next=new nodelist();
                dummy=dummy.next;
                dummy.ptr=nchild;
                childnum++;
    //Tree needs to restructured.
    /*** deletes all childrens ***/
       public void delete_subtree() {
          while (childnum>0 && children!=null) { //while child exists , kill it
             if (children.ptr!=null) {
                children.ptr.destruct();
                children.ptr=null;
                children=children.next;
             } else children=null;
             childnum--;
    /*** moves this node and its children horizontally ***/
       public void move_tree(int nx) {
          nodelist dummy=children;
          x[0]+=nx;
          while (childnum>0 && dummy!=null) {
             if (dummy.ptr!=null) {
                dummy.ptr.move_tree(nx);
                dummy=dummy.next;
    /*** removes the node from the tree (do not preserve order of ordered tree ) ***/
       public void remove_node() {
          nodelist dummy=children;
          while(dummy!=null) {
             if (dummy.ptr!=null){
                parent.add_child(dummy.ptr);
             dummy=dummy.next;
          children=null;
    //could call restructure tree here .
    //don't forget to change the node's levels !!!
    /*** show all nodes ***/
       public void show_all(Graphics g) {
          if (_ishidden==false) { //if not hidden
             if (children!=null) {  //if child exist
                nodelist dummy=children; //temp var.
                while(dummy!=null) { //while there is a child...
                   if (dummy.ptr!=null)
                      dummy.ptr.show_all(g);
                   dummy=dummy.next;
             show_node(g);
    /*** show nodes in preorder ***/
       public int preorder_show(Graphics g,int label){
          if (_ishidden==false) {
             show_node(g/*,label++*/);
             if (children!=null) {
                nodelist dummy=children;
                while(dummy!=null) {
                   if (dummy.ptr!=null) label=dummy.ptr.preorder_show(g,label);
                   dummy=dummy.next;
          return(label);
    /** show nodes in postorder ***/
       public int postorder_show(Graphics g,int label){
          if (_ishidden==false) {
             if (children!=null) {
                nodelist dummy=children;
                while(dummy!=null) {
                   if (dummy.ptr!=null) label=dummy.ptr.postorder_show(g,label);
                   dummy=dummy.next;
             show_node(g/*,label++*/);
          return(label);
    /*** show nodes in inorder ***/
       public int inorder_show(Graphics g,int label){
          if (_ishidden==false) {
             if (children!=null) {
                nodelist dummy=children;
                if (dummy.ptr!=null) label=dummy.ptr.inorder_show(g,label);
                dummy=dummy.next;
                show_node(g/*,label++*/);
                while(dummy!=null) {
                   if (dummy.ptr!=null) label=dummy.ptr.inorder_show(g,label);
                   dummy=dummy.next;
             } else show_node(g/*,label++*/);
          return(label);
    /*** Restructure the coordinates of all nodes ***/
       public int align(int min,Font fnt,int lev,Graphics g){
          int i=min; //left bound
          FontMetrics fntm=g.getFontMetrics(fnt); //used to know the text size
          level=lev;
    // node x and y radius are computed here
          xlen=4+(int)(fntm.stringWidth(label)/2);
          ylen=4+(int)(fntm.getHeight()/2);
          if (children!=null) {      //if child present ...
             nodelist dummy=children;
             while(dummy!=null) {
                if (dummy.ptr!=null) i=dummy.ptr.align(i,fnt,lev+1,g); //align them
                   dummy=dummy.next;
          x[0]=min+(int)((i-min)/2); //could be underflow so will be checked
          x[1]=lev*(vspace+(ylen*2))+26;
    // overflow should happen only when the parent node is larger than its children
          if ((x[0]-xlen)<min) { //check uf underflow occurs.
             move_tree(min+xlen-x[0]+1);
             i=x[0]+xlen+5;
          if (childnum==0) x[0]+=2;
        return(i);
    /*** returns the child following nd ***/
    /*** if nd==null -> return 1st child ***/
    /***  if nd==last children -> return null***/
       public node next_child(node nd) {
          nodelist dummy=null;
          if (children==null) return(null);
          if (nd==null) return(children.ptr);
          dummy=children;
          while (dummy.ptr!=nd) {
             if (dummy.next!=null)
                dummy=dummy.next;
             else
                return(null);
          dummy=dummy.next;
          if (dummy!=null) return(dummy.ptr);
             else return(null);
    /*** returns child with first letter==nh ***/
       public node get_childd(char ch) {
          nodelist dummy=null;
          dummy=children;
          while (dummy!=null) {
             if (dummy.ptr!=null) {
                if (dummy.ptr.label.charAt(0)==ch)
                   return(dummy.ptr);
             dummy=dummy.next;
        return(null);
    /*** returns the nodelist containing nd ***/
       public nodelist get_child(node nd) {
          nodelist dummy=children;
          while (dummy!=null) {
             if (dummy.ptr==nd) return(dummy);
             dummy=dummy.next;
        return(null);
    /*** outputs the node to Screen ***/
       public void show_node(Graphics g) {
          if (_ishidden==false) {
             if (level>0) {  //if it is not a root then draw link-line
                g.setColor(bk);
                g.drawLine(x[0],x[1]-ylen,parent.x[0],parent.x[1]+parent.ylen); //from this node to parent node
             if (to_rd==false)
                g.setColor(wh);
             else
                g.setColor(rd);
             g.fillOval(x[0]-xlen,x[1]-ylen,xlen*2,ylen*2); //draws an oval
             g.setColor(bk);
             g.drawString(label,x[0]-xlen+4,x[1]+ylen-12);  //output the text
    /*** class which uses nodes to create a SUFFIX TREE ***/
    class s_tree {
       node root=null;    // root node.
       String str=null;   // 'search' string
       Font fnt=null;     // font type
       int xx=30;         // left limit for graphics
    /*** initialize a SUFFIX TREE with string==nstr and Font==nfnt ***/
       public s_tree(String nstr,Font nfnt) {
          str=new String(nstr);
          fnt=nfnt;
          create();
    /*** uninitialize the structure **/
       public void destruct() {
          root.destruct();
          str=null;
          fnt=null;
    /*** show the tree ***/
       public void show(Graphics g) {
          root.align(xx,fnt,0,g);   // restructure node's coordinates
          root.show_all(g); //show tree
    /*** creates a tree structure from String=str ***/
       public void create() {
          node dummy=null;
          root=new node(0,0,0,0,dummy,0," "); //create root
          root.parent=null; //just to make sure ...
          for (int i=0;i<str.length();i++) {
    // Create subtree of root in the following way :
    //    create subtree ("ASDF$");
    //        "     "    ("aSDF$");
    //       "    "      ("asDF$"); ...
    // where : the UPPERCASE letters is the part of the string sent to insert_string
             insert_string(str.substring(i));
          //root.align(0,fnt,0); //align root now ?
    /*** creates a subtree of ROOT with String=nstr ***/
       public void insert_string(String nstr) {
          node dummy2=null,dummy=null;
          int i=0;
          dummy=root;
          dummy2=root;
    // As long as a children of dummy2 have the letter nstr[i] , dummy==thischildren
    // It is used to make sure that a node does not have two children with the
    // same letter
          while (dummy2!=null) {
             dummy2=dummy2.get_childd(nstr.charAt(i));
             if (dummy2!=null) {
                i++;
                dummy=dummy2;
    //create the nodes for the rest of the string
          for(;i<nstr.length();i++) {
             if (dummy!=null) dummy=dummy.add_child_ret(0,0,0,0,dummy,1,nstr.substring(i,i+1));
    // Compacts the tree node by node and returns the next node to compact
    // if node==null , compacts the first node ...
    //Works in POST-ORDER
       public node step_compact(node nd) {
          node dummy=nd,dummy2=null;
          nodelist ndlst=null;
    // GOES TO THE LOWER LEFT CHILDREN
          if (nd==null) { //first call !
             dummy=root;
             while(dummy.children!=null) {
                if (dummy.children.ptr==null)
                   dummy.children=dummy.children.next;
                else
                   dummy=dummy.children.ptr;
    //*** tries to find a 'compactable' node ***
    //*** It uses the POST-ORDER method      ***
    // if this node is not the last children then try to find next compactable node
    // in the next children.
          if (dummy.parent.childnum!=1) dummy=next_chain(dummy);
          if (dummy==null) return(null); //fully optimized
    //remove parent node.
    /*** THIS IS WHERE COMPACTING TAKES PLACE  **/
          dummy2=dummy.parent.parent;
          ndlst=dummy2.get_child(dummy.parent);
          if (ndlst==null) return(null); //we've got a beeeeg problem if this happens ...
    //*** merges the parent string with this one and delete parent .
          dummy.label=dummy.parent.label.concat(dummy.label);
          ndlst.ptr=dummy;
          //delete parent .
          dummy.parent=null;
          dummy.parent=dummy2;
    //      root.align(0,fnt,0);
        return(dummy);
    /*** finds the next chain in the tree (i.e. the next compactable node) ***/
       public node next_chain(node nd){
          node dummy=null;
          if (nd.parent==null) return(null); //finished ! This is the root
          if (nd.parent.childnum==1) return(nd); //can be optimized
    // finds the nd.parent's child following nd
          dummy=nd.parent.next_child(nd);
          if (dummy==null)  // if OLD_nd==last child
             return(next_chain(nd.parent));      //tries to find a chain upwards
          else {
                 // OLD_nd was not the last child . nd==OLD_nd's next brother
    // GOES TO THE LOWER LEFT most child of nd's subtree.
             while(dummy.children!=null) {
                if (dummy.children.ptr==null)
                   dummy.children=dummy.children.next;
                else
                   dummy=dummy.children.ptr;
             return(next_chain(dummy)); // returns the next compactable node
    };

    First, show me the rupees! Show me the rupees!

  • HOw to get  a common substring from two strings.

    Hello,
    I have a question like..how to print a common substring in to different strings.
    example: String str1="dynamic" String str2="programing" so the output for this application is "am".

    If the OP is looking for the 'longest common substring', have a look
    here for a nice explanation of Ukkonen's online suffix tree construction.
    A suffix tree is the ideal data structure for finding a LCS.
    kind regards,
    Jos

  • Processing of soap message

    some help is required on the SOAP processing
    <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
    <getPricedAvailability xmlns="http://www.openuri.org/" xmlns:tget="http://www.ba.com/schema/tGetPricedAvailabilityV1">
    <tget:GetPricedAvailabilityRequest>
    <Name>ian</Name>
    ....i need to add a tag name[in between the two tags] <asl>US </asl>
    <age>1234</age>
    </tget:GetPricedAvailabilityRequest>
    </getPricedAvailability>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope
    Can any one suggest or send me the piece of code which does this..
    i tried to add the tag by using the below code but in vain it didn't happen ...it is not adding in between the 2 tags.
    it is adding after <age>.... Can any one help me in this...Is there is any other way of parsing the SOAP message is possible
    SOAPMessageContext smc = (SOAPMessageContext)mc;
    SOAPMessage sm = smc.getMessage();
    SOAPEnvelope env = sm.getSOAPPart().getEnvelope();
    SOAPBody body = env.getBody();
    javax.xml.soap.Name sName;
    System.out.println(" Entering callEndTag #########################################");
    System.out.println("body"+body +" "+"env"+env);
    if ( body != null ){
    java.util.Iterator childElems = body.getChildElements();
    SOAPElement child;
    int i=0;
    // iterate through child elements
    while (childElems.hasNext())
    System.out.println("childElems" +childElems);
    Object elem = childElems.next();
    System.out.println("elem" +elem);
    if(elem instanceof SOAPElement )
    // get child element and its name
    child = (SOAPElement) elem;
    sName = child.getElementName();
    if (sName.getLocalName().equals("getPricedAvailability"))
    childElems = child.getChildElements();
    while (childElems.hasNext())
    // get next child element
    elem = childElems.next();
    if(elem instanceof SOAPElement )
    child = (SOAPElement) elem;
    sName = child.getElementName();
    if (sName.getLocalName().equals("GetPricedAvailabilityRequest"))
    {childElems = child.getChildElements();
                                                   sName = child.getElementName();
                                                   System.out.println("SNAME inSIDE IF  LOOP" +sName);
                                                   System.out.println("If Elem is a) instance ====After");
                                                   if (childElems.hasNext())
                                                      // get next child element
                                                       elem = childElems.next();
                                                       System.out.println("If Elem is a) instance  == before");
                                                      if(elem instanceof SOAPElement )
                                                          System.out.println("If Elem is a) instance ====After");
                                                          System.out.println("before type cast" );  
                                                          child = (SOAPElement) elem;
                                                          sName = child.getElementName();
                                                          System.out.println("Start adding process added end date" +sName);
                                                          SOAPElement fResponse12 =  child.addChildElement(env.createName("EndDate-- ==child ")); 
                                                          fResponse12.addAttribute(env.createName("xmlns"),   
                                                          fResponse12.addTextNode(strEndDate );
    ((SOAPMessageContext)mc).setMessage(sm);

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated
    Juan

  • Mail accounts are gone

    I'm really hoping someone can help with this issue so I don't have to go through months of mail again.
    I was running Mail.app and it started behaving strangely.  I was sending an email and it complained about the (SMTP Auth) password for the outgoing server.  I entered the correct password a few times but it still kept on asking.  I went into the smtp server settings and it showed the server as offline.  I opened those settings and entered the correct password there directly.  As I did this, I noticed that every account except iCloud seemed to be having these problems and as I messed with the settings, each one disappeared from the selection list when I had an outgoing email open.  At this point Mail was asking me for passwords for all of my accounts, except iCloud.  Interestingly enough, before all this started it should a connectivity problem for iCloud but never asked me for passwords.
    So I quit Mail and opened it up again and all of my accounts (about 5 or 6) except iCloud were gone.  No inboxes and accounts not showing in the preferences.  Prevoius mail is gone too, even from folders I'd moved mail into.
    ~/Library/Mail/V2 still shows all the mailboxes for the accounts.
    I've tried restoring these entire trees from various points in the last 24 hours of time machine backups:
    ~/Library/Mail
    ~/Library/Containers/com.apple.mail
    Makes no difference.  I even tried going back 4 days and got the same results.
    One strange thing I noticed is that in ~/Library/Mail/V2/MailData the Accounts.plist has a date of August 25, 2012.  Is that file simply not used anymore or did it get restored back to a really old version for some reason I am not aware of.  I have not done any TM restores in a while so I am pretty sure I didn't do this inadvertantly.  If I look back through TM for the last month, it always has that same data, so presumably it hasn't changed. 
    I opened the com.apple.mail.plist file in XCode and I can't see any account info in there, so it would seem to be stored somewhere else. 
    Any ideas?

    I tried one more time restoring these two file trees:
    ~/Library/Mail
    ~/Library/Containers/com.apple.mail
    The Accounts.plist which supposedly contains the list of accounts still has the same 2012 date.  When I did this it went through the splash screen that says it is importing mailboxes, but only imported iCloud related ones. 
    Interestingly enough, I had previously (after the problem occured) added back two of the missing accounts manually.  Those are still there.  But I restored the files from before when I added those back. 
    Clearly it is storing the list of accounts somewhere other than those two locations.  But where?

  • ClassCastException problem...

    Ok, here's my problem. The method in question, processFindBookTransaction, is supposed to search go into a binary search tree and find a "book" with a certain key. Here's the code for that method:
      private static Book processFindBookTransaction(Transaction aTransaction)
        Book aBook = (Book) library.findByKey(aTransaction.getISBN());
        if (aBook != null)
          System.out.println(aTransaction.getISBN() +
                             " found: " + aBook );
        else
          System.out.println(aTransaction.getISBN() +
                             " cannot be found");
        return aBook;
      }The problem is in the line reading:
    Book aBook = (Book) library.findByKey(aTransaction.getISBN());Here is the code for the method that is accessed in the binary search tree (library being the binary search tree object):
      public Object findByKey(Comparable aKey)
        Node currentNode = rootNode;
        Node parentNode = null;
        boolean found = false;
        while(!found && currentNode != null)
          if(aKey.compareTo(currentNode.getNodeKey()) < 0)
            parentNode = currentNode;
            currentNode = (Node)currentNode.getLeftChild();
          else
            if(aKey.compareTo(currentNode.getNodeKey()) > 0)
              parentNode = currentNode;
              currentNode = (Node) currentNode.getRightChild();
            else
              found = true;
              return currentNode;
        }It throws a ClassCastException, and I can't figure out why. For some reason, it's having a problem explicitly casting an object of type Object to one of type Book. This problem is beyond my comprehension, so I hope someone can help. I appreciate any input. Thank you.

    It's happening at runtime, unfortunately. From what I can follow, it start by taking a Transaction object, and just pulling a String from the attributes of it. Then, it takes the String and gives it to the findByKey method, which takes it in as a Comparable. The Comparable is then used in a series of comparisons, narrowing down the potential Nodes for a match. Then, at the end of the find method, it returns a Node, which is then attempted to be cast as a Book. Now, I don't know if it casts it as an Object before returning it, or if it's just giving back the Node to be cast as the Book. (I'm not that fluent in Java to understand the specifics)
    By the way, I accidentally cut off the last 2 lines from the find method. The first one read return parentNode; and the second line was just the closing bracket for the whole method.

  • JCAPS 5.1.3 Error re-deploying projects in Enterprise Manager

    Hi
    We are having an occasional problem when deploying and enabling JCAPS 5.1.3 projects from Enterprise Manager (see first error below). We've restarted the Logical Host with limited success. Also, we tried recreating the Deployment Profile, again with limited success. The intermittent nature of the problem suggests it's something that is being cached which is refreshed after a while. We haven't tried recreating the Connectivity Map and would like to avoid, if possible.
    Does anyone know what causes the problem? Is there a proper solution? Or a workaround?
    Thanks
    [#|2008-05-20T10:57:52.500+0100|SEVERE|IS5.1.3|javax.enterprise.system.container.ejb.mdb|_ThreadID=20; ThreadName=http28000-Processor3;|MDB00017: [queueFromOasisOPADT_svcTIEOPRouter]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: The MDB references an unknown resource adapter: dpCS_TESTprjOasisADT#queueFromOasisOPADT_svcTIEOPRouter; (the MDB is com.sun.ejb.containers.MessageBeanContainer:[Name=dpCS_TestprjOasisADT:queueFromOasisOPADT_svcTIEOPRouter]; id isdpCS_TESTprjOasisADT::queueFromOasisOPADT_svcTIEOPRouter; registry of known resource adapters: com.sun.enterprise.connectors.ConnectorRegistry:[Registered connectors: eventmanagement, rajboss, dpCS_TestprjOasisADT#queueFromOasisIPADT_svcTIEIPRouter, dpCS_TestprjOasisADT#svcOASISOP2TIE_queueFromOasisOPADT, rawave, rajndi, rawmq, dpCS_TestprjOasisADT#queueFromOasisOPADT_svcTIEOPRouter, dpCS_TestprjOasisADT#cmOASISIP2TIE_jcdHL7MLLPServer1_queueFro_u002D_109371547, logging, dpCS_TestprjOasisADT#cmOASISIP2TIE_jcdHL7MLLPServer1_esSqlTIE, __xa, rasunone, dpCS_TestprjOasisADT#eaHL7OasisIP2TIE_cmOASISIP2TIE_jcdHL7MLLPServer1, rastcms, dpCS_TestprjOasisADT#eaHL7OasisOP2TIE_svcOASISOP2TIE, raunifiedjms, dpCS_TestprjOasisADT#StartUpConnector, rawl, rastcms453]]|#]
    [#|2008-05-20T10:57:52.500+0100|SEVERE|IS5.1.3|javax.enterprise.system.container.ejb.mdb|_ThreadID=20; ThreadName=http28000-Processor3;|com.sun.enterprise.connectors.ConnectorRuntimeException
    com.sun.enterprise.connectors.ConnectorRuntimeException: The MDB references an unknown resource adapter: dpCS_TESTprjOasisADT#queueFromOasisOPADT_svcTIEOPRouter; (the MDB is com.sun.ejb.containers.MessageBeanContainer:[Name=dpCS_TestprjOasisADT:queueFromOasisOPADT_svcTIEOPRouter]; id isdpCS_TESTprjOasisADT::queueFromOasisOPADT_svcTIEOPRouter; registry of known resource adapters: com.sun.enterprise.connectors.ConnectorRegistry:[Registered connectors: eventmanagement, rajboss, dpCS_TestprjOasisADT#queueFromOasisIPADT_svcTIEIPRouter, dpCS_TestprjOasisADT#svcOASISOP2TIE_queueFromOasisOPADT, rawave, rajndi, rawmq, dpCS_TestprjOasisADT#queueFromOasisOPADT_svcTIEOPRouter, dpCS_TestprjOasisADT#cmOASISIP2TIE_jcdHL7MLLPServer1_queueFro_u002D_109371547, logging, dpCS_TestprjOasisADT#cmOASISIP2TIE_jcdHL7MLLPServer1_esSqlTIE, __xa, rasunone, dpCS_TestprjOasisADT#eaHL7OasisIP2TIE_cmOASISIP2TIE_jcdHL7MLLPServer1, rastcms, dpCS_TestprjOasisADT#eaHL7OasisOP2TIE_svcOASISOP2TIE, raunifiedjms, dpCS_TestprjOasisADT#StartUpConnector, rawl, rastcms453]
         at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.findActivationSpec(ConnectorMessageBeanClient.java:170)
         at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:121)
         at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:174)
         at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:203)
         at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:513)
         at com.sun.enterprise.server.ApplicationLoader.secondPhaseLoad(ApplicationLoader.java:233)
         at com.sun.enterprise.server.TomcatApplicationLoader.secondPhaseLoad(TomcatApplicationLoader.java:120)
         at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:202)
         at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:96)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:211)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:157)
         at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:494)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:448)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:432)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:299)
         at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:107)
         at com.sun.enterprise.admin.server.core.mbean.config.ManagedServerInstance.multicastEvent(ManagedServerInstance.java:3882)
         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:585)
         at com.sun.enterprise.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:181)
         at com.sun.enterprise.admin.server.core.mbean.config.AdminBase.invoke(AdminBase.java:86)
         at com.sun.enterprise.admin.server.core.mbean.config.ConfigMBeanBase.invoke(ConfigMBeanBase.java:680)
         at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
         at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
         at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:54)
         at $Proxy1.invoke(Unknown Source)
         at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:295)
         at com.sun.enterprise.deployment.phasing.DeploymentService.multicastEvent(DeploymentService.java:341)
         at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:284)
         at com.sun.enterprise.deployment.phasing.StartPhase.runPhase(StartPhase.java:119)
         at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:74)
         at com.sun.enterprise.deployment.phasing.DeploymentService.executePhases(DeploymentService.java:233)
         at com.sun.enterprise.deployment.phasing.DeploymentService.start(DeploymentService.java:183)
         at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.enable(ApplicationsConfigMBean.java:1603)
         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:585)
         at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:290)
         at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:283)
         at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
         at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
         at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:54)
         at $Proxy1.invoke(Unknown Source)
         at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:295)
         at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:38)
         at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:92)
         at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:69)
         at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:94)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:768)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:289)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:318)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:205)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:102)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:192)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:261)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:215)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:583)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:200)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:180)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:254)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at com.sun.enterprise.web.VirtualServerValve.invoke(VirtualServerValve.java:209)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:161)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at com.sun.enterprise.web.VirtualServerMappingValve.invoke(VirtualServerMappingValve.java:173)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:979)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:692)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:647)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:691)
         at java.lang.Thread.run(Thread.java:595)
    |#]

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated
    Juan

  • JCAPS 5.1.3 on an HP-UX 11iv3 System

    I can't seem to find any documentation indicating that JCAPS 5.1.3 will run on an HP-UX 11iv3 system. I see documentation up thru 11.23. Does anyone out there run this version of JCAPS on an 11iv3 system? If so, have you experienced any problems? Any suggestions on OS settings such as TCP_TIME_WAIT etc etal? Kernel tunables. I apologize for the 1000 questions but we are experiencing performance issues, and we've been changing something here and there trying to get this to work. A specific question would center around java on the HP-UX system ; we appear to be running a version of java out of the /../../logicalhost/jre/bin/IA64N directory. Is this what others are doing?
    Thanks for any help you might be able to provide, or point me to the appropriate documentation.
    Ed Budurka
    [email protected]

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated
    Juan

  • JCAPS 5.1.3 WS-Security problem

    Hi.
    I'm having trouble calling a web service that requires a User Name Token. We know this worked fine in 5.1.2, but have not gotten it working since upgrading to 5.1.3. When I enable "SOAP Message Securiy" and set the username + password in the Web Service External System the following error appears in the log:
    [#|2007-12-06T09:51:05.946+0100|WARNING|IS5.1.3|javax.enterprise.system.stream.err|_ThreadID=17; ThreadName=Worker: 4;|ERROR:  'NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.'|#]
    [#|2007-12-06T09:51:05.974+0100|SEVERE|IS5.1.3|javax.xml.messaging.saaj.soap|_ThreadID=17; ThreadName=Worker: 4;|SAAJ0511: Unable to create envelope from given source|#]
    [#|2007-12-06T09:51:06.022+0100|WARNING|IS5.1.3|com.stc.wsclient.runtime.ejb.impl.WSClientService|_ThreadID=17; ThreadName=Worker: 4;|Generating CMFault: <?xml version="1.0" encoding="UTF-8"?><Fault xmlns="http://seebeyond/com/xsddefined/FaultMessages"><faultcode xmlns="">CLIENT_ERROR</faultcode><faultstring xmlns="">java.rmi.RemoteException: response handler error: ; nested exception is:
    javax.xml.rpc.JAXRPCException: Error processing SOAP header inside the handleResponse of the message handler: Unable to create envelope from given source: </faultstring><faultactor xmlns="">wsclient</faultactor><detail xmlns="">java.rmi.RemoteException: response handler error: ; nested exception is:
    javax.xml.rpc.JAXRPCException: Error processing SOAP header inside the handleResponse of the message handler: Unable to create envelope from given source: and the associated fault container is not available</detail></Fault>|#]
    I find this very strange, since it worked fine in 5.1.2. Also the service we are calling has not changed its contract because calls using SoapUI with the same configuration as always works fine.
    Thanks in advance for any feedback,
    -Mario

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated
    Juan

  • JCAPS 5.12 - modifying SOAP header for webservice Invocation

    I am trying to call an external web service from JCAPS 5.1.2 and need to set a token in the SOAP header. I am able to do this in other client implementations, however, the methods to modify the header don't seem to be exposed within JCAPS 5.1.2 or I do not know how to find the methods.
    Has anyone tried this before?

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated
    Juan

Maybe you are looking for

  • Authorisations: BP balance

    Hi everyone. I need to give one of my sales colleagues the authorisation to drill down on a business partner against Account Balance, but i can't find this in the authorisations list. She already has full authorisation against SALES A/R, BUSINESS PAR

  • Latest update=no internet in windows vista

    After installing the latest software update for my macbook pro, I can't get internet access when I am in bootcamp. It shows I am connected to my wireless network, but no internet access. I can get connected to the network and the internet on my imac

  • How do i change my password to get into my laptop

    HOW DO I CHANGE MY PASWORD TO GET INTO MY MACBOOK PRO?????????? Please help....Thank you

  • MBP won't connect to network.

    I have a '09 MBP, Cox Internet, and a Belkin Router. My MBP will connect to the router through WiFi and through LAN but for some reason won't actually get internet. The router works through the home computer and laptop (both Windows). I've read that

  • Is there a way to download my photo stream onto my pc

    is there a way to download my photo stream onto my pc