ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Assaf Arkin" <ar...@intalio.com>
Subject Re: REST Post issue
Date Wed, 05 Nov 2008 20:19:02 GMT
The sane default on the Web is UTF-8. We should change it so UTF-8 is
used by default.

Assaf

On Wed, Nov 5, 2008 at 11:53 AM, Alexis Midon <midon@intalio.com> wrote:
> 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 <saursoor@yahoo.com> 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 <midon@intalio.com>
>> To: user@ode.apache.org
>> 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 <saursoor@yahoo.com> 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?
>> >
>> >
>> >
>>
>>
>>
>>
>>
>

Mime
View raw message