小编sha*_*adi的帖子

抛出SoapException不会返回有效的SOAP响应

我正在一个旧网站上工作。它正在调用ASP.Net Web服务(旧的.asmx文件)。每当Web服务中发生异常时,它将抛出SoapException。客户端捕获了此异常,但无法解析它。

我正在使用FiddlerSOAP UI查看SOAP请求和响应,并阅读本文http://msdn.microsoft.com/zh-cn/library/aa480514.aspx,我希望以以下格式获取响应:

<soap:Fault>
<faultcode>soap:Server</faultcode>    
<faultstring>Server was unable to process request. Something bad happened</faultstring>
<detail />
Run Code Online (Sandbox Code Playgroud)

但是,我得到以下响应:

HTTP/1.1 500 Internal Server Error
Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 12 Jun 2014 05:27:14 GMT
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/plain; charset=utf-8
Content-Length: 164
Connection: Close

System.Web.Services.Protocols.SoapException: Something bad happened
   at WebService1.Service1.HelloWorld() in ...
Run Code Online (Sandbox Code Playgroud)

我认为这是客户端无法处理异常的原因。

即使在示例Hello World Web服务中,也会发生这种情况。

有什么事吗

更新:当我调用不引发异常的Web服务方法时,我将获得以下格式的响应:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ords="http://mydomain.com/">
   <soapenv:Header/>
   <soapenv:Body>
      ...
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

这就是我抛出SoapException的方式:

[WebMethod]
public string HelloWorld()
{
     throw …
Run Code Online (Sandbox Code Playgroud)

c# asp.net soap asmx

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

使用JQuery UI DatePicker的日期范围的MVC编辑器模板

我需要在大多数MVC视图上显示JQuery UI Datepicker.所以我为Date Range创建了一个Model类:

public class DateRange
{
    [DisplayName("From")]
    [DataType(DataType.Date)]
    public DateTime? FromDate { get; set; }

    [DisplayName("To")]
    [DataType(DataType.Date)]
    public DateTime? ToDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和编辑为它填写:

@model DateRange
@Html.LabelFor(model => model.FromDate)
@Html.TextBoxFor(model => model.FromDate, "{0:dd/MM/yyyy}", new { @class = "dateRangeFrom"})
@Html.LabelFor(model => model.ToDate)
@Html.TextBoxFor(model => model.ToDate, "{0:dd/MM/yyyy}", new { @class = "dateRangeTo"})
Run Code Online (Sandbox Code Playgroud)

并在我的EditorHookup.js文件中:

$(function ()
{
    $('.dateRangeFrom').datepicker({
        dateFormat: "dd/mm/yy",
        onClose: function (selectedDate) {
            $(".dateRangeTo").datepicker("option", "minDate", selectedDate);
        }
    });
    $('.dateRangeTo').datepicker({
        dateFormat: "dd/mm/yy",
        onClose: function (selectedDate) {
            $(".dateRangeFrom").datepicker("option", "maxDate", selectedDate); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery jquery-ui mvc-editor-templates

3
推荐指数
1
解决办法
2371
查看次数