WCF肥皂服务随机失败

时间:2017-01-04 21:34:29

标签: c# web-services wcf soap

我现在有一个我正在打电话的肥皂服务。它大约90%的时间都有效。但是,我似乎无法确定导致问题的原因。因此我很难修复,因为我无法复制这个问题。

我随机收到以下错误:

CAUTL001E Failed to load xml document from string [<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Message>

  <Header>
    <ProtocolVersion>550</ProtocolVersion>
    <ProtocolInfo>3</ProtocolInfo>
  </Header>

  <Elements>B6FF2099F2A58662BBD3B814A5537E076CF08657D2D73E28FA37EAE1CD42E8C6A7F65FA5BF004FDD3FAF3FB4185CE34F51724C912F281A08828ACC50A42C8B659B5B26E51DEA1F742A8C9F8857B7CAC569374D540210EF8D58DD6C82670F2D3BCB20987A36930D311318310A9995A2EED73D9457313361525EE4EDC1C9C3AC6A4654ADF0CD8783E2A5A2EC9230C2F1EE6247E5176A8FAF9872EDF83A6A86B60A8BBDEF8F732B8887CD1348CBE837384470E57818F821A40F9D95A92382A23CF8309BD37598D29121D96333535B5F72716382A8F319942EDCB7605B55866178D605D35F00DCCEDB08CDC5182DBCDFE41EEA87A49FF76AC96B1D381FF3247CDDB48F6D590D3D48C1FD3519A72E42D5E3500571260E9B6C1BB513DDD2C3BEEBF93CCDAAE0F48F10128B6CA2D319F1CD3DB1E4F23AA9DA711FAB2717A93CE1B4E047A3832314BB860CF7807491F7936AB79CC09F62608F09E109D700FD941CDE520DD4B8BC9FB36B7701DB89EF20CD43AF36FBCE20DB1CE52BCE5481FB8CF925B2C16DCD3E2F661E7AFF9522E91BCFBE4D04A8D9AB5F7555325D86504EAB38A277E6B8ADCD0DE0C1A8A3C239798D41F4E5B62A9E05F87C4FCF9A2D43AA699EA54D27103B2D2FAC2B9409A5D58DF1B94168666C7776C2DD3FF858547E5164C3143F24091725A393018F077DC7506638372DE419BBE0AE5836C6FCB5336A197FD5F969E432C9F74F630353770CC809FAD0CE4C48A1C203F46C48D520CF69CAE2E21651A76B63FE1503E1D22562F29E183B63C2C048ADD36FAED01F9738A698EB38EEA3B56ED3AA763C53F295A2AB916F343C1076BB96BF9C109345FEBC60202E885D3BCBF77021F62D7993BC72763B9A6938DA7D565798DC6E3031DE84B409FABEF16]
<faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode>
<faultstring xml:lang="en-US">

我不断将完全相同的参数集传递给服务,因此输出相同。通过或失败。

我无法使用WCFTestClient使服务失败。尝试从外部应用程序访问时,它才会失败。

我让服务失败的2个应用程序是Powershell和vMWare orchestrator。

我还可以确认它看起来不像服务中的问题。即使应用程序收到此错误消息,也永远无法访问我在Web服务中提供的错误检查。

我搜索过去两周试图更好地了解错误信息的真正含义但未成功。

如果它有帮助,这里是我的网络服务的简化视图。

[OperationContract]
[WebMethod]
MyObj submitChange(string params);



public MyObj submitChange(string params)
{
    try
    {
        //does something with the params,..

        myObj response = new myObj(params);

        return response;
    }
    catch (Exception ex)
    {
        //Send an email to me containing exception details

        throw ex;
    }

}


[Serializable]
public class MyObj
{
    public string params { get; set; }

    public MyObj(string _params)
    {
        params = _params;
    }
}

这是在80%的情况下都能运行的powershell代码:

$uri = 'http://linktomyservice/myservice.svc?wsdl'
$req = New-WebServiceProxy -Uri $uri
$req.Timeout = 2000000
$response = $req.myFunc($params)

提供更多信息:

  • 该服务托管在我的环境中的杠杆开发网站上。
  • 我在运行本地PowerShell脚本时以及在我的环境中的远程服务器上看到了失败。
  • 客户端与服务之间没有代理/防火墙干扰。
  • 没有必要的身份验证

0 个答案:

没有答案