sozmentese Ответов: 1

Подключение специальных базовых мыло webservise с моего рабочего стола используется CSharp проекта


я не могу подключиться к webservice - я пробовал каждый образец и видео, но :(
мне нужен один простой пример о том,
веб-сервис akakceOrderServices[^]
пожалуйста помогите



POST /akakcem/online-store/siparis-yonetimi/api/orderServices.asmx HTTP/1.1
Host: www.akakce.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://orderservices.akakce.com/getOrders"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <Authentication xmlns="http://orderservices.akakce.com/">
      <username>string</username>
      <password>string</password>
    </Authentication>
  </soap:Header>
  <soap:Body>
    <getOrders xmlns="http://orderservices.akakce.com/">
      <listType>LIST_TODO or LIST_ALL or LIST_NEW or LIST_CANCELLED or LIST_WAITING_FOR_SHIPMENT or LIST_COMPLETED</listType>
      <startDate>dateTime</startDate>
      <endDate>dateTime</endDate>
    </getOrders>
  </soap:Body>
</soap:Envelope>


Что я уже пробовал:

Akakce.getOrdersRequest _client2 = new Akakce.getOrdersRequest();
            AkakceXml.Akakce.Authentication _client = new AkakceXml.Akakce.Authentication();
            _client.username = "username";
            _client.password = "password";
            Akakce.getOrdersRequest result = new Akakce.getOrdersRequest(_client, Akakce.orderListFilter.LIST_COMPLETED, Convert.ToDateTime("2019-01-01"), Convert.ToDateTime("2019-06-06"));
            rText1.Text = "serviceStatus : " + result..ToString() + "\n\r";
            rText1.Text += "errDescription : " + result.errDescription.ToString() + "\n\r";

            var Kullanicilar = result.orders.ToList();
            var Tumbilgiler = from Kullanici in Kullanicilar
                              select Kullanici;
            foreach (var Fatura in Tumbilgiler)
            {
                MessageBox.Show(Fatura.customerInfo.customerName.ToString());
                rText1.Text += "orders : " + Fatura.orderID.ToString();
                rText1.Text += "İsim Soyisim : " + Fatura.customerInfo.deliverToName + Fatura.customerInfo.deliverToSurname;
            }
            dataGridView1.DataSource = result.orders.ToList();

Gerry Schmitz

Вы не показываете никакого "кода веб-служб"; работает он или нет.

Здесь никто не может вам помочь.

sozmentese

это моя проблема. мне нужна простая процедура выборки , я не могу пройти уровень 1

Только простая процедура
когда пользователь нажимает на кнопку button1
веб-сервис goto
поздняя безопасности
принесите мне getOrders.customerinfo или что-то еще

1 Ответов

Рейтинг:
11

DerekT-P

Следующее, кажется, работает для меня (конечно, я получаю ошибку аутентификации, так как не знаю учетных данных), но ожидаемые структуры возвращаются...

AkakceXml.Akakce.Authentication _client = new AkakceXml.Akakce.Authentication();
_client.username = "username";
_client.password = "password";
AkakceXml.akakce.akakceOrderServicesSoapClient() ak = new AkakceXml.akakce.akakceOrderServicesSoapClient();
AkakceXml.akakce.orderReport result = ak.getOrders(_client, AkakceXml.akakce.orderListFilter.LIST_COMPLETED, Convert.ToDateTime("2019-01-01"), Convert.ToDateTime("2019-06-06"));
rText1.Text = "serviceStatus : " + result.ToString() + "\n\r";
rText1.Text += "errDescription : " + result.errDescription + "\n\r";

var Kullanicilar = result.orders.ToList();
.
.
.
Кстати, тебе это не нужно. ToString() вызовы метода на errDescription, customerName и orderID поскольку эти свойства в любом случае определяются как строки. Также удалить двойные .. от result..ToString()


sozmentese

Огромное спасибо. Я вам очень благодарен