I was under the impression that you are using latest uri-template version
(1.6.3 or above). Actually * support and query parameter support was not
there in in 1.6.2 and we introduced it later. Referring this jira[1]

Thanks,
sanjeewa.

[1]https://wso2.org/jira/browse/APIMANAGER-903

On Fri, Mar 21, 2014 at 12:05 AM, Pushpalanka Jayawardhana
<[email protected]>wrote:

>
>
> 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 Thu, Mar 20, 2014 at 10:23 AM, Pushpalanka Jayawardhana <[email protected]
> > wrote:
>
>> Hi,
>>
>> 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 Thu, Mar 20, 2014 at 1:00 AM, Sanjeewa Malalgoda <[email protected]>wrote:
>>
>>>
>>>
>>>
>>> On Thu, Mar 20, 2014 at 12:52 PM, Pushpalanka Jayawardhana <
>>> [email protected]> wrote:
>>>
>>>> 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
>>>>
>>> This is the expected behavior. You need to understand this syntax first.
>>> Here by *?* *we define that we can have anything after ? symbol. But up
>>> to '?' symbol things should map exactly. Simply you need to aware that *
>>> means you can have anything after that point and you must allways define it
>>> at the end of resource definition.
>>>
>>
>> Thanks. My bad I didn't put the URLs that are not working correctly.
>>
>> curl -v http://127.0.0.1:8280/stockquote/view/WSO2?   --> not working
>> curl -v http://127.0.0.1:8280/stockquote/view/WSO2?username=lanka    -->
>> not working
>>
>> Then if I try changing the URI-template in ESB as 'uri-template="
>> */view/{symbol}**"'
>> This time it only works if the URL matches like
>> --> /stockquote/view/WSO2*
>>
>> These does not work :
>>
>> http://127.0.0.1:8280/stockquote/view/WSO2?username=lanka
>>
>> http://127.0.0.1:8280/stockquote/view/WSO2
>>
>>
>>
>> So I think, with the way I define the template, it is not identifying the
>> '*' as a wild card in resource definition. Please correct me if I am wrong.
>>
>
> Could find that though this is not working at 4.6.0 version, it works fine
> with 4.8.0 version.
> I will go with a workaround as it seems this is not supported in the used
> version of ESB.
>
> Thanks a lot for the thoughts..
>
>>
>>
>>
>>
>>>   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 <[email protected]
>>>> > wrote:
>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Mar 20, 2014 at 3:58 AM, Pushpalanka Jayawardhana <
>>>>> [email protected]> 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 <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Mar 19, 2014 at 2:56 PM, Pushpalanka Jayawardhana <
>>>>>>> [email protected]> 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 <
>>>>>>>> [email protected]> 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 <
>>>>>>>>> [email protected]> 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
>>>>>>>>>> [email protected]
>>>>>>>>>> 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/>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> *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
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to