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

Reply via email to