相关疑难解决方法(0)

对于webservice响应,text/xml与application/xml之间有什么区别

这是更多的区别一般问题text/xml和application/xml.我很擅长编写webservices(REST - Jersey).我一直在制作,application/xml因为它出现在我一直用来学习的大多数教程/代码示例中,但我最近发现text/xml并且想知道它有什么不同以及何时使用它application/xml?

xml rest jersey

465
推荐指数
4
解决办法
23万
查看次数

IE9拒绝处理XML响应

这是一个与此有关的问题.

在UPDATE II中,我根据Jamie的反馈添加了一个脚本.

更新 - tl;博士:

我用临时密钥创建了一个小提琴,这样你们就可以更容易地看到问题:http://jsfiddle.net/S6wEN/.

由于这个问题太长了,这是一个总结.

  • 我尝试使用imgur API通过跨域XHR更新图像.
  • 为了在实现中抽象细节,我使用的是Jquery Form Plugin(显然,它包含在小提琴中).
  • 适用于Chrome,Firefox等,但在IE9中无效.
  • 预期的结果是更新图像并检索图像类型.

您仍然可以在下面找到详细信息.

谢谢


我有这个HTML:

<body>
<form id="uploadForm" action="http://api.imgur.com/2/upload.xml" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="key" value="MYKEY">
    File: <input type="file" name="image">
    Return Type: <select id="uploadResponseType" name="mimetype">
        <option value="xml">xml</option>
    </select>
    <input type="submit" value="Submit 1" name="uploadSubmitter1">
</form>

<div id="uploadOutput"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

基本上,我有一个表单可以通过跨域XHR上传图像到imgur.为了管理令人讨厌的细节,我使用的是Jquery Form Plugin,效果很好.但是,当我尝试将图像发送到imgur并接收xml响应时,它在IE9中无法正常工作(我没有在IE8中测试但我不期待好消息).它在Chrome和Firefox中运行良好.这是javascript部分:

(function() {
$('#uploadForm').ajaxForm({
        beforeSubmit: function(a,f,o) {
           o.dataType = $('#uploadResponseType')[0].value;
           $('#uploadOutput').html('Submitting...');
        },

        complete: function(data) {
        var xmlDoc = …
Run Code Online (Sandbox Code Playgroud)

javascript xml ajax jquery internet-explorer-9

10
推荐指数
2
解决办法
2万
查看次数

站点地图不显示为xml

我的站点地图生成有以下类:

public class SitemapItem
{
    public SitemapItem(string url)
    {
        this.Url = url;
        this.AlternateLinks = new List<SiteMapAlternateLink>();
    }

    public string Url { get; set; }

    public DateTime? LastModified { get; set; }

    public ChangeFrequency? ChangeFrequency { get; set; }

    public float? Priority { get; set; }

    public List<SiteMapAlternateLink> AlternateLinks { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和:

public class SiteMapAlternateLink
{
    public SiteMapAlternateLink(string url, string language)
    {
        this.Url = url;
        this.Language = language;
    }

    public string Url { get; set; }

    public string …
Run Code Online (Sandbox Code Playgroud)

c# xml sitemap asp.net asp.net-mvc

9
推荐指数
1
解决办法
2116
查看次数

org.springframework.web.reactive.function.UnsupportedMediaTypeException:bodyType 不支持内容类型“text/xml;charset=UTF-8”

使用 Java 11、SpringBoot 2、WebFlux、WebClient 和 Jackson

尝试使用 Spring WebClient 来使用返回 XML 的 Web 服务端点,内容类型:'text/xml;charset=UTF-8'

项目的 pom.xml 中的 Jackson XML 依赖项:

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.9.9</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

触发对外部 API 的请求并构建响应的 WebClient 代码:

        WebClient.builder()
                .baseUrl(url)
                .build()
                .get()
                .uri(builder.toUriString(), 1L)
                .accept(TEXT_XML)
                .header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_XML_VALUE)
                .acceptCharset(Charset.forName("UTF-8"))
                .exchange()
                .flatMap(x -> x.bodyToMono(ServiceResponse.class))
                .flatMap(x -> buildResponse(x));
Run Code Online (Sandbox Code Playgroud)

ServiceResponse 类(一个简单的 POJO):

public class ServiceResponse {

    private String ack;
    private String version;
    private String timestamp;
// .. getters and setters
Run Code Online (Sandbox Code Playgroud)

结果错误:

org.springframework.web.reactive.function.UnsupportedMediaTypeException: 不支持内容类型 'text/xml;charset=UTF-8'对于 bodyType=com.sample.service.model.ServiceResponse 在 org.springframework.web.reactive.function.BodyExtractors.lambda$readWithMessageReaders$12(BodyExtractors.java:201) ~[spring-webflux-5.1.8.RELEASE.jar: 5.1.8.RELEASE] 在 java.base/java.util.Optional.orElseGet(Optional.java:369) …

java spring jackson spring-boot spring-webflux

7
推荐指数
1
解决办法
1万
查看次数

如何将"保存为对话框"显示为"早期"?或者:如何使Flush()表现正确?

我在按钮事件中即时生成文件.我必须遵循以下代码:

Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename=Duck.xml");
Response.Write("First part");
Response.Flush();

//simulate long operation   
System.Threading.Thread.Sleep(10000);

//Done
Response.Write("Done");
Response.Flush();
Response.End();
Run Code Online (Sandbox Code Playgroud)

我想在第一次刷新后出现另存为对话框,因为操作可能需要一段时间.我该怎么办?

经过一些游戏,我发现它将缓冲256个字符(通过向客户端发送新字符串('x',256)可重现).

c# asp.net internet-explorer iis-7

5
推荐指数
1
解决办法
346
查看次数