0

WFS サービスから応答を受け取りましたが、次のエラーが返されました。この MediaType はサポートされていないようです。

org.springframework.http.InvalidMediaTypeException: Invalid mime type "text/xml; subtype=gml/2.1.2": Invalid token character '/' in token "gml/2.1.2"
at org.springframework.http.MediaType.parseMediaType(MediaType.java:370)
at org.springframework.http.HttpHeaders.getContentType(HttpHeaders.java:550)
at org.springframework.web.client.HttpMessageConverterExtractor.getContentType(HttpMessageConverterExtractor.java:116)
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:87)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:809)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:793)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:572)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:530)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:357)

...

Caused by: org.springframework.util.InvalidMimeTypeException: Invalid mime type "text/xml; subtype=gml/2.1.2": Invalid token character '/' in token "gml/2.1.2"
at org.springframework.util.MimeTypeUtils.parseMimeType(MimeTypeUtils.java:250)
at org.springframework.http.MediaType.parseMediaType(MediaType.java:367)

Content-Type=[text/xml; によって引き起こされる無効なトークン文字を克服する方法を見てきました。subtype=gml/2.1.2] Spring HttpMessageConverterExtractor で? 、しかし、このソリューションを私のアプローチに適応させることはできません.XMLベースのソリューションもSpring Integrationベースのソリューションも使用していません。

私のコードフラグメント:

RestTemplate template = new RestTemplate();
String url = "http://some.geo.server/wfs?";
String query = buildWFSSpatialQuery(geometry, type);
ResponseEntity<String> entity = template.postForEntity(url, query, String.class);

queryのようなものはどこですか

<wfs:GetFeature service="WFS" version="1.0.0" maxFeatures="1" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><wfs:Query ....

エラーは非常に簡単に再現できます。

org.springframework.http.MediaType.parseMediaType("text/xml; subtype=gml/2.1.2");
4

1 に答える 1

0

それを行う方法があります。あなたがしなければならないことは、使用することです...

setDefaultResponseContentType("text/xml; subtype=\"gml/2.1.2\"")
于 2015-10-23T11:07:41.837 に答える