groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Imholz, John J." <imho...@musc.edu>
Subject RE: HTTPBuilder and Content-type
Date Thu, 09 Jun 2016 12:40:33 GMT
I've set contentType = 'text/xml' and with debugging I see the response XML coming back (with
a , but

response.success = resp, xml ->
   println"XML was ${xml}"
   println "WsFindStemsResults was ${xml.WsFindStemsResults}"
}

just prints the data from the XML, all the tags are removed and  println "${xml.FirstElement}"
  prints nothing.

Any ideas?

Debugging info:

[DEBUG] headers - << Content-Type: text/xml;charset=UTF-8
[DEBUG] headers - << Vary: Accept-Encoding
[DEBUG] headers - << Keep-Alive: timeout=5, max=99
[DEBUG] headers - << Connection: Keep-Alive
[DEBUG] headers - << Transfer-Encoding: chunked
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: JSESSIONID][value: DF323AB24B8F2D4225AF09455EC7673B][domain:
grouperdev.musc.edu][path: /grouper-ws][expiry: null]".
[DEBUG] DefaultHttpClient - Connection can be kept alive for 5000 MILLISECONDS
[DEBUG] TargetAuthenticationStrategy - Caching 'basic' auth scheme for https://grouperdev.musc.edu:443
[DEBUG] wire - << "3fd[\r][\n]"
[DEBUG] wire - << "<WsFindStemsResults><stemResults><WsStem><idIndex>28841</idIndex><extension>IT</extension><displayExtension>INFORMATION
TECHNOLOGY</displayExtension><description></description><displayName>Test:Service
Line Org Tree:MUSC University:INFORMATION TECHNOLOGY</displayName><name>Test:sa:UNIV:IT</name><uuid>b1e93a1f819a4090b97679cbd7b3724f</uuid></WsStem><WsStem><idIndex>28958</idIndex><extension>OCIO</extension><displayExtension>Office
of the CIO</displayExtension><description></description><displayName>Test:Service
Line Org Tree:MUSC University:INFORMATION TECHNOLOGY:Office of the CIO</displayName><name>Test:sa:UNIV:IT:OCIO</name><uuid>cd411e50fb664f16b8c781c915cc310f</uuid></WsStem></stemResults><resultMetadata><resultCode>SUCCESS</resultCode><resultMessage>Success
for: clientVersion: 2.3.0, wsStemQueryFilter: WsStemQueryFilter[stemQueryFilterType=FIND_BY_STEM_NAME_APPROXIMATE,stemName=Test:sa:UNIV:IT],
actAsSubject: WsSubjectLookup[subjectId=GrouperSystem][\n]"
[DEBUG] wire - << ", params: null[\n]"
[DEBUG] wire - << ", wsStemLookups: null</resultMessage><"
[DEBUG] wire - << "[\r][\n]"
[DEBUG] wire - << "b6[\r][\n]"
[DEBUG] wire - << "success>T</success></resultMetadata><responseMetadata><resultWarnings></resultWarnings><millis>42</millis><serverVersion>2.3.0</serverVersion></responseMetadata></WsFindStemsResults>"
[DEBUG] wire - << "[\r][\n]"
[DEBUG] wire - << "0[\r][\n]"
[DEBUG] wire - << "[\r][\n]"
[DEBUG] BasicClientConnectionManager - Releasing connection org.apache.http.impl.conn.ManagedClientConnectionImpl@3543df7d
[DEBUG] BasicClientConnectionManager - Connection can be kept alive for 5000 MILLISECONDS
Success response: HTTP/1.1 200 OK
XML was 28841ITINFORMATION TECHNOLOGYTest:Service Line Org Tree:MUSC University:INFORMATION
TECHNOLOGYTest:sa:UNIV:ITb1e93a1f819a4090b97679cbd7b3724f28958OCIOOffice of the CIOTest:Service
Line Org Tree:MUSC University:INFORMATION TECHNOLOGY:Office of the CIOTest:sa:UNIV:IT:OCIOcd411e50fb664f16b8c781c915cc310fSUCCESSSuccess
for: clientVersion: 2.3.0, wsStemQueryFilter: WsStemQueryFilter[stemQueryFilterType=FIND_BY_STEM_NAME_APPROXIMATE,stemName=Test:sa:UNIV:IT],
actAsSubject: WsSubjectLookup[subjectId=GrouperSystem]
, params: null
, wsStemLookups: nullT422.3.0
WsFindStemsResults was

From: Suderman Keith [mailto:suderman@anc.org]
Sent: Tuesday, June 07, 2016 2:42 PM
To: users@groovy.apache.org
Subject: Re: HTTPBuilder and Content-type




On Jun 7, 2016, at 11:40 AM, Imholz, John J. <imholzj@musc.edu<mailto:imholzj@musc.edu>>
wrote:

I'm still not sure how to get the Content-type sent as 'text/xml' (the webservice I'm hitting
doesn't like 'application/xml’.)

You should just be able to specify the content type as ‘text/xml’ without having to use
one of the ContentType enum values.  E.g.

http.request(POST, ‘text/xml’)

Cheers,
Keith


Can I get some insight on how to log http components when executing a groovy script from the
command line?

jji

From: David Clark [mailto:plotinussmith@gmail.com]
Sent: Tuesday, June 07, 2016 11:03 AM
To: users@groovy.apache.org<mailto:users@groovy.apache.org>
Subject: Re: HTTPBuilder and Content-type

The content-type is set to the content type of the encoder. See here:

https://github.com/jgritman/httpbuilder/blob/master/src/main/java/groovyx/net/http/EncoderRegistry.java#L333

For the xml encoder that is "application/xml". See here (the first entry in the list is taken
to be the default content-type):

https://github.com/jgritman/httpbuilder/blob/master/src/main/java/groovyx/net/http/ContentType.java#L67

Your best bet is to enable debugging in the apache http client to see what is actually being
sent. You can do this by setting the system properties correctly. See here for the details
on how to do this:

https://hc.apache.org/httpcomponents-client-ga/logging.html


On Tue, Jun 7, 2016 at 8:15 AM, Imholz, John J. <imholzj@musc.edu<mailto:imholzj@musc.edu>>
wrote:
I'd like to set the Content-type of a POST to "text/xml"  looks to me like http.request( POST,
XML)  sets it to "application/xml".

Also, to debug, how can I see the POST before I send it?

jji

------------------------------
Research Associate
Department of Computer Science
Vassar College
Poughkeepsie, NY

Mime
View raw message