-1

您能说出 WSDL 使用的是哪种数据库吗?问的原因是第 3 方只给了我一个 url,并没有告诉我有关数据库的任何信息。我要求他们给我文件解释一下,但他们从来没有这样做过。

我是这个领域的新手,经过一些研究,但我不确定是什么数据库(oracle?sql?xml?)

<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions name="AccountService" targetNamespace="http:// local host/web/" xmlns:ns1="http://client.local host/web//" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://local host/web/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<wsdl:types>
    <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://local host/web/" xmlns:tns="local host/web/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:complexType name="ArrayOfAccount">
<xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="0" name="Account" nillable="true"     type="tns:Account"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="Account">
<xsd:sequence>
<xsd:element minOccurs="0" name="currentbalance" nillable="true" type="xsd:decimal"/>
</xsd:sequence>
</xsd:complexType>

第二个问题是,我可以使用 .asp 直接从数据库中调出元素吗?

最后一个问题是,WSDL 只是告诉服务器生成结果的一组策略(规则)吗?

4

4 回答 4

1

不,仅从 Web 服务的 WSDL 确定 Web 服务的内部实现是不可能的。

于 2013-06-07T13:06:30.713 回答
1

对于您的问题:

  1. 您无法从 WSDL 中分辨出什么样的数据库,甚至任何关于 Web 服务后端的信息。它特别是一个描述性文档,显示了可用的方法类型。它可以是基于 Java 的 Web 服务、.Net 或其他任何东西,并指向 Web 服务开发人员决定使用的任何数据库。拥有服务模型的意义在于,客户端实际上并不需要了解它所使用的服务的内部工作原理,只需要知道您可以调用哪些函数,以及它接受什么类型的数据,这正是 WSDL 提供的.

  2. 如果您正在托管 Web 服务,那么您将拥有设置连接字符串的数据库和说明。在这种情况下,您的 ASP 应用程序“可以”连接到数据库,但它不应该,因为它会破坏首先拥有服务的目的。最好更新服务以包含您需要的任何功能。不过,从您的请求来看,您似乎无法控制 Web 服务,因此您将无法直接连接到数据库。如果数据库与您的服务在同一网络上,并且没有阻止数据库连接的防火墙策略,则理论上您可以连接到服务使用的数据库。但是,再一次,这会破坏提供服务的目的。

  3. WSDL 只是一个描述服务可以做什么的 XML 文件。它实际上并没有做任何工作。当您使用 WebClient 或 HttpClient 向传递所需信息的 URL 发出 Http 请求时,就会处理这项工作。因此,WSDL 可能以 XML 形式显示:

方法网址:

http://someURL/UpdateAccounts

接受参数:账户

然后在您的服务中,您将编写代码以发布请求

http://someURL/UpdateAccounts 

传入的 Account 转换为 XML。

于 2013-06-07T13:13:25.637 回答
0

WSDL 是描述 Web 服务的文档,列出了所有 Web 方法及其参数。它可以帮助您构建一个可以使用 Web 服务的客户端。它描述了如何与 Web 服务进行通信。Web 服务本身可以以任何创建者想要的方式实现,无论是否有数据库。他们根本没有关系。

于 2013-06-07T13:07:20.200 回答
0

WSDL 只描述接口,就像函数定义一样。不是关于服务的内部信息。所以不,你不能说。

于 2013-06-07T13:07:42.930 回答