webpack - luo SOAP-asiakas TypeScriptillä WSDL:stä


Käytän tätä kirjastoa https://www.npmjs.com/package/soap luodakseni asiakkaan wsdl:stä ja tarkemmin sanottuna riviä soap.createclient(url).

Ongelma siinä on, että URL-osoitteen on vastattava web-palvelimen toimittamaa WSDL-tiedostoa, minun tapauksessani en voi tehdä sitä.

Joten halusin ladata WSDL-tiedoston, tallentaa sen projektiini ja antaa sen createclient-metodille joko antamalla koko sisällön merkkijonoparametrina tai antamalla ladatun tiedoston polun (käytän webpackia tiedoksi), mutta mikään näistä vaihtoehdoista ei toimi, mikä vaikuttaa oudolta, sillä dokumentaatiossa on kirjoitettu, että createclient-metodi näyttää tukevan paikallista tiedostopolkuja.

Kiitos etukäteen avustasi

Vastaus #1

Oletan, että tämä on suunnilleen sinun kansiorakenteesi ja että ajat sovellusta juurihakemistosta:

/dist
  |- app.js
/src
  |- app.ts
  |- soap.wsdl

Siinä tapauksessa .wsdl-tiedoston URL-osoitteen tulee olla './src/soap.wsdl' toimiakseen, ja sinun täytyy toimittaa src-kansio yhdessä dist-kansion kanssa.

Jos lähetät vain dist-kansion, sinun täytyy sisällyttää .wsdl-tiedosto dist-kansioon ja määrittää url './dist/soap.wsdl'. Jos poistat dist-kansion jokaisessa koontivaiheessa, sinun täytyy varmistaa, että .wsdl-tiedosto kopioidaan sinne koonnin aikana.

Toinen vaihtoehto on lisätä juureen assets-kansio, laittaa .wsdl-tiedosto sinne, osoittaa siihen käyttämällä './assets/soap.wsdl' ja toimittaa assets-kansio dist-kansion kanssa.