Parsing query string

I am using ALSB 3.0
If I parse the query string using the following:
$inbound/ctx:transport/ctx:request/http:query-string/text()
when the passed data is the following:
https://webservicesdev.someplace.com/testing/order/163625/results?p1=Normal&p2=Complete
I get the following string:
p1=Normal
Why does my query string not contain all of the parameters? How do I get access to the p2=Complete part of the query string?
Thanks,
Dave

Thank you both for your response. The problem was more related to how I was attempting to test the service. I was using a curl script on a Unix box and my query string was being truncated at the & character. Once I tried testing directly with a browser, then I was seeing the full query string.
Once I had the full query string I was able to use the following to parse the query string:
let $parsed_query_string := tokenize( $a_query_string, "&" )
["&" above is really "& amp ;" without the spaces]
Where $a_query_string had previously been assigned to string( $inbound/ctx:transport/ctx:request/http:query-string/text() )
Thanks again,
Dave
Edited by: dschmidt on Jan 25, 2011 1:53 PM

Similar Messages

  • Parsing Query string using Client Object model [ECMA]

    hello
    i want to access querystring using client object model using ECMA script.
    for eg http://localhost:80/demopage.aspx?test=123
    can we read value of test using ECMA script
    regards
    Manish

    thanks ...
    i did that...using
    <script type="text/javascript">
    function queryString(parameter) {
    var loc = location.search.substring(1, location.search.length);
    var param_value = false;
    var params = loc.split("&");
    for (i=0; i<params.length;i++) {
    param_name = params[i].substring(0,params[i].indexOf('='));
    if (param_name == parameter) {
    param_value = params[i].substring(params[i].indexOf('=')+1)
    if (param_value) {
    return param_value;
    else {
    return false; //Here determine return if no parameter is found

  • Ampersands in query strings

    Hi,
    I was wondering if anyone has attempted to parse query strings that contain ampersands (&) or equals (=) in the parameter values.
    At the moment we have some working code to do this but it is kind of messy and complicated. If possible we would like to make use of Java classes to do this for us. I was thinking along the lines of using some or all of:
    Hashtable javax.servlet.http.HttpUtils.parseQueryString( String s)
    String java.net.URLDecoder.decode( String s)
    String java.net.URLEncoder.encode( String s)Has anyone managed to implement a parser using these classes? Basically the problem is determining where to split the name/value pairs when the delimiters may be included in the values.
    Just to give you an idea, try parsing the following URL
    http://someserver/servlet?parm1=val&ue&parm2=val=ue
    Craig

    Here's the thing:
    If submitting by form then req.getParameter(name) works fine for both types of parameter values.
    If submitting by link then req.getParameter(name)
    - Works for parameters with '=' in them
    - Doesn't work for values with '&' in them.
    I actually need to be able to parse a query string (the parameter list part of a link). However, it isn't specific to submission processing.
    I want to be able to parse the string generically regardless of whether it comes from the web or whether I call it from within the code.
    In short, I want to be able to take a string like Param1=Val&ue&Param2=Val=ue and split it into name/value pairs from anywhere in the code.

  • Pre-parsing user-entered query strings

    I'm looking for a robust PL/SQL (or other) script for pre-parsing user-entered query strings, so I can make intermedia work like familiar search engines. (Think Yahoo/Alta Vista.) It has to deal gracefully and intuitively with embedded special characters, boolean constructs, quoted literals, etc.
    Has Oracle released anything like this?

    There's example code in "The Button" download from http://technet.oracle.com/products/intermedia in the file "avquery.java".
    Putting the query directly into ABOUT() also works if you don't need to clean up end-user input.
    null

  • Parse for multiple occurences of something in query string used

    HI
    A varchar is passed as an input to a stored proc. This could have zero, one or more occurances of a word (e.g. from_no). This will be in form of a name value pair and could occur multiple times. Exampe
    query_string = ' abc=123 and from_no > 1 and from_no < 10 and def = 1'
    Now I need to parse this string to get the operator and values for the 2 occurences of from_no. How can I do that? How can I go about writing a smple func or sp to parse and return both from_no's?

    Perhaps this sample code can help:
    with yourtable as
    (select ' abc=123 and from_no > 1 and from_no < 10 and def = 1' query_string from dual union all
    select ' abc=123 and from_no = 2 and from_no != 30 and def = 1 and from_no=40' query_string from dual)
    select  query_string,
            x.n no,
            regexp_substr(query_string,'from_no *[<>!=]* *[0-9]*',1,x.n) exp,       
            regexp_replace(regexp_substr(query_string,'from_no *[<!>=]* *[0-9]*',1,x.n),'.*from_no *([<!>=]*) *([0-9]*).*','\1') op,
            regexp_replace(regexp_substr(query_string,'from_no *[<!>=]* *[0-9]*',1,x.n),'.*from_no *([<!>=]*) *([0-9]*).*','\2') val
    from yourtable,
         (select rownum n from dual connect by rownum<=100) x
    where regexp_instr(query_string,'from_no',1,x.n)>0   --  end searching in query string when there are no more expressions
    order by query_string, x.nI added one more example.
    It works with your example, but you will have to adapt the code for your real environment.
    This code supports only the operators: =, !=, <, >
    This code supports only numeric values without decimal-point.
    Edited by: hm on 19.10.2010 22:46

  • Verifying and parsing "query" in cm:select query="..." ...

    I'm writting a session EJB that's passed a param (String query) which is supposed
    to be any valid "query" string passed to the cm:select tag (see "http://edocs.bea.com/wlcs/docs31/p13ndev/jsptags.htm#1057716"
    for more info on this tag and the query param).
    My problem is this: I don't think I should write ALL the stuff to validate and
    parse this string because bea has already done it in: com.beasys.commerce.foundation.expression.*;
    but the only source of documentation available on those classes is the Javadoc(which
    isn't that complete). Has anyone used these classes before(Search, Expression,
    Criteria, Logical)? Does anyone know of some documents on how to use them?
    Please help if you can. I'd really appreciate it. Thanks.

    rajan please just google or search SDN. there are large number of post for this..
    to give you a head start: for using a particular index in the select query a %_HINTS ORACLE 'INDEX clause is added

  • How to get the original query string in an event receiver when dialogs are enabled

    I have scenario where I am adding a document to a document library which has an external data column on it. My goal for this column is to have it automatically populated with an appropriate value based on original query string to the page. The general
    idea is that I am on a custom page that has various webparts on it including a view of my document library that is context sensative based on the query string, and I want to use that context sensitivity not just to filter the list but also when adding documents.
    I have been searching around for solutions to this problem all day and have gotten this far:
    I have an event receiver attached to my document library that handles the ItemAdded event syncronously (as such I have the new list item available to me). In that event receiver I am able to set the column values as required. Where I am stuck is on getting
    the value from the query string that I need to actually set as the column value.
    Based on:
    http://social.technet.microsoft.com/Forums/en-US/sharepoint2010programming/thread/8cfcb299-9a55-4139-86ec-0b53b2922a54 and several similar articles/posts I have been able to get the original source Url with the query string I want via the following
    code in my event receiver:
    private HttpContext context;
    public EventReceiver1()
    context = HttpContext.Current;
    public override void ItemAdded(SPItemEventProperties properties)
    var originalQueryString = context.Request.QueryString["Source"];
    // Parse the query string and use the value ...
    The problem is that this solution breaks down if the dialogs are turned on under the advanced settings for the list. The reason the solution fails is because the "Source" query string parameter goes away and is replaced by "IsDlg" set to a value of "1".
    Does anyone know how to get past this hurdle? Any help would be greatly appreciated.

    Hi Stuart,
    The reason I'm looking for "Source" in the query string is because that is something I found to be reliable when the Dialogs are turned off. I've dug around pretty deep in the Request object to see if anything had the data I was looking for and unfortunately
    it doesn't appear to be there. The
    context.Request.QUeryString.ToString()
    returns a rather simple one of:
    List=%7b43ECDCB0-8440-4652-B067-AA20481779D7%7d&RootFolder=&IsDlg=1
    and the
    context.Request.UrlReferrer.Query.ToString()
    has the same value.
    I suspect this is due to the dual step process that takes place in adding an item to a document library where the first modal popup (which I suspect likely has the information I need) gives you the opportunity to browse to your file and then the second
    dialog (maybe this is getting brought up as a result of another request which is now referring back to the original request that brought up the first dialog?) where you edit your properties.
    Thanks for the try though, if you've got anything else I'd love to hear it.

  • How to manage Locale info in the URL path, but not the query string

    We are building an application using Struts 1.1 and Tiles, on Oracle Application Server 10.1.3.3...
    I know this is a strange question... but we have a requirement to represent the locale info in the URL string using one of the following options:
    option 1: /eng/page.do?id=2 for english.../fra/page.do?id=2
    option 2: /page-eng.do?id=2 for english.... and /page-fra.do?id=2 for french
    We need to represent the 3 letter ISO lang code either in the directory structure, or suffix the page name (in our case, the struts action name)... we cannot replicate this using a parameter in the query string. I know this is odd, but that is what we are told to implement.
    Is there any robust way of implementing either option in Struts 1.1, JSP, JSTL etc...?
    Currently, we are looking at using a servlet filter to intercept the HTTP requests, parse the URL string, and extract the ISO lang value, and set locale and forward on the request.
    This poses a few problems... adding additional action mappings (page-eng... page-fra... page) to our struts-xml.config file to handle lang permuations... but the biggest issue is all the embedded html:link action values throughout our code...
    Because all our public facing URLs must comply with the rule, we need to change the html:link action to point to a different action, based on locale.
    Very inefficent, and I'm sure not industry standard best practice... we are using Tiles, and resource bundles for all our labels etc... but fall short in meeting this rule with regards to URLs and locale.
    Any advice or tips etc.. is greatly appreciated.

    The filter option sounds like a good solution. So it can receive the urls and parse them appropriately.
    You just need to take it one step further.
    Additional actionmappings in your struts-config should not be necessary.
    Filter:
    - analyses the url and sets the appropriate locale
    - adjusts the url such that the next level of the chain does not have to know anything about the locale being encoded in the url string.
    Thus your struts classes and mappings can remain unchanged
    /eng/page.do or /fra/page.do once through the filter should just look like /page.do to struts.
    That should get rid of half of your headache.
    Next the issue of generating urls.
    There are two approaches I can see here
    1 - use the filter approach again, this time with some post processing. Gather the generated HTML in a buffer, and do a find/replace on any urls generated, to put the locale encoding into them.
    2 - Customise struts to produce urls in this format. This would involve the html:link tag, and the html:form tag at the least (maybe others?). Get the source code for struts, and grab the html:link tag code. Extend that class to generate urls as you want them to be generated. I think you would need to extend the class org.apache.struts.taglib.html.LinkTag and override the protected method calculateURL. You would then have to edit/modify the struts-html tld to point the link tag at your classes rather than the standard ones.
    Option 1 is architecturally good because it gives you a well defined layer/border between having the locale encoded in the url, and not having it there. However it involves doing a find/replace on every html going out. This would catch all urls, whether generated by html:link tag or not.
    Option 2 requires customising struts for your own requirements, which may be a bit daunting, but has the advantage of generating the urls correctly without the extra overhead involved with option 1. Of course you would have to ensure that ALL urls are generated with the html:link tag.
    On reflection, I think option 1 is preferable, as both easier and quicker to implement, and doing a better separation in the architecture.
    Cheers,
    evnafets

  • Alternatives to query strings

    Hello
    I'm interested in using paths to convey parameters instead of
    query strings. For example:
    http://domain.com/paramA1/paramB2/paramC3
    instead of
    http://domain.com?paramA=1&paramB=2&paramC=3
    The reason I'm interested is because crawlers like google
    apparently don't like to follow links with query strings.
    (And my site has plenty.)
    Does anyone know if there're any methods that make this
    easy? Or will I need to write my own routines to parse
    the URL?
    Thanks
    GB

    use like below :
    <input type ="hidden" name="paramA" value="1">

  • Maximum length of query string for functions return a SELECT

    Hi all,
    I have a report that gets it's SELECT statement from a function, instead of being coded into the region. All was well but I suspect now I'm blowing some kind of limit as I'm getting an error :
         ORA-06502: PL/SQL: numeric or value error
         Error      ERR-1101 Unable to process function body returning query.
    However if I run the procedure out of ApEx and grab the SELECT statement then it works fine. The length of the query is 8636 bytes (yup, it's a beauty!).
    Does anyone know if there is a hard limit to the size of the string that can be returned?
    I'm using ApEx 3.1.
    Thanks,
    Steve H

    I do have a similar painfull scenario - Although my query length is very less i.e 618 bytes only.
    I have defined a stored function, which returns an SQL query string, this return SQL string executes fantastic but when I tried to to call this function from a APEX report it gives error. the details are as follows. Please help.......
    The function code:
    CREATE OR REPLACE function PROD."TEST_C_QRY"
    return VARCHAR2
    is
    msql VARCHAR2(32767);
    Begin
    msql:='Select null,statusname,AgeInd, ';
    For m_stat in (select statusname from a02_status)
    loop
    msql:= msql || q'[decode(statusname,']';
    msql:= msql || m_stat.statusname;
    msql:= msql || q'[',count(id),0) ]';
    msql:= msql || m_stat.statusname|| ',';
    end loop;
    msql:=rtrim(msql,',');
    msql:= msql||' from ';
    msql:= msql||'( ';
    msql:= msql||'select a.id, round(sysdate-a.registeredon) TimeSpan,';
    msql:= msql||'case ';
    msql:= msql||q'[when round(sysdate-a.registeredon)<=7 then 'Week' ]';
    msql:= msql||q'[when round(sysdate-a.registeredon)>7 and round(sysdate-a.registeredon)<14 then 'Fortnight' ]';
    msql:= msql||q'[when round(sysdate-a.registeredon)>14 and round(sysdate-a.registeredon)<30 then 'Month' ]';
    msql:= msql||q'[else 'More...'  end ageind,]';
    msql:= msql||'a.status_id,b.statusname ';
    msql:= msql||'from a02_task a,a02_status b ';
    msql:= msql||'where b.id=a.status_id) ';
    msql:= msql||'group by statusname,AgeInd;';
    return msql;
    end TEST_C_QRY;
    The Output SQL comes from this is
    SQL> Select null,statusname,AgeInd, decode(statusname,'Scheduled',count(id),0) Scheduled,decode(statusname,'Executing',count(id),0) Executing,decode(statusname,
    'Completed',count(id),0) Completed from ( select a.id, round(sysdate-a.registeredon) TimeSpan, case when round(sysdate-a.registeredon)<=7 then 'Week' when round
    (sysdate-a.registeredon)>7 and round(sysdate-a.registeredon)<14 then 'Fortnight' when round(sysdate-a.registeredon)>14 and round(sysdate-a.registeredon)<30 then
    'Month' else 'More...' end ageind, a.status_id,b.statusname from a02_task a,a02_status b where b.id=a.status_id) group by statusname,AgeInd;
    The result that comes when I execute the above resultant SQL is as follows.
    N STATUSNAME AGEIND SCHEDULED EXECUTING COMPLETED
    Completed More... 0 0 4
    Completed Week 0 0 1
    Scheduled Week 1 0 0
    Completed Month 0 0 3
    Executing More... 0 1 0
    Executing Month 0 6 0
    Scheduled More... 1 0 0
    7 rows selected.
    But the surprising error that comes from Oracle XE when I use the following code for stacked bar chart
    Code:
    begin
    return TEST_D_QRY;
    end;
    Error thrown by XE report builder is as follows:
    1 error has occurred
    Failed to parse SQL query!
    Select null,statusname,AgeInd, decode(statusname,'Scheduled',count(id),0) Scheduled,decode(statusname,'Executing',count(id),0) Executing,decode(statusname,'Completed',count(id),0) Completed from ( select a.id, round(sysdate-a.registeredon) TimeSpan, case when round(sysdate-a.registeredon)<=7 then 'Week' when round(sysdate-a.registeredon)>7 and round(sysdate-a.registeredon)<14 then 'Fortnight' when round(sysdate-a.registeredon)>14 and round(sysdate-a.registeredon)<30 then 'Month' else 'More...' end ageind, a.status_id,b.statusname from a02_task a,a02_status b where b.id=a.status_id) group by statusname,AgeInd;
    Certain queries can only be executed when running your application, if your query appears syntactically correct, you can save your query without validation (see options below query source).
    Regards,
    Soumen

  • Query string read as part of file name, throwing not found errors

    Hi all, I host a number of Web sites under a CF7 installation, Win2003.
    One site in particular is throwing not-found errors in response to certain search bot requests.
    In the IIS log, I noticed that for these requests, the query part of the URL is part of cs-uri-stem field value, but is not in the cs-uri-query field where it belongs:
    cs-uri-stem=                                               /index.cfm?template=24hour5.cfm
    cs-uri-query=<blank>
    instead of
    cs-uri-stem=                                               /index.cfm
    cs-uri-query=template=24hour5.cfm
    Evidently something somewhere is interpreting the entire URL as a filename, instead of a file name and a query string. When CF tries to locate the file it is throwing a not-found error.
    Maybe there is something weird about the question mark, but it looks normal to me.
    I can't seem to stop this error, since it is occuring at the OS, IIS, CF or jrun layer. Does anyone have any idea what is going on here, and what I can do about it?
    Thanks in advance.
    Joe

    Hey Reed, thanks for responding.
    I have a Cf utility that parses logs, so I modifed it to print out the ASCII codes for each character. They look normal, as far as I can tell. The question mark has a code of 63 which is correct, and no non-alphabetic characters precede or follow.
    One interesting thing is that the stem being called is an index.cfm file, and the query string argument happens to be a template name, and it ends in .cfm. That's why it is making it all the way to CF, which chokes on it, instead of IIS logging a 404 error.
    Often an identifiable bot is requesting these bad URLs, though I have spotted another request with agent 'Mozilla/4.0.' I suspect that is some kind of automated scan. (I also see other requests with the same agent name, though a different IP, that look like errononeously URL-encoded requests. These get filtered by URLScan.)
    I don't know for sure is whether the specific clients that make these bad calls always make them them wrong way. They appear to. Most clients that access the site do so normally.
    I wonder if there could be something in the request header, perhaps that instructs IIS to expect a different charset than what is actually used, or something like that.

  • How to make Multiple parameters to sql query string seperated by ,(comma) ..

    Hi,
    I would like to konw how I can make multiple parameters to sql query string seperated by ,(comma)  ..
    For example, this parameters can be printed like 'abc,dde,ggf,eeg' ,once I use  "join(Parameters!rpCode.Value,",")" with report builder , 
    By the way, when I test this multiple parameters by Query Designer of report builder there was no problem,.(using Define query parameters, I put abc,dde,ggf,eeg)
    however, when I run this report , it won't be executing ,  with (rsErrorExecutingCommand)
    Plz, help me....

    If its sql query then it should like this
    Select t.*
    from table t
    inner join dbo.ParseValues(@Parameters,',')f
    on f.val = t.ID
    ParseValues can be found him
    http://visakhm.blogspot.in/2010/02/parsing-delimited-string.html
    or easier way is
    Select t.*
    from table t
    where ',' + @Parameters + ',' LIKE '%,' + CAST(t.ID AS varchar(10)) + ',%'
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Passing a portlet parameters on the Query String

    Hello,
    We have a portal page with a portlet on it and would like to be able to make this portlet dynamic by using additional parameters on the portal url query string.
    Back in version 5, I was told that this couldn't be done. Perhaps someone knows whether the G6 portal supports this?

    Yes, you can pass portal url into porlet in G6.
    1. You have to check box "HostPageURI" (don't remember exactly, but close to this one) on User Information page for Web Service.
    2.Use getHostPageURLQueryString() method (for IPortletRequest) to retrive QueryString value;
    3. Parse url value manualy to access parameters and values.
    But think twice before do this. This is because there are more effective ways to pass data and "make portlet dynamic":
    1) Portlet Settings (classic way, total page refresh);
    2) Adaptive portlets techology (inline refresh, passing data to other portlets on the same page);
    3) Portal Session object (for G6). Way to pass data to portlets placed on different page.
    Edited by Bryazgin at 01/18/2007 7:11 PM

  • Query string access in jsp

    I want to access the query strings from this URL. http://localhost:8080/napstersBank/imageone.jsp?39,23
    I tried javascript method window.location.search.substring(1); but i want to implement it in JSP due to security reasons.
    How to extract the query string from the above URL.
    Thank you in Advance

    I am not sure of what exactly the question is.
    Are you asking about how to access variables in JSP ? Or how to pass a parameter from an HTML page to a SWF ?
    Here:
               'meetingModule.html?roomURL=<%= roomURL  %>&authToken=<%= token %>',
    you are simply passing variable to the HTML page. From there you need to use javascript to parse the query string and pass the values to your SWF.
    If you look at the ExternalAuthentication examples they all do something similar.

  • Parsing hexadecimal strings

    im an fresher currently in a project on secure hash algorithm
    my project is stopped due to certain reasons , further which i cannot proceed.
    i woud be grateful to u if some one provides solution to my problem.
    int a = (word[i] << 1) or (word[i] >> 32-n)
    word is an array that consist of hexadecimal string .
    the thing here is for instance , 0x2g46778, 2g46778
    when u print(both, individually) using System.out.println yields different results.
    the scenario is i have derived word array that consist only number without 0x extension ,
    but result yielded is wrong as for the reason mentioned above.
    but when i take an array that consist of 0x as string and concat it with every element of word array i get the full number (i.e 0x 2hg4kr7)
    again the problem is parsing the hexadecimal string(with ox as extension)
    Query:
    please tell me whether their is any way for parsing hexadecimal string as ox is not recognized.
    or
    how to proceed with it such that my string get parsed.
    thank u
    sincerly
    hari hara ganesh dharmarajan
    india`

    Could you post some sample input and desired output for your project?
    What is an array of hex string?
    Is it String[] with the contents of each string consisting of the char a-f and 0-9? Eg String[] xx = new String[] {"1234", abcd"};
    What does "parsing a hex string" mean? Give an example please.

Maybe you are looking for

  • ASA 5505 VPN Group Policies (RADIUS) and tunnel group

    I have a single ASA firewall protecting a small private developing network, and I need it in order to access remotely to two distinct network spaces both of wich are VLAN tagged: 1 is LAN and 3 is management. Each net has its own IP address space and

  • Questions on Concurrent program.

    Hi 1. How do I know, how many concurrent program is running in service contract and their status ? 2. Is there a place, where I cango and check the following details for a particular concurrent program ? 1. When it ran last ? 2. Was there any error ?

  • Ipod video doesn't work

    i bought my ipod video five days ago, but i put it to charge, and after i disconected it, appeared an apple icon and the screen flashes, and it wont´t turn off, i tried to reset it, but nothing appened, and I can only put it on disck mode for to comp

  • Drag and drop of multiple nodes between 2 trees

    Hi, I am trying to implement a drag and drop of multiple nodes between two different trees. A simple drag drop written on the lines of the demo code RSDEMO_DRAG_DROP_TREE_MULTI works perfectly fine. But my requirement is, when a child (leaf) node is

  • Cannot connect to office LAN anymore ... All IP addresses appear as taken

    Until 1 month ago I was able to connect to the LAN at work with no problem using DHCP, both through the ethernet port and a through a WiFi router. One day, while I was connected, a pop-up window signalled : 192.168.1.xxx in use by 00:06:b1:08:ca:20 (