ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexis Midon" <mi...@intalio.com>
Subject Re: REST Post issue
Date Wed, 05 Nov 2008 17:53:40 GMT
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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message