使用jquery soap从wsdl文件调用服务

时间:2015-12-17 19:15:25

标签: javascript jquery soap wsdl

我从siebel团队获得了一个WSDL文件。我需要从Jquery $ .soap调用中调用此服务并解析该值。

WSDL文件内容类似于



<?xml version="1.0" encoding="UTF-8" ?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsdLocal1="http://www.siebel.com/xml/GetAccountInfoReqData" targetNamespace="http://siebel.com/CustomUI" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsdLocal2="http://www.siebel.com/xml/GetAccountInfoReplyData" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://siebel.com/CustomUI">
      <types>
        <xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xsdLocal1="http://www.siebel.com/xml/GetAccountInfoReqData" targetNamespace="http://www.siebel.com/xml/GetAccountInfoReqData" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <xsd:annotation>
            <xsd:documentation>Copyright (C) 2001-2004 Siebel Systems, Inc. All rights reserved. Siebel XSD Generation</xsd:documentation>
&#13;
&#13;
&#13;

我用这种方式尝试使用Jquery soap api ..在提交soap服务之后,我得到了与我提交的相同的wsdl文件内容。

&#13;
&#13;
$.soap({
     url: 'http://localhost/soap/soapservices.wsdl?',
     method: '',
     success: function(soapResponse) {},
     error: function(SOAPResponse) {}
   });
&#13;
&#13;
&#13;

这是正确的方法还是请提出一些建议,开始我的工作。

2 个答案:

答案 0 :(得分:0)

您可以使用服务器端代码来调用Web服务方法。

<强>步骤

  • 向您的控制器/服务器端方法发送AJAX请求,传递参数
  • 从服务器代码调用Web服务方法并以JSON格式返回结果
  • 在jQuery中解析JSON

答案 1 :(得分:0)

WSDL不是服务调用的端点 - 它描述了服务(它们在哪里以及它们期望什么)。在wsdl的内容中,应该有一个或多个service标记,如下所示:

<service name="GetAccountInfoService">
    <port name="GetAccountInfoPort" binding="tns:GetAccountInfoBinding">
       <soap:address location="http://example.com/accountinfo"/>
    </port>
</service>

在此代码段中,您会看到要调用的服务的地址实际为http://example.com/accountinfo。其他部分(portbinding)描述了端点接受/返回的内容以及它希望您与之通信的方式。