Ok I will check.

Rajika

On Wed, Jun 13, 2012 at 3:13 PM, Hiranya Jayathilaka <[email protected]>wrote:

> Can you debug into Synapse and see why the API context does not get
> removed from the path in the first case? That's how it's supposed to work.
> From the API class:
>
>            if (restURLPostfix.startsWith(context)) {
>                 restURLPostfix =
> restURLPostfix.substring(context.length());
>                 if (versionStrategy instanceof URLBasedVersionStrategy) {
>                     String version = versionStrategy.getVersion();
>                     if (restURLPostfix.startsWith(version)) {
>                         restURLPostfix =
> restURLPostfix.substring(version.length());
>                     } else if (restURLPostfix.startsWith("/" + version)) {
>                         restURLPostfix =
> restURLPostfix.substring(version.length() + 1);
>                     }
>                 }
>                 ((Axis2MessageContext)
> synCtx).getAxis2MessageContext().setProperty(
>                         NhttpConstants.REST_URL_POSTFIX, restURLPostfix);
>             }
>
> Thanks,
> Hiranya
>
> On Wed, Jun 13, 2012 at 2:35 PM, Rajika Kumarasiri <[email protected]>wrote:
>
>> I changed the configuration with following and it completely removed
>> everything after the context "/stockquote" and back end complains that the
>> operation can't be found because now there is no operation for dispatching
>> in the url.
>>
>> <property name="REST_URL_POSTFIX" action="remove" scope="axis2"/>
>>
>> The trace from ESB to service:
>>
>> GET /services/MobileDirectoryService HTTP/1.1
>>  Content-Type: application/x-www-form-urlencoded; charset=UTF-8
>> Accept: */*
>> Host: 127.0.0.1:9768
>> Connection: Keep-Alive
>> User-Agent: Synapse-HttpComponents-NIO
>>
>>
>>
>> On Wed, Jun 13, 2012 at 2:06 PM, Hiranya Jayathilaka <[email protected]>wrote:
>>
>>> Remove the rest url postfix property.
>>>
>>> On Wed, Jun 13, 2012 at 12:52 PM, Rajika Kumarasiri <[email protected]>wrote:
>>>
>>>> Same work for following proxy definition for the curl request, curl -X
>>>> GET http://localhost:8283/services/StockQuoteProxy/mobile/bbb
>>>>
>>>> <proxy name="StockQuoteProxy">
>>>>         <target>
>>>>             <endpoint>
>>>>                 <address uri="
>>>> http://localhost:9768/services/MobileDirectoryService"; format="rest"/>
>>>>             </endpoint>
>>>>             <outSequence>
>>>>                 <send/>
>>>>             </outSequence>
>>>>         </target>
>>>>     </proxy>
>>>>
>>>> The trace is now,
>>>> client to ESB:
>>>> GET /services/StockQuoteProxy/mobile/bbb HTTP/1.1
>>>> User-Agent: curl/7.21.7 (x86_64-redhat-linux-gnu) libcurl/7.21.7 NSS/
>>>> 3.12.10.0 zlib/1.2.5 libidn/1.22 libssh2/1.2.7
>>>> Host: 127.0.0.1:8283
>>>> Accept: */*
>>>>
>>>>
>>>> ESB to service:
>>>> GET /services/MobileDirectoryService/mobile/bbb HTTP/1.1
>>>> Content-Type: application/x-www-form-urlencoded; charset=UTF-8
>>>> Accept: */*
>>>> Host: 127.0.0.1:9768
>>>> Connection: Keep-Alive
>>>> User-Agent: Synapse-HttpComponents-NIO
>>>>
>>>>
>>>> Rajika
>>>>
>>>> On Wed, Jun 13, 2012 at 12:27 PM, Rajika Kumarasiri <[email protected]>wrote:
>>>>
>>>>> I am trying to use an API to proxy a back end REST service. My
>>>>> API deceleration is given below. I have avoided using any url-pattern or
>>>>> template in order to define a "pass thru" API.
>>>>>
>>>>> <api name="StockQuoteAPI" context="/stockquote">
>>>>>         <resource methods="POST GET">
>>>>>             <inSequence>
>>>>>                  <send>
>>>>>                     <endpoint>
>>>>>                         <address uri="
>>>>> http://localhost:9768/services/MobileDirectoryService";
>>>>>                                  format="rest"/>
>>>>>                     </endpoint>
>>>>>                 </send>
>>>>>             </inSequence>
>>>>>             <outSequence>
>>>>>                  <send/>
>>>>>             </outSequence>
>>>>>         </resource>
>>>>>     </api>
>>>>>
>>>>> I invoked the API using the curl option, curl -X GET
>>>>> http://localhost:8283/stockquote/mobile/bbb but ended up with the
>>>>> error[1] in the back end. The request message trace is given below.
>>>>>
>>>>> client to ESB:
>>>>> GET /stockquote/mobile/bbb HTTP/1.1
>>>>> User-Agent: curl/7.21.7 (x86_64-redhat-linux-gnu) libcurl/7.21.7 NSS/
>>>>> 3.12.10.0 zlib/1.2.5 libidn/1.22 libssh2/1.2.7
>>>>> Host: 127.0.0.1:8283
>>>>> Accept: */*
>>>>>
>>>>>
>>>>> ESB to back end rest service:
>>>>> POST /services/MobileDirectoryService/stockquote/mobile/bbb HTTP/1.1
>>>>> Content-Type: application/xml; charset=UTF-8
>>>>> Accept: */*
>>>>> Transfer-Encoding: chunked
>>>>> Host: 127.0.0.1:9768
>>>>> Connection: Keep-Alive
>>>>> User-Agent: Synapse-HttpComponents-NIO
>>>>>
>>>>>
>>>>> It seems problem occurs due to dispatching error of the context
>>>>> /stockquote. Any idea to fix the problem ?
>>>>>
>>>>> Rajika
>>>>>
>>>>>
>>>>>
>>>>> [1] -
>>>>>
>>>>> 2012-06-13 12:17:35,441] ERROR {org.apache.axis2.engine.AxisEngine} -
>>>>>  The endpoint reference (EPR) for the Operation not found is
>>>>> /services/MobileDirectoryService/stockquote/mobile/bbb and the WSA Action 
>>>>> =
>>>>> null. If this EPR was previously reachable, please contact the server
>>>>> administrator.
>>>>> org.apache.axis2.AxisFault: The endpoint reference (EPR) for the
>>>>> Operation not found is
>>>>> /services/MobileDirectoryService/stockquote/mobile/bbb and the WSA Action 
>>>>> =
>>>>> null. If this EPR was previously reachable, please contact the server
>>>>> administrator.
>>>>>  at
>>>>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102)
>>>>> at org.apache.axis2.engine.Phase.invoke(Phase.java:329)
>>>>>  at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
>>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
>>>>>  at
>>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
>>>>> at
>>>>> org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(RESTUtil.java:89)
>>>>>  at
>>>>> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processXMLRequest(AxisServlet.java:826)
>>>>> at
>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:227)
>>>>>  at
>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:205)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>>>>>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>>>>> at
>>>>> org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
>>>>>  at
>>>>> org.wso2.carbon.mashup.jsservices.custom.ui.CustomUIServletFilter.doFilter(CustomUIServletFilter.java:233)
>>>>> at
>>>>> org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
>>>>>  at
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>>> at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
>>>>>  at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>>>>>  at
>>>>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:45)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>  at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>> at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
>>>>>  at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
>>>>> at
>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>  at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
>>>>> at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
>>>>>  at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:143)
>>>>> at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>>>>  at
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
>>>>> at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:48)
>>>>>  at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>> at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>  at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
>>>>> at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
>>>>>  at
>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1620)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>  at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>> at java.lang.Thread.run(Thread.java:619)
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Hiranya Jayathilaka
>>> Senior Technical Lead;
>>> WSO2 Inc.;  http://wso2.org
>>> E-mail: [email protected];  Mobile: +94 77 633 3491
>>> Blog: http://techfeast-hiranya.blogspot.com
>>>
>>
>>
>
>
> --
> Hiranya Jayathilaka
> Senior Technical Lead;
> WSO2 Inc.;  http://wso2.org
> E-mail: [email protected];  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to