I wonder if Connection:close header sent by other tools is the culprit. Are you using this with httpd or with simple axis server?
Samisa... On Mon, Mar 1, 2010 at 11:08 PM, Satish Bvs <[email protected]> wrote: > Smisa, > > Thanks for the response. > > For traditional HTTP commands GET and POST. > One could write a server and test them with standalone UNIX tools > like *lwp-request* or *curl*. > And they are working fine. > > But for HTTP PUT generated by above UNIX tools, > Axis2c is categorization them as *invalid requests*. > > Log Snippet *logs/axis2.log* > [Mon Mar 1 17:26:31 2010] [debug] http_worker.c(200) Client HTTP version > HTTP/1.1 > [Mon Mar 1 17:26:31 2010] [info] Request served in 0.001 seconds > > *HTTP PUT* Request (Generated by UNIX tool) > PUT /axis2/services/Concordat/start HTTP/1.1 > Connection: close > Host: localhost:9090 > User-Agent: l > > However *echo_rest* example with *HTTP_PUT* request is going tru. > Below is the actual HTTP PUT request generated by, echo_rest -mPUT > usage, > > PUT /axis2/services/echo/echoString HTTP/1.1 > User-Agent: Axis2C/1.6.0 > Content-Length: 111 > Content > > One can observe a clear difference in the structure of HTTP PUT > generated by UNIX Tool(lwp-request) and the same echo_rest. > > Like hear your comments on the above observation. > > Thanks, > Satish. > > > ------------------------------ > *From:* Samisa Abeysinghe <[email protected]> > *To:* Apache AXIS C Developers List <[email protected]> > *Sent:* Wed, February 17, 2010 10:24:31 PM > *Subject:* Re: Fw: REST: HTTP_PUT: Debugging > > This might be a bug in Axis2/C. We need to test with the REST sample. Did > you try with our sample and did it work? > > Samisa... > > On Thu, Feb 18, 2010 at 12:38 AM, Satish Bvs <[email protected]> wrote: > >> Nandika, >> >> Can you help with below question. >> >> We started adopting Axis2C framework for our project recently. >> And thank you for the the platform work. >> >> Currently we are stuck with a roadblock and seek your help or >> guidance. >> >> *Problem Statement*, >> Unable to place an successful *HTTP: PUT* request for an >> REST enabled operation. >> But were able to place and POST operation and it went tru. >> >> *Logs & System Files*, >> services.xml (segmenet) >> <operation name="start"> >> <parameter name="RESTMethod">PUT</parameter> >> <parameter name="RESTLocation">start</parameter> >> </operation> >> >> Post Request & Response (through curl) >> curl http://localhost:9090/services/Concordat/start -T Temp >> <html><head><title>500 Internal Server >> Error</title></head><body><h2>Internal Server Error</h2><p>The server >> encountered an unexpected condition which prevented it from fulfilling the >> request.</p></body></html> >> >> logs/axis2.log >> [Tue Feb 2 18:38:00 2010] [info] Starting HTTP server thread >> [Tue Feb 2 18:38:01 2010] [debug] http_worker.c(200) Client HTTP >> version HTTP/1.1 >> [Tue Feb 2 18:38:01 2010] [info] Request served in 0.001 seconds >> >> *Observations* >> 1. If the REST operation is not properly mapped, >> The log statement would be, >> [Tue Feb 2 18:39:44 2010] [debug] >> rest_disp.c(114) Checking for service using target endpoint address : >> http://127.0.0.1:9090/services/Concordat/start >> [Tue Feb 2 18:39:44 2010] [debug] core_utils.c(772) Checking for >> operation using REST HTTP Location fragment : /start >> [Tue Feb 2 18:39:44 2010] [error] core_utils.c(1081) REST maping >> structure is NULL for the accessed URL >> >> 2. For the HTTP:PUT request there is no segment, >> That is checking for even endpoint address, >> >> >> Any ideas will be very helpful. >> And I will happy to give any necessary details. >> >> Thanks, >> Satish. >> >> >> >> >> >> > > > -- > Samisa Abeysinghe > Director, Engineering - WSO2 Inc. > > http://wso2.com/ - "lean . enterprise . middleware" > > -- Samisa Abeysinghe Director, Engineering - WSO2 Inc. http://wso2.com/ - "lean . enterprise . middleware"
