0

Google Apps Scripts を使用して SOAP サービス呼び出しを呼び出そうとしています。また、応答を取得する方法をいろいろ試してみました。ただし、エラーが発生し続けます。別のサービスを介して機能することがわかっているスプレッドシートに保存されているメッセージの正確なコピーを送信しようとしましたが、それでもうまくいきません。Apps スクリプト コードは次のとおりです。

function getVesselSummaryXMLStringFromName() {
  var wsdl = SoapService.wsdl("http://cgmix.uscg.mil/xml/PSIXData.asmx?WSDL");
  Logger.log(wsdl.getServiceNames());

  var uscgService = wsdl.getPSIXData();

  var sheet = SpreadsheetApp.getActiveSheet();

  //Get working SOAP message
  var envelope = sheet.getRange("D1:D1").getValues();

  Logger.log(envelope);

    var result = uscgService.getenvelope;
    Logger.log(result);
  }

http://www.soapclient.com/soapclientを介して機能する私が送信している SOAP メッセージは次のとおりです。

<?xml version="1.0" encoding="UTF-8" standalone="no"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://cgmix.uscg.mil" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ><SOAP-ENV:Body><tns:getVesselSummaryXMLString xmlns:tns="http://cgmix.uscg.mil"><tns:VesselID></tns:VesselID><tns:VesselID></tns:VesselID><tns:VesselName>Atlantic Salvor</tns:VesselName><tns:VesselName></tns:VesselName><tns:CallSign></tns:CallSign><tns:CallSign></tns:CallSign><tns:VIN></tns:VIN><tns:VIN></tns:VIN><tns:HullNum></tns:HullNum><tns:HullNum></tns:HullNum><tns:Flag></tns:Flag><tns:Flag></tns:Flag><tns:Service></tns:Service><tns:Service></tns:Service><tns:BuildYear></tns:BuildYear><tns:BuildYear></tns:BuildYear></tns:getVesselSummaryXMLString></SOAP-ENV:Body></SOAP-ENV:Envelope>
4

1 に答える 1

1

次のコードは答えを返すので、あなたが助けることができるかもしれません.

...
var url = 'http://cgmix.uscg.mil/xml/PSIXData.asmx?WSDL';
var wsdl = SoapService.wsdl(url);
var servicePSIXData = wsdl.getPSIXData();
var params = Xml.element('getVesselSummaryXMLString', [
    Xml.attribute('xmlns', 'http://cgmix.uscg.mil'),
    Xml.element('VesselID', ['']),
    Xml.element('VesselName', ['Atlantic Salvor']),
    Xml.element('CallSign', ['']),
    Xml.element('VIN', ['']),
    Xml.element('HullNum', ['']),
    Xml.element('Flag', ['']),
    Xml.element('Service', ['']),
    Xml.element('BuildYear', [''])
]);
var result = servicePSIXData.getVesselSummaryXMLString(params);
Logger.log(result.toXmlString());
...

アップデート

Xml サービスSOAP サービスはどちらも非推奨と見なされます。

于 2013-08-12T16:35:20.287 に答える