ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Taylor <saurs...@yahoo.com>
Subject Re: REST Post issue
Date Wed, 05 Nov 2008 16:17:31 GMT
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