well that's a bug. Sorry about that. could you please create an issue? https://issues.apache.org/jira/secure/CreateIssue!default.jspa
I'll fix it asap. Alexis On Thu, Nov 6, 2008 at 1:43 PM, Chris Taylor <[EMAIL PROTECTED]> wrote: > 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? > > > > > > > > > > > > > > > > > > > > > > >
