Как я получаю доступ к ответу SOAP

Вы звоните Range() неправильно. Попробуйте это:

LastRow = ws.Cells(1, Rows.Count).End(xlUp).Row

или

LastRow = ws.Range("A" & rows.count).End(xlUp).Row

Первоначально, это было решено в основном ws.Range(1 & 1048576)... -> ws.Range(11048576).End(xlUp).Row, что A) не является правильным Range и B) является несуществующим номером строки.

Также обратите внимание, что это xlUp, а не x1Up (это «L», а не «1»)

11
задан Dan Malkinski 2 November 2008 в 01:18
поделиться

2 ответа

Можно использовать SoapExtension от существующей платформы WSE2.0 для прерывания ответов с сервера.

public class MyClientSOAPExtension : SoapExtension
{

     Stream oldStream;
     Stream newStream;

     // Save the Stream representing the SOAP request or SOAP response into
     // a local memory buffer.
     public override Stream ChainStream( Stream stream )
     {
            oldStream = stream;
            newStream = new MemoryStream();
            return newStream;
     }

    public override void ProcessMessage(SoapMessage message)
    {
       switch (message.Stage)
        {
            case SoapMessageStage.BeforeDeserialize:
                // before the XML deserialized into object.
                break;
            case SoapMessageStage.AfterDeserialize:
                break;        
            case SoapMessageStage.BeforeSerialize:
                break;
            case SoapMessageStage.AfterSerialize:
                break;            
            default:
                throw new Exception("Invalid stage...");
        }       
    }
}

На этапе SoapMessageStage. BeforeDeserialize, можно считать ожидаемые данные, которые Вы хотите от oldstream (например, используйте XmlReader). Затем храните ожидаемые данные где-нибудь, чтобы себя использовал, и также Вы должны передать старые потоковые данные к newstream для веб-сервиса, позже подготавливают, чтобы использовать данные, например, десериализовать XML в объекты.

Образец входа всего трафика для веб-сервиса из MSDN

8
ответ дан 3 December 2019 в 06:48
поделиться

MSDN Library включает пример кода для получения XML и запроса и ответа, который можно использовать для архивации его. Очевидно, необходимо будет внести некоторые изменения, так как пример хранит данные в текстовом файле, но это не слишком сложно.

0
ответ дан 3 December 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: