Вызов определенного метода внутри веб-службы WSDL (SOAP) с использованием Ionic v3 / v4 - PullRequest
0 голосов
/ 07 мая 2019

У меня есть URL-адрес веб-службы WSDL, и этот URL-адрес содержит несколько функций, которые я должен вызывать для получения ответа в Ionic v3 / v4.Как я могу вызвать эти функции?

В настоящее время мне удалось только извлечь всю дату XML в мое приложение, используя этот код:


import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import xml2js from 'xml2js';


@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {

  headers: any;
  xmlItems: any;

  constructor(private http: HttpClient) { 

  }

  checkAPI()
  {

    this.http.get('https://MyWebService/svc/AllServices.svc?wsdl', { responseType: 'text'}).subscribe(data => {
    this.xmlItems = data;
    console.log("data:"+data);
    xml2js.parseString(this.xmlItems, function (err, result) {
        console.log(result);
    });
      }, error => {
        console.log(error);
    });
}
}

Внутри этой веб-службы WSDL у меня есть несколько функций, например(GetAllVehicles), но я не знаю, как получить данные.

1 Ответ

0 голосов
/ 23 мая 2019

Попробуйте что-то вроде:

return this.httpClient.get<any[]>(
  url,
  {
    headers : new HttpHeaders(
      {
        'Content-Type': 'text/xml;charset=UTF-8',
        'SOAPAction': ''
      }
    )
      ,Accept: 'text/xml;charset=utf-8'
      ,responseType: 'text'
  });

Попробуйте вызвать SOAP API с помощью SOAPUI или Postman, чтобы убедиться, что заголовки, которые вы должны передать, чтобы запустить вызов SOAP.

...