Thanks, Alexis, this seems to make sense. I have created the necessary *.endpoint configuration file (called it configuration.endpoint) and placed it in ode's WEB-INF/conf folder. I set the correct setting (wasn't sure what exactly it was given the property name conflict between what you said below and what is in the documentation) as follows: http.protocol.content-charset=UTF-8 http.protocol.encoding=UTF-8 It did not get picked up. I'm running ODE 1.2.1 (latest trunk build from ~ 2 weeks ago). Not sure why it did not get picked up, so I rebooted the App server and still nothing. I then set these configuration settings in an endpoint-configuration.properties file in the process' deployment folder (the old configuration style) and still did not get picked up. Am I misinterpreting the user guide on this?
________________________________ From: Alexis Midon <[EMAIL PROTECTED]> To: [email protected] Sent: Thursday, November 6, 2008 3:53:40 AM Subject: Re: REST Post issue Hi Chris, first all let me give you more implementation details: if you're invoking Soap-bound services, ODE uses Axis2 but if you're invoking HTTP-bound services, ODE uses plain commons-httpclient, bypassing Axis2. In your case, base on the logs you got, I assume you're using an HTTP-bound service. So Axis2 is not involved *at all*. So what you could try is to customize your endpoint with the property file described in the user-guide [1] The property to set is: http.protocol.content-charset=bla To make sure, this property is taken into account, you might want to set to DEBUG the following log category: org.apache.ode.axis2.httpbinding.HttpMethodConverter You will get a message built on this template: log.debug("Content-Type [" + contentType + "] Charset [" + contentCharset + "]"); Let me know how it works. Alexis [1] http://ode.apache.org/user-guide.html#UserGuide-EndpointConfiguration On Thu, Nov 6, 2008 at 10:17 AM, Chris Taylor <[EMAIL PROTECTED]> wrote: > Good advice. I ran the new REST request (from ODE) through a TCP/IP > monitor and compared it with the identical request through a service client > (soapui - though without soap envelope wrapping, just straight http post). > > The only distinction between the one that works and the one that fails (the > ODE invocation) seems to be in the character encoding. ODE is encoding > using ISO character set. Can this be reconfigured? It does not seem from > the Axis2 guidance that this can be configured for the transportsender in > the Axis2 configuration. Any advice? > > succesful request header: > > POST /CCReview/CoderLookupService.svc/GetCodesAndDesc/ HTTP/1.1 > Content-Type: text/xml;charset=UTF-8 > SOAPAction: " > http://clinical.uhg.com/cis/service/ReferenceDataService/v0.1/GetDiagnosisCode > " > User-Agent: Jakarta Commons-HttpClient/3.0.1 > Host: ccswsappsrv-v3-test.uhc.com > Content-Length: 459 > > failed request header: > > POST /CCReview/CoderLookupService.svc/GetCodesAndDesc/ HTTP/1.1 > Accept: text/xml > User-Agent: Jakarta Commons-HttpClient/3.0 > Host: ccswsappsrv-v3-test.uhc.com > Content-Length: 459 > Content-Type: text/xml; charset=ISO-8859-1 > > > > > ________________________________ > From: Alexis Midon <[EMAIL PROTECTED]> > To: [email protected] > Sent: Friday, October 31, 2008 2:35:00 PM > Subject: Re: REST Post issue > > Hi Chris, > > may I ask you where you got these headers from? > I guess you got them from the ODE log, the previous line being: "DEBUG - > GeronimoLog.debug(66) | HTTP Request Details: " > right? > > So this information is logged by ODE for debugging purpose. The log message > is built from the HttpClient request [1] but is not supposed to be HTTP > compliant [2]. That's commons-httpclient's job. So we can't conclude > neither > a) or b). > This applies to the response too. > > I tried to figure out which log category activate to get the request as > sent > by HttpClient, but no such category exists :( > > So you should try to get the request from the targetted server log or use a > tcp tunnel-like. > > Alexis > > > [1] org.apache.ode.axis2.httpbinding.HttpHelper#requestToString< > http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpHelper.java?view=markup > > > [2] I agree that this could be misleading. Please create an improvement in > Jira <https://issues.apache.org/jira/browse/ODE>. > > > > > On Fri, Oct 31, 2008 at 11:18 AM, Chris Taylor <[EMAIL PROTECTED]> wrote: > > > A service we are invoking from a bpel implements a REST Post operation. > > > > This is failing for us with a 400 response error. After some digging > into > > the problem, it seems that our request header is a) not sending the Host > > header and/or b) not setting the Post URI correctly. > > > > the request/response headers: > > > > POST > > > http://ccswsappsrv-v3-test.uhc.com/CCReview/CoderLookupService.svc/GetCodesAndDesc/ > > Request Headers: > > Accept: text/xml > > Request Entity: > > Content-Type:text/xml; charset=ISO-8859-1 > > Content-Length:459 > > Content-Charset:ISO-8859-1 > > Request Entity: > > <?xml version="1.0" encoding="UTF-8"?> > > <DiagnosisLookup xmlns="http://tempuri.org/"> > > <MaxNumberOfCodes xmlns="">5</MaxNumberOfCodes> > > <SearchText xmlns="">100.8</SearchText> > > <SearchType xmlns="">Full</SearchType> > > <CoderType xmlns="">Codes/ICD9 Diagnosis</CoderType> > > </DiagnosisLookup> > > > > POST > > > http://ccswsappsrv-v3-test.uhc.com/CCReview/CoderLookupService.svc/GetCodesAndDesc/ > > Status-Line< > http://ccswsappsrv-v3-test.uhc.com/CCReview/CoderLookupService.svc/GetCodesAndDesc/Status-Line > >: > > HTTP/1.1 400 Bad Request > > Response Headers: > > Date: Fri, 31 Oct 2008 18:09:50 GMT > > Server: Microsoft-IIS/6.0 > > X-Powered-By: ASP.NET > > X-AspNet-Version: 2.0.50727 > > Cache-Control: private > > Content-Length: 0 > > > > when i send the same request, via soapui but modify the request header to > > say: > > > > POST /CCReview/CoderLookupService.svc/GetCodesAndDesc/ > > Host: ccswsappsrv-v3-test.uhc.com > > > > I get the desired REST http 200 response. are these request header > > settings configurable in the Axis2 layer? What settings would they be? > > > > > > > > > > >
