Parse.com与WSDL进行通信

时间:2014-08-05 13:30:46

标签: wsdl parse-platform android-ksoap2

是否有可能致电" WSDL"云代码中的方法?

例如,有一个" WSDL" Web服务,我想检查其中是否有新数据,以及是否我想向用户发送推送通知。我得到了逻辑,但我找不到任何有关" WSDL"的信息。在parse.com文档中。

这没有帮助:

Parse.Cloud.httpRequest({
  url: 'https://services.rs.ge/WayBillService/WayBillService.asmx',
  params: {
    su : 'test1'
  },
  success: function(httpResponse) {
    console.log(httpResponse.text);
  },
  error: function(httpResponse) {
    console.error('Request failed with response code ' + httpResponse.status);
  }
});

1 个答案:

答案 0 :(得分:4)

当然,你现在可以先做一些事情。

WSDL只是服务的定义" Web服务描述语言"

你在这里谈论SOAP"简单对象访问协议"

如果您在浏览器中转到https://services.rs.ge/WayBillService/WayBillService.asmx,您将看到可供您使用的方法/ SOAPActions列表,如果单击它们,您将看到如何调用该方法的示例。

例如,get_server_time,https://services.rs.ge/WayBillService/WayBillService.asmx?op=get_server_time

如何调用get_server_time的示例:

Parse.Cloud.job('soap', function(request, status) {
    var Buffer = require('buffer').Buffer,
        buffer = new Buffer(
            '<?xml version="1.0" encoding="utf-8"?>' +
            '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">' +
            '   <soap12:Body>' +
            '       <get_server_time xmlns="http://tempuri.org/" />' +
            '   </soap12:Body>' +
            '</soap12:Envelope>'
        );

    Parse.Cloud.httpRequest({
        method: 'POST',
        url: 'https://services.rs.ge/WayBillService/WayBillService.asmx',
        headers: {
            'Content-Type': 'text/xml; charset=utf-8'
        },
        body: buffer,
        success: function(httpResponse) {
            status.success(httpResponse.text);
        },
        error: function(httpResponse) {
            status.error('Request failed with response code ' + httpResponse.status);
        }
    });
});