Служба Dynamics AX 2012 R2 AIF не работает в течение некоторого времени после ошибки HTTP 500 с базовой привязкой

У нас есть клиент, отличный от .net, который обращается к службе AIF AX 2012 R2, используя привязку Basic HTTP в среде разработки. Понятно, что когда служба вызывается с неверным XML, мы получаем код ошибки HTTP 500. Однако последующие запросы к службе в течение определенного периода времени не выполняются даже после исправления клиента. Мы не поняли, сколько нам осталось ждать.

Error details:

HttpStatusCode: 500
Content-Length: 2980
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 26 Jan 2015 21:24:19 GMT
<s:Envelope  xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <s:Fault>
      <faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode>
      <faultstring xml:lang="en-US">
        Error in deserializing body of request message for operation 'myOperationName'.
        OperationFormatter encountered an invalid Message body. Expected to find node type 'Element' with name 'MyServiceNameMyOperationNameRequest' and
        namespace 'http://tempuri.org'. Found node type 'Element' with name 'MyServiceNamemyOperationNameRequest' and namespace ''
      </faultstring>
      <detail     xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <ExceptionDetail xmlns="http://schemas.datacontract.org/2004/07/System.ServiceModel"      xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
          <HelpLink i:nil="true"></HelpLink>
          <InnerException>
            <HelpLink i:nil="true"></HelpLink>
            <InnerException i:nil="true"></InnerException>
            <Message>
              OperationFormatter encountered an invalid Message body. Expected to find node type 'Element' with name 'MyServiceNameMyOperationNameRequest'
              and namespace 'http://tempuri.org'. Found node type 'Element' with name 'MyServiceNamemyOperationNameRequest' and namespace ''
            </Message>
            <StackTrace>
              at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action,
              MessageDescription messageDescription, Object[] parameters, Boolean isRequest)
              at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)
              at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeRequest(Message message, Object[] parameters)
            </StackTrace>
            <Type>System.Runtime.Serialization.SerializationException</Type>
          </InnerException>
          <Message>Error in deserializing body of request message for operation 'myOperationName'. OperationFormatter encountered an invalid Message body. Expected to find node type 'Element' with name 'MyServiceNamemyOperationNameRequest' and namespace 'http://tempuri.org'. Found node type 'Element' with name 'MyServiceNamemyOperationNameRequest' and namespace ''</Message>
          <StackTrace>
            at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeRequest(Message message, Object[] parameters)
            at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)
            at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
            at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
            at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
            at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
          </StackTrace>
          <Type>System.ServiceModel.CommunicationException</Type>
        </ExceptionDetail>
      </detail>
    </s:Fault>
  </s:Body>
</s:Envelope>

Есть ли способ выйти из этой ситуации, не дожидаясь?

Спасибо.


person RT.    schedule 26.01.2015    source источник
comment
Пожалуйста, включите некоторые сообщения об ошибках. Для AX перейдите в «Системное администрирование» — «Периодические операции» — «Службы и платформа интеграции приложений» — «Исключения». Для IIS проверьте журнал приложений Windows или включите вывод ошибок.   -  person Matej    schedule 27.01.2015
comment
Хорошей новостью является то, что я могу вернуться к нормальной жизни с помощью сброса IIS. Очевидно, что это не очень хорошее решение в производственной среде. Мне нужно решение для производственной среды. Я не могу опубликовать все сообщение об ошибке, так как оно слишком длинное для комментария. Посмотрим, смогу ли я отредактировать исходный пост.   -  person RT.    schedule 29.01.2015
comment
Исключения AIF не показывают никаких ошибок. Я подозреваю, что служба AIF даже не вызывается, потому что XML изначально плохой.   -  person RT.    schedule 29.01.2015


Ответы (1)


Ваш формат сообщения недействителен для этого звонка.

Ошибка четко говорит: Expected to find node type 'Element' with name 'MyServiceNameMyOperationNameRequest' and namespace 'http://tempuri.org'. Found node type 'Element' with name 'MyServiceNamemyOperationNameRequest' and namespace ''

Вы должны добавить атрибут namespace к запросу ('http://tempuri.org).

person Matej    schedule 29.01.2015
comment
Мы знаем, в чем проблема. Пост о возврате среды без задержки после исключения. - person RT.; 31.01.2015