Найдено результатов: 33

Заполнение DataSet или DataTable из результирующего набора запроса LINQ

Как можно представить запрос LINQ как веб-службу ASMX? Обычно с бизнес-уровня я могу вернуть типизированный DataSet или DataTable , который может быть сериализован для транспорта через ASMX.

Как я могу сделать то же самое для запроса LINQ? Есть ли способ заполнить типизированный DataSet или DataTable с помощью запроса LINQ?

public static MyDataTable CallMySproc()
{
    string conn = "...";

    MyDatabaseDataContext db = new MyDatabaseDataContext(conn);
    MyDataTable dt = new MyDataTable();

    // execute a sproc via LINQ
    var query = from dr
                in db.MySproc().AsEnumerable
                select dr;

    // copy LINQ query resultset into a DataTable -this does not work !    
    dt = query.CopyToDataTable();

    return dt;
}

Как я могу получить результирующий набор запроса LINQ в DataSet или DataTable ? Кроме того, можно ли сериализовать запрос LINQ, чтобы я мог представить его как веб-службу ASMX?

c#   linq   web-services   .net-3.5    

646   6   16:03, 1st July, 2020


Как распечатать документ HTML из веб-службы?

Я хочу распечатать HTML из веб-службы C#. Управление веб-браузером является избыточным и не работает хорошо в среде обслуживания, а также не работает хорошо в системе с очень жесткими ограничениями безопасности. Существует ли какая-либо бесплатная библиотека .NET , которая будет поддерживать печать базовой страницы HTML? Вот код, который у меня есть до сих пор, который не работает должным образом.

public void PrintThing(string document)
{
    if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA)
    {
        Thread thread =
            new Thread((ThreadStart) delegate { PrintDocument(document); });
        thread.SetApartmentState(ApartmentState.STA);
        thread.Start();
    }
    else
    {
        PrintDocument(document);
    }
}

protected void PrintDocument(string document)
{
    WebBrowser browser = new WebBrowser();
    browser.DocumentText = document;
    while (browser.ReadyState != WebBrowserReadyState.Complete)
    {
        Application.DoEvents();
    }
    browser.Print();
}

Это прекрасно работает при вызове из потоков типа UI,но ничего не происходит при вызове из потока типа службы. Изменение Print() на ShowPrintPreviewDialog() приводит к следующей ошибке скрипта IE:

Ошибка: dialogArguments.___IE_PrintType - это null или не объект.

URL: res://ieframe.dll/preview.dlg

И появится небольшое пустое диалоговое окно предварительного просмотра печати.

c#   html   web-services   printing    

525   6   16:03, 1st July, 2020


Доморощенное потребление веб-сервисов

Я написал несколько веб-сервисов для приложения .net , теперь я готов их использовать. Я видел множество примеров, когда существует доморощенный код для использования службы в отличие от использования автоматически созданных методов, которые Visual Studio создает при добавлении веб-ссылки.

Есть ли в этом какие-то преимущества?

.net   web-services    

399   1   16:03, 1st July, 2020


Как передать перечисленные значения в веб-службу

Моя дилемма заключается, в основном, в том, как разделить перечисление между двумя приложениями.

Пользователи загружают документы через интерфейсное приложение, которое находится в интернете. Это приложение вызывает веб-службу внутреннего приложения и передает ему документ. Серверное приложение сохраняет документ и вставляет строку в таблицу документов .

Тип документа (7 возможных типов документов: счет- фактура, договор и т.д.) передается в качестве параметра в метод UploadDocument веб-службы. Вопрос в том, каким должен быть тип (и возможные значения) этого параметра?

Поскольку вам нужно жестко закодировать эти значения в обоих приложениях, я думаю, что это O.K. чтобы использовать описательную строку (счет, контракт, WorkOrder , SignedWorkOrder).

Может быть, лучше создать перечисление DocumentTypes в первом приложении и воспроизвести его также во втором приложении, а затем передать соответствующее целочисленное значение веб-службе между ними?

web-services   application-integration    

441   8   16:03, 1st July, 2020


Как легко использовать веб-сервис из PHP

Существует ли какой-либо инструмент для PHP, который можно использовать для генерации кода для использования веб-службы на основе ее WSDL ? Что-то сравнимое с щелчком "Add Web Reference" в Visual Studio или плагином Eclipse, который делает то же самое для Java.

php   web-services   visual-studio   wsdl    

464   7   16:03, 1st July, 2020


Веб-службы на основе документов или RPC

Я нутром чувствую, что веб-сервисы на основе документов предпочтительнее на практике - это опыт других людей? Их легче поддерживать? (Я заметил, что SharePoint использует любой для "document type" в своем интерфейсе WSDL, я думаю, что это делает его документальным).

Кроме того-теперь люди предлагают услуги типа WSDL и Rest для одной и той же функциональности? WSDL популярен для генерации кода, но для таких интерфейсов, как PHP и Rails, они, похоже, предпочитают rest.

web-services   rest   wsdl    

483   3   16:03, 1st July, 2020


Вызов веб-REST услуги от классического ASP-страницы

Я хотел бы начать перемещать наши бизнес-слои приложений в коллекцию веб-сервисов REST. Однако большая часть нашей интрасети была построена с использованием классического ASP, и большинство разработчиков, где я работаю, продолжают программировать в классическом ASP. В идеале, чтобы они могли воспользоваться преимуществами уникального набора web APIs, его нужно было бы вызвать с классических страниц ASP.

Я не имею ни малейшего представления, как это сделать.

web-services   rest   asp-classic    

518   7   05:59, 8th August, 2020


В чем разница между конечной точкой, сервисом и портом при работе с веб-сервисами?

Я использовал Apache CXF, чтобы представить около десяти классов java в качестве веб-служб.

Я создал клиентов, используя CXF, Axis и .NET.

В Axis и CXF генерируется "Service" или "Locator". От этой услуги вы можете получить "Port". "Port" используется для выполнения отдельных вызовов методов, предоставляемых веб-службой.

В .NET "Service" непосредственно предоставляет вызовы веб-службе.

Может ли кто-нибудь объяснить разницу между портом, службой, локатором и конечной точкой, когда речь заходит о веб-службах?

Ось:

PatientServiceImplServiceLocator locator = 
    new PatientServiceImplServiceLocator();
PatientService service = locator.getPatientServiceImplPort();

CXF:

PatientServiceImplService locator = new PatientServiceImplService();
PatientService service = locator.getPatientServiceImplPort();

.чистый:

PatientServiceImplService service = new PatientServiceImplService();

java   .net   web-services   cxf   axis    

420   4   23:41, 4th August, 2020


лучший способ сохранения данных в веб-службе .NET

У меня есть веб-служба, которая запрашивает данные из этого файла json, но я не хочу, чтобы веб-служба каждый раз обращалась к этому файлу. Я думаю, что, возможно, я могу хранить данные где-то еще (возможно, в памяти), чтобы веб-служба могла просто получить данные оттуда в следующий раз, когда она попытается запросить те же самые данные. Я вроде бы понимаю, что нужно сделать, но я просто не знаю, как это сделать на самом деле. Как мы сохраняем данные в веб-сервисе?

Обновление: оба предложения, кэширование и использование статических переменных, выглядят хорошо. Может быть, мне стоит использовать оба варианта, чтобы сначала посмотреть на один, а если его там нет, то использовать второй, если его там тоже нет, тогда я посмотрю на файл json.

.net   web-services   json   memory   persistence    

408   4   11:53, 19th August, 2020


Загрузка файлов через веб-службы

Можно ли загрузить файл с компьютера клиента на сервер через веб-службу? Клиент может запускать все, что угодно, от собственного настольного приложения до тонкого клиента ajax.

.net   web-services   file-upload   upload    

522   2   08:11, 28th August, 2020


Возврат больших результатов через веб-сервис

В данный момент я работаю над веб-сервисом, и есть вероятность, что возвращаемые результаты могут быть довольно большими ( > 5 Мб).

Вполне допустимо, чтобы этот набор данных был таким большим, и веб-сервис можно назвать либо синхронизацией, либо асинхронностью, но мне интересно, что думают люди о следующем:

  1. Если соединение потеряно, то весь результирующий набор должен быть регенерировали и отправляли снова. Есть любым способом я могу сделать все что угодно "resume" если соединение потеряно или сбросить?

  2. Является ли отправка результирующего набора такого большого размера вообще уместной? Может быть, лучше реализовать какой-то "paging", где результирующий набор генерируется и хранится на сервере, а клиент может затем загружать куски результирующего набора в меньших количествах и повторно собирать набор в их конце?

c#   .net   web-services    

485   4   16:59, 1st August, 2020


Сколько дополнительных накладных расходов генерируется при отправке файла через веб-службу в виде массива байтов?

Этот вопрос и ответ показывают, как отправить файл в виде массива байтов через веб-службу XML. Сколько накладных расходов генерируется при использовании этого метода для передачи файлов? Я предполагаю, что данные выглядят примерно так:

<?xml version="1.0" encoding="UTF-8" ?>
<bytes>
    <byte>16</byte>
    <byte>28</byte>
    <byte>127</byte>
    ...
</bytes>

Если этот формат правильный, то байты сначала должны быть преобразованы в UTF-8 символов. Каждый из этих символов выделяет 8 байт. Несколько байтов, хранящихся в базе 10, hex, или двоичных символов? Насколько больше выглядит файл, когда он отправляется из-за данных XML и кодировки символов? Встроено ли сжатие в веб-службы?

xml   web-services    

505   5   23:21, 24th August, 2020


Можно ли вернуть объекты из WebService?

Вместо того чтобы возвращать обычную строку, есть ли способ вернуть классические объекты? Если нет, то каковы наилучшие практики? Вы переносите свой объект в xml и перестраиваете объект с другой стороны? Каковы другие возможности?

web-services    

472   11   15:21, 17th August, 2020


Возвращение DataTables в WCF/.NET

У меня есть сервис WCF, из которого я хочу вернуть DataTable. Я знаю, что это часто очень обсуждаемая тема, насколько возвращение DataTables является хорошей практикой. Давайте на минуту отложим это в сторону.

Когда я создаю DataTable с нуля, как показано ниже, нет никаких проблем вообще. Таблица создается, заполняется и возвращается клиенту, и все хорошо:

[DataContract]
public DataTable GetTbl()
{
    DataTable tbl = new DataTable("testTbl");
    for(int i=0;i<100;i++)
    {
        tbl.Columns.Add(i);
        tbl.Rows.Add(new string[]{"testValue"});
    }
    return tbl;
}

Однако, как только я выхожу и нажимаю на базу данных для создания таблицы, как показано ниже, я получаю CommunicationException "The underlying connection was closed: The connection was closed unexpectedly."

[DataContract]
public DataTable GetTbl()
{
    DataTable tbl = new DataTable("testTbl");
    //Populate table with SQL query

    return tbl;
}

Таблица заполняется правильно на стороне сервера. Он значительно меньше, чем тестовая таблица, которую я прокрутил и вернул, а запрос маленький и быстрый - здесь нет проблем с таймаутами или большой передачей данных. Используются те же самые точные функции и DataContracts/ServiceContracts/BehaviorContracts.

Почему способ заполнения таблицы имеет какое-либо отношение к успешному возвращению таблицы?

c#   .net   wcf   web-services   datatable    

544   8   13:59, 13th August, 2020


Каков ваш предпочтительный метод отправки сложных данных через веб-сервис?

Это 2008 год, и я все еще разрываюсь на этом. Поэтому я разрабатываю веб-метод, который нуждается в сложном типе, передаваемом в него и возвращаемом из него. Два варианта, с которыми я играю, это:

  1. Передача и возврат реальных бизнес-объектов с данными и поведением. Когда wsdl.exe запускается, он автоматически создает прокси-классы, которые содержат только часть данных, и они будут автоматически преобразованы в мои реальные бизнес-объекты и из них на стороне сервера. На стороне клиента они будут использовать только тупой тип прокси, и им придется сопоставлять их с некоторыми реальными бизнес-объектами, как они считают нужным. Большой недостаток здесь заключается в том, что если я "own" как серверная, так и клиентская сторона, и я хочу использовать один и тот же набор реальных бизнес-объектов, я могу столкнуться с определенными головными болями с конфликтами имен и т. д. (Поскольку реальные объекты и прокси называются одинаково.)

  2. Забудьте о попытке передать "real" бизнес-объектов. Вместо этого просто создайте простые объекты DataTransfer, которые я буду сопоставлять с моими реальными бизнес-объектами вручную. Они все равно копируются в новые прокси-объекты wsdl.exe, но по крайней мере я не обманываю себя, думая, что веб-сервисы могут изначально обрабатывать объекты с бизнес-логикой в них.

Кстати-кто-нибудь знает, как сказать wsdl.exe, чтобы не делать копию объекта? Разве мы не должны просто сказать ему: "Эй, используй этот существующий тип прямо здесь. Не копируйте его!"

Во всяком случае, пока я вроде как остановился на #2, но мне любопытно, что вы все думаете. У меня есть чувство, что есть гораздо лучшие способы сделать это в целом, и я даже не могу быть полностью точным по всем пунктам, поэтому, пожалуйста, дайте мне знать, что вы испытали.

Update: я только что узнал, что VS 2008 имеет возможность повторно использовать существующие типы при добавлении "ссылки на службу", а не создавать совершенно новый идентичный тип в файле прокси. Сладкий.

.net   web-services   soap   wsdl    

431   4   08:42, 18th August, 2020


Лучшая практика для веб-сервисов

Я создал веб-сервис, и когда я хочу использовать его методы, я создаю его экземпляр в процедуре a, вызываю метод, и я, наконец, избавляюсь от него, однако я думаю, что также можно было бы создать экземпляр веб-сервиса в событии "private void Main_Load(object sender, EventArgs e)".

Дело в том, что если я делаю это первым способом, я должен создавать экземпляр webservice каждый раз, когда мне нужен один из его методов, но в другом случае я должен постоянно поддерживать связь с веб-сервисом, когда я использую его в форме, например.

Я хотел бы знать, какие из этих методов лучше, или если есть гораздо лучший способ сделать это

Стратегия 1

private void btnRead_Click(object sender, EventArgs e)
{
    try
    {
        //Show clock
        this.picResult.Image = new Bitmap(pathWait);

        Application.DoEvents();

        //Connect to webservice
        svc = new ForPocketPC.ServiceForPocketPC();
        svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
        svc.AllowAutoRedirect = false;
        svc.UserAgent = Settings.UserAgent;
        svc.PreAuthenticate = true;
        svc.Url = Settings.Url;
        svc.Timeout = System.Threading.Timeout.Infinite;

        svc.CallMethod();
         ...
    }
    catch (Exception ex)
    {
        ShowError(ex);
    }
    finally
    {
        if (svc != null)
            svc.Dispose();
    }
}

Стратегия 2

private myWebservice svc;

private void Main_Load(object sender, EventArgs e)
{
    //Connect to webservice
    svc = new ForPocketPC.ServiceForPocketPC();
    svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
    svc.AllowAutoRedirect = false;
    svc.UserAgent = Settings.UserAgent;
    svc.PreAuthenticate = true;
    svc.Url = Settings.Url;
    svc.Timeout = System.Threading.Timeout.Infinite;
}

private void btnRead_Click(object sender, EventArgs e)
{
    try
    {
        //Show clock
        this.picResult.Image = new Bitmap(pathWait);

        Application.DoEvents();
        svc.CallMethod();
         ...
    }
    catch (Exception ex)
    {
        ShowError(ex);
    }
}

private void Main_Closing(object sender, CancelEventArgs e)
{
    svc.Dispose();
}

web-services    

415   2   19:47, 4th August, 2020


Лучшая практика для веб-сервисов

Я создал веб-сервис, и когда я хочу использовать его методы, я создаю его экземпляр в процедуре a, вызываю метод, и я, наконец, избавляюсь от него, однако я думаю, что также можно было бы создать экземпляр веб-сервиса в событии "private void Main_Load(object sender, EventArgs e)".

Дело в том, что если я делаю это первым способом, я должен создавать экземпляр webservice каждый раз, когда мне нужен один из его методов, но в другом случае я должен постоянно поддерживать связь с веб-сервисом, когда я использую его в форме, например.

Я хотел бы знать, какие из этих методов лучше, или если есть гораздо лучший способ сделать это

Стратегия 1

private void btnRead_Click(object sender, EventArgs e)
{
    try
    {
        //Show clock
        this.picResult.Image = new Bitmap(pathWait);

        Application.DoEvents();

        //Connect to webservice
        svc = new ForPocketPC.ServiceForPocketPC();
        svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
        svc.AllowAutoRedirect = false;
        svc.UserAgent = Settings.UserAgent;
        svc.PreAuthenticate = true;
        svc.Url = Settings.Url;
        svc.Timeout = System.Threading.Timeout.Infinite;

        svc.CallMethod();
         ...
    }
    catch (Exception ex)
    {
        ShowError(ex);
    }
    finally
    {
        if (svc != null)
            svc.Dispose();
    }
}

Стратегия 2

private myWebservice svc;

private void Main_Load(object sender, EventArgs e)
{
    //Connect to webservice
    svc = new ForPocketPC.ServiceForPocketPC();
    svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
    svc.AllowAutoRedirect = false;
    svc.UserAgent = Settings.UserAgent;
    svc.PreAuthenticate = true;
    svc.Url = Settings.Url;
    svc.Timeout = System.Threading.Timeout.Infinite;
}

private void btnRead_Click(object sender, EventArgs e)
{
    try
    {
        //Show clock
        this.picResult.Image = new Bitmap(pathWait);

        Application.DoEvents();
        svc.CallMethod();
         ...
    }
    catch (Exception ex)
    {
        ShowError(ex);
    }
}

private void Main_Closing(object sender, CancelEventArgs e)
{
    svc.Dispose();
}

web-services    

447   2   21:06, 1st October, 2020


Исключение soapexception: отсутствует корневой элемент возникает, когда веб-служба .NET называется от Flex

У меня есть веб-приложение .net, которое имеет приложение Flex, встроенное в страницу. Это приложение flex вызывает веб-сервис .net. Я могу trace процесс выполнения через отладчик и все выглядит отлично, пока я не получу ответ:




soap:ReceiverSystem.Web.Services.Protocols.SoapException: Server was unable to process request

. ---> System.Xml.XmlException: Root element is missing.

   at System.Xml.XmlTextReaderImpl.Throw(Exception e)

   at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)

   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()

   at System.Xml.XmlTextReaderImpl.Read()

   at System.Xml.XmlTextReader.Read()

   at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read()

   at System.Xml.XmlReader.MoveToContent()

   at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent()

   at System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement()

   at System.Web.Services.Protocols.Soap12ServerProtocolHelper.RouteRequest()

   at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message)

   at System.Web.Services.Protocols.SoapServerProtocol.Initialize()

   at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest

 request, HttpResponse response, Boolean& abortProcessing)

   --- End of inner exception stack trace ---

Вызов от flex выглядит хорошо, выполнение через веб-сервис хорошо, но это ответ, который я захватываю через wireshark, что здесь происходит?

Я попробовал несколько веб-методов, от "Hello World" до параматизированного methods...all возвращения с тем же ответом...

Я подумал, что это может иметь какое-то отношение к кодированию с помощью "---&gt",, но я не уверен, как управлять тем, что .net выводит в качестве ответа.

flex   web-services   soap    

729   3   21:47, 10th August, 2020


Большие, сложные объекты как результат работы веб-службы

Еще раз здравствуйте, дамы и господа!

OK, вслед за моим другим вопросом о результатах веб-службы ASP.NET, Прокси-классах и преобразовании типов . Я пришел к той части своего проекта, где мне нужно надеть свою мыслительную шапочку.

В принципе, у нас есть большой, сложный пользовательский объект, который должен быть возвращен из веб-службы и использован в клиентском приложении.

Теперь, основываясь на предыдущем обсуждении, мы знаем, что это будет затем принимать форму прокси-класса(классов) в качестве возвращаемого типа. Чтобы преодолеть это, нам нужно в основном скопировать свойства от одного к другому.

В данном случае, это то, что я бы очень, очень, очень хотел! хотелось бы избежать!

Так что, это заставило меня задуматься, как еще мы могли бы это сделать?

Мои текущие мысли заключаются в том, чтобы включить объект для полной сериализации в XML, а затем вернуть XML в виде строки из веб-службы. Затем мы десериализации на клиенте. Это будет означать изрядную часть украшения атрибутов, но, по крайней мере, код на обеих конечных точках будет легким, а именно, просто используя сериализатор .NET XML.

Что вы думаете по этому поводу?

c#   asp.net   xml   web-services   serialization    

467   4   10:42, 1st August, 2020


Я хотел бы получить несколько советов по отладке исключений веб-службы WCF

Я создал службу WCF, и когда я просматриваю конечную точку, я получаю следующую ошибку:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <s:Fault>
      <faultcode 
            xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">
            a:ActionNotSupported
      </faultcode> 
      <faultstring xml:lang="en-GB">
            The message with Action '' cannot be processed at the receiver,
            due to a ContractFilter mismatch at the EndpointDispatcher. 
            This may be because of either a contract mismatch (mismatched
            Actions between sender and receiver) or a binding/security
            mismatch between the sender and the receiver. Check that sender
            and receiver have the same contract and the same binding
            (including security requirements, e.g. Message, Transport, None).
      </faultstring> 
    </s:Fault>
  </s:Body>
</s:Envelope>

Я исправил проблему, но не получил удовольствия от опыта! Есть ли у кого-нибудь советы или инструменты для отладки подобных проблем?

.net   wcf   web-services    

526   1   16:13, 25th August, 2020


Шифрование в веб-сервисах C#

Я ищу простой способ зашифровать мое сообщение soap в моем веб-сервисе C#.

Я искал WSE 3.0 , но, похоже, Microsoft отказалась от его поддержки, и поэтому его не так просто использовать.
Похоже, что WCF мог бы быть вариантом, но я предпочитаю не обновляться с .NET 2.0 .

Какой-нибудь простой и понятный метод шифрования?

c#   web-services   security   encryption    

430   6   23:04, 25th August, 2020


Веб-сервис жив навсегда

Я часто использую веб-сервис таким образом

public void CallWebservice()

{

  mywebservice web = new mywebservice();

  web.call();

}

но иногда я делаю это

private mywebservice web;

public Constructor()
{

  web = new mywebservice();

}

public void CallWebservice()
{

  web.call();

}

Второй подход мне очень нравится, но иногда он тайм-аут, и мне пришлось снова запустить приложение, первый, я думаю, что он приносит накладные расходы, и это не очень эффективно, на самом деле, иногда первый вызов возвращает WebException - ConnectFailure (я не знаю, почему).

Я нашел статью (проблемы веб-сервиса (свет в конце туннеля?)) что превышает время ожидания превращения свойства KeepAlive в false в переопределенной функции GetWebRequest, вот код:

Protected Overrides Function GetWebRequest(ByVal uri As System.Uri) As System.Net.WebRequest

  Dim webRequest As Net.HttpWebRequest = CType(MyBase.GetWebRequest(uri), Net.HttpWebRequest)

  webRequest.KeepAlive = False

  Return webRequest

End Function

Вопрос в том, можно ли продлить навсегда время ожидания веб-сервиса и, наконец, как вы реализуете свои веб-сервисы для решения этой проблемы?

web-services    

419   1   10:52, 3rd August, 2020


Вызов веб-службы ASP.NET из ASP с помощью SOAPClient

У меня есть веб-сервис ASP.NET с такими функциями, как:

[WebService(Namespace = "http://internalservice.net/messageprocessing")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class ProvisioningService : WebService
{
    [WebMethod]
    public XmlDocument ProcessMessage(XmlDocument message)
    {
        // ... do stuff
    }
}

Я вызываю веб-службу из ASP, используя что-то вроде:

provWSDL = "http://servername:12011/MessageProcessor.asmx?wsdl"
Set service = CreateObject("MSSOAP.SoapClient30")
service.ClientProperty("ServerHTTPRequest") = True
Call service.MSSoapInit(provWSDL)

xmlMessage = "<request><task>....various xml</task></request>"
result = service.ProcessMessage(xmlMessage)

Проблема, с которой я сталкиваюсь, заключается в том, что когда XML достигает метода ProcessMessage, веб-служба plumbing попутно добавила пространство имен по умолчанию. т. е. если я установлю точку останова внутри ProcessMessage (сообщение XmlDocument), я увижу:

<request xmlns="http://internalservice.net/messageprocessing">
  <task>....various xml</task> 
</request>

Когда я захватываю пакеты по проводу, я вижу, что XML, отправленный инструментарием SOAP, немного отличается от того, что отправлено клиентом .NET WS. Набор инструментов SOAP отправляет:

<SOAP-ENV:Envelope 
    xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" 
    xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <ProcessMessage xmlns="http://internalservice.net/messageprocessing">
            <message xmlns:SOAPSDK4="http://internalservice.net/messageprocessing">
                <request>
                    <task>...stuff to do</task>
                </request>
            </message>
        </ProcessMessage>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Если клиент отправляет .NET:

<soap:Envelope 
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <ProcessMessage xmlns="http://internalservice.net/messageprocessing">
            <message>
                <request xmlns="">
                    <task>...stuff to do</task>
                </request>
            </message>
        </ProcessMessage>
    </soap:Body>
</soap:Envelope>

Прошло так много времени с тех пор, как я использовал инструментарий ASP/SOAP для вызова веб-сервисов .NET, что я не могу вспомнить все умные tricks/SOAP-fu, которые я использовал, чтобы обойти подобные вещи.

Есть какие-нибудь идеи? Одним из решений является создание вызываемого COM .NET прокси, который принимает XML как строковый парам и вызывает WS от моего имени, но это дополнительный уровень сложности/работы, которую я надеялся не делать.

.net   asp.net   web-services   soap   asp-classic    

529   3   06:36, 7th August, 2020


Автоматизированное Тестирование Веб-Сервисов

Я хотел бы сделать некоторое интеграционное тестирование веб-службы из NUnit или MBUnit. Я еще не углублялся в это слишком глубоко, но я почти уверен, что мне нужно будет раскрутить WebDev.WebServer.exe внутри "unit test", чтобы сделать это. (Я знаю, что это не совсем юнит-тест).

Да, я могу тестировать базовые объекты, которые использует веб-служба, самостоятельно (что я и делаю), но в этом случае мне интересно проверить, что прокси-серверы работают и обрабатываются должным образом и т. д.

Какой-нибудь совет?

web-services   unit-testing   integration-testing    

487   6   09:50, 19th August, 2020


"Бесшумная" печать в веб-приложении

Я работаю над веб-приложением, которое должно печатать молча, то есть без участия пользователя. Какой самый лучший способ достичь этого? Ему не нравится, что это можно сделать только с Javascript, ни Flash и / или AIR. Самое близкое, что я видел, включает в себя Java applet.

Я могу понять, почему это было бы плохой идеей для любого веб-сайта, чтобы иметь возможность сделать это. Этот конкретный экземпляр предназначен для внутреннего приложения,и он вполне приемлем, если пользователю необходимо добавить URL в список надежных сайтов, установить аддон и т. д.

web-services   printing    

596   11   08:01, 24th August, 2020


Amazon Веб-Службы

Веб-Amazon услуг реалистичной платформы для развития предпринимательства?

web-services   amazon-web-services   cloud    

453   8   00:48, 23rd August, 2020


Закрытие и утилизация обслуживание WCF

Метод Close на ICommunicationObject может выдавать два типа исключений, как MSDN описывает здесь . Я понимаю, почему метод Close может вызывать эти исключения, но я не понимаю, почему метод Dispose на прокси-сервере службы вызывает метод Close без try вокруг него. Разве ваш метод Dispose не является единственным местом, где вы хотите убедиться, что вы не создаете никаких исключений?

wcf   web-services    

457   2   23:47, 6th August, 2020


RESTful web services и HTTP глаголов

Каков минимальный набор глаголов HTTP, который сервер должен разрешить для веб-службы быть классифицирован как RESTful?

А что, если мой хозяин не разрешит PUT и DELETE ?

Действительно ли это важно, могу ли я жить долго и счастливо только с GET и POST ?


Обновление: Спасибо за ответы, ребята, ответ Роджера был, вероятно, лучшим из-за ссылки на интервью Билла Веннерса и Эллиота расти Гарольда. Теперь я все понимаю.


web-services   rest    

446   5   11:09, 18th August, 2020


Исключение InvalidOperationException при создании экземпляра веб-службы wcf

У меня есть веб-служба WCF, на которую ссылаются из библиотеки классов. После запуска проекта при создании объекта клиента службы из библиотеки классов я получаю сообщение InvalidOperationException with:

Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт 'MyServiceReference.IMyService' в клиенте ServiceModel раздел конфигурации. Это может быть связано с тем, что файл конфигурации не был найдено для вашего приложения, или потому что нет соответствия элементов конечной точки этот контракт можно найти в элементе клиент.

Код, который я использую для создания экземпляра::

myServiceClient = new MyServiceClient();

где MyServiceClient наследуется от

System.ServiceModel.ClientBase

Как мне решить эту проблему?

Примечание: у меня есть отдельное консольное приложение, которое просто создает один и тот же объект службы и вызывает его, и оно работает без каких-либо проблем.

.net   wcf   web-services    

513   4   09:01, 9th August, 2020


Есть ли способ иметь функциональность index.html с содержимым, размещенным на S3?

Есть ли способ сделать S3 по умолчанию для страницы index.html? E.g.: Список объектов my bucket:

/index.html
/favicon.ico
/images/logo.gif

Звонок на www.example.com/ index.html

amazon-s3   amazon-web-services    

473   7   20:07, 24th August, 2020


Отладка веб-службы с помощью пакета SOAP

У меня есть веб-служба, которую я создал в C#, и тестовый жгут, предоставленный моим клиентом. К сожалению, мой веб-сервис, похоже,не анализирует объекты, созданные тестовым жгутом. Я считаю, что проблема заключается в сериализации пакета soap.

Используя TCPTrace, я смог получить пакет soap, переданный веб-службе, но только на удаленной машине, поэтому я не могу отладить его там. Есть ли способ вызвать мой локальный веб-сервис с генерируемым пакетом soap, а не мой текущий тестовый жгут, где я вручную создаю объекты и вызываю веб-сервис через веб-ссылку?

машина, на которой я получил пакет soap, была на виртуальной машине, поэтому я не могу связать ее с моей машиной. Я полагаю, что ищу инструмент, в который можно вставить пакет soap, и он, в свою очередь, вызовет мой веб-сервис

c#   web-services   soap   tcptrace-pocketsoap    

410   4   05:00, 27th August, 2020


Как лучше всего использовать веб-сервисы в python?

У меня есть приложение среднего размера, которое работает как веб-сервис .net, который я не контролирую, и я хочу создать свободный pythonic API над ним, чтобы обеспечить легкий сценарий.

Я хотел узнать, что является лучшим / наиболее практичным решением для использования веб-сервисов в python.

Редактировать: Мне нужно потреблять комплекс soap WS и у меня нет никакого контроля над этим.

python   web-services   soap    

381   3   01:16, 23rd August, 2020


Как сделать кроссдомен звонки из Silverlight?

Что необходимо для успешного выполнения вызова crossdomain из Silverlight?

silverlight   web-services    

377   4   02:50, 20th August, 2020