Hi, I tried this with ESB sample 800 in ESB 4.6.0.
Modified the API as follows, <api xmlns="http://ws.apache.org/ns/synapse" name="StockQuoteAPI" context="/stockquote"> <resource methods="GET" uri-template=*"/view/{symbol}?*"*> <inSequence> <payloadFactory> <format> <m0:getQuote xmlns:m0="http://services.samples"> <m0:request> <m0:symbol>$1</m0:symbol> </m0:request> </m0:getQuote> </format> <args> <arg expression="get-property('uri.var.symbol')"/> </args> </payloadFactory> <send> <endpoint> <address uri=" http://localhost:9000/services/SimpleStockQuoteService" format="soap11"/> </endpoint> </send> </inSequence> <outSequence> <send/> </outSequence> </resource> <resource methods="POST"> <inSequence> <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/> <property name="OUT_ONLY" value="true"/> <send> <endpoint> <address uri=" http://localhost:9000/services/SimpleStockQuoteService" format="soap11"/> </endpoint> </send> </inSequence> </resource> </api> When tried with, curl -v http://127.0.0.1:8280/stockquote/view/WSO2 ---> no reponse --> No errors at ESB side When tried with, curl -v http://127.0.0.1:8280/stockquote/view/WSO2?* --> gives a response --> works fine So it seems ?* is not detected as wildcard on query parameters, but part of URI-template. Thanks, Pushpalanka. -- Pushpalanka Jayawardhana, B.Sc.(Hons). Software Engineer, WSO2 Lanka (pvt) Ltd; wso2.com/ Mobile: +94779716248 Blog: pushpalankajaya.blogspot.com/ | LinkedIn: lk.linkedin.com/in/pushpalanka/ | Twitter: @pushpalanka On Wed, Mar 19, 2014 at 10:50 PM, Sanjeewa Malalgoda <sanje...@wso2.com>wrote: > > > > On Thu, Mar 20, 2014 at 3:58 AM, Pushpalanka Jayawardhana > <la...@wso2.com>wrote: > >> >> Thanks, >> Pushpalanka. >> -- >> Pushpalanka Jayawardhana, B.Sc.(Hons). >> Software Engineer, WSO2 Lanka (pvt) Ltd; wso2.com/ >> Mobile: +94779716248 >> Blog: pushpalankajaya.blogspot.com/ | LinkedIn: >> lk.linkedin.com/in/pushpalanka/ | Twitter: @pushpalanka >> >> >> >> On Wed, Mar 19, 2014 at 2:50 AM, Sanjeewa Malalgoda <sanje...@wso2.com>wrote: >> >>> >>> >>> >>> On Wed, Mar 19, 2014 at 2:56 PM, Pushpalanka Jayawardhana < >>> la...@wso2.com> wrote: >>> >>>> Thanks, >>>> >>>> Pushpalanka. >>>> -- >>>> Pushpalanka Jayawardhana, B.Sc.(Hons). >>>> Software Engineer, WSO2 Lanka (pvt) Ltd; wso2.com/ >>>> Mobile: +94779716248 >>>> Blog: pushpalankajaya.blogspot.com/ | LinkedIn: >>>> lk.linkedin.com/in/pushpalanka/ | Twitter: @pushpalanka >>>> >>>> >>>> >>>> On Wed, Mar 19, 2014 at 1:44 AM, Sanjeewa Malalgoda >>>> <sanje...@wso2.com>wrote: >>>> >>>>> First for this type of definitions you need to use uri-template >>>>> instead of url-mapping. With uri-templates only you will be able to define >>>>> resource variables as you mentioned. See following examples. >>>>> >>>>> URITemplate /sanjeewa/{name,id}/* >>>>> matches /sanjeewa/user,190/test >>>>> matches /sanjeewa/user,190/test?year=2012 >>>>> >>>> >>>> Thanks for the reply. >>>> So as I understood we will be able to get name and id values as ' >>>> get-property('uri.var.name')'. But is there way to read in 'test' as a >>>> value as well. >>>> >>> AFAIK we cannot get it. Workaround would be get To property and do some >>> string manipulation to extract it. >>> >>>> >>>> eg: /sanjeewa/user,190/test?year=2012 >>>> /sanjeewa/user,190/prod?year=2012 >>>> /sanjeewa/user,190/pre-prod?year=2012 so we need to read the >>>> path whether it's test/prod pr pre-prod as well. >>>> >>>> I have tried with URITemplate /sanjeewa/{name,id}/{environment}?* . But >>>> this did not work and is expecting URL to be /sanjeewa/user,190/test?*. >>>> >>> I didn't get your question. Can you point me uri template created and >>> request sent. Did you see any error like resource not matching or something >>> similar. >>> >> URI-Template : /sanjeewa/{name,id}/{environment}?* >> matches : /sanjeewa/user,190/test?* >> >> but not matching to : /sanjeewa/user,190/test?arg1=value1 >> I was just checking whether the wildcard is effective and it is not. >> >> Thanks for the workaround. >> > I just added following to uri template test cases and it worked for me. So > it should work IMO. If not that is bug and we might need to fix this. > > template = new URITemplate("/sanjeewa/{name,id}/{test}?*"); > var.put("test","tester"); > var.put("name", "user"); > var.put("id", "190"); > assertTrue(template.matches("/sanjeewa/user,190/tester?test=12", > var)); > > Thanks, > sanjeewa. > >> >> >> >>> Thanks, >>> sanjeewa. >>> >>>> Please let me know if I am missing anything. >>>> >>>> >>>> >>>>> URITemplate /sanjeewa/~{test}?* >>>>> matches /sanjeewa/~tester?test >>>>> >>>>> Thanks, >>>>> sanjeewa. >>>>> >>>>> >>>>> On Wed, Mar 19, 2014 at 1:56 PM, Pushpalanka Jayawardhana < >>>>> la...@wso2.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> We need to read in some parameters from the URL path as well as some >>>>>> optional query parameters. (in ESB 4.6.0) >>>>>> >>>>>> Have tried few combinations of URL-mapping and URI- templates. >>>>>> Is it possible to use something similar to >>>>>> >>>>>> <resource methods="GET" url-mapping="/case/{grade}/{studentId}?*"> >>>>>> >>>>>> This did not work for me. >>>>>> Is it possible to achieve this functionality without modifying the >>>>>> URL to get everything as query parameters? >>>>>> >>>>>> Thanks, >>>>>> Pushpalanka. >>>>>> -- >>>>>> Pushpalanka Jayawardhana, B.Sc.(Hons). >>>>>> Software Engineer, WSO2 Lanka (pvt) Ltd; wso2.com/ >>>>>> Mobile: +94779716248 >>>>>> Blog: pushpalankajaya.blogspot.com/ | LinkedIn: >>>>>> lk.linkedin.com/in/pushpalanka/ | Twitter: @pushpalanka >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> Dev@wso2.org >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> *Sanjeewa Malalgoda* >>>>> Senior Software Engineer >>>>> WSO2 Inc. >>>>> Mobile : +94713068779 >>>>> >>>>> <http://sanjeewamalalgoda.blogspot.com/>blog >>>>> :http://sanjeewamalalgoda.blogspot.com/<http://sanjeewamalalgoda.blogspot.com/> >>>>> >>>>> >>>>> >>>> >>> >>> >>> -- >>> >>> *Sanjeewa Malalgoda* >>> Senior Software Engineer >>> WSO2 Inc. >>> Mobile : +94713068779 >>> >>> <http://sanjeewamalalgoda.blogspot.com/>blog >>> :http://sanjeewamalalgoda.blogspot.com/<http://sanjeewamalalgoda.blogspot.com/> >>> >>> >>> >> > > > -- > > *Sanjeewa Malalgoda* > Senior Software Engineer > WSO2 Inc. > Mobile : +94713068779 > > <http://sanjeewamalalgoda.blogspot.com/>blog > :http://sanjeewamalalgoda.blogspot.com/<http://sanjeewamalalgoda.blogspot.com/> > > >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev