找到要连接到给定wsdl的网址

时间:2015-07-24 20:23:32

标签: python web-services soap wsdl

我对SOAP不太满意,而且我尝试连接到Web服务。我有以下wsdl。我正在使用suds python SOAP库。我应该使用哪个网址?有办法告诉吗?

我尝试过使用suds客户端

from suds.client import Client
url = "http://tko.fni.com/application/request.xsd"
client = Client(url)

我已尝试使用以下所有tko.fni.com端点进行上述操作,但我可能会遗漏某些内容。这甚至是正确的方法吗?我需要打开与客户端的会话,然后我可以使用XML正文向该客户端发送请求吗?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://tko.fni.com/application.wsdl" 
    xmlns:request="http://tko.fni.com/application/request.xsd" 
    xmlns:response="http://tko.fni.com/application/response.xsd"
    xmlns:transaction="http://tko.fni.com/application/transaction.xsd"
    targetNamespace="http://tko.fni.com/application.wsdl">
    <wsdl:types>
        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
            <xs:import namespace="http://tko.fni.com/application/request.xsd" schemaLocation="application_request.xsd"/>
            <xs:import namespace="http://tko.fni.com/application/response.xsd" schemaLocation="application_response.xsd"/>
            <xs:import namespace="http://tko.fni.com/application/transaction.xsd" schemaLocation="transaction_control.xsd"/>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="submitApplicationRequestMsg">
        <wsdl:part element="request:REQUEST" name="applicationData"/>
    </wsdl:message>
    <wsdl:message name="submitApplicationResponseMsg">
        <wsdl:part element="response:ApplicationResponse" name="applicationResponse"/>
    </wsdl:message>
    <wsdl:portType name="ApplicationPortType">
        <wsdl:operation name="submitApplication">
            <wsdl:input message="tns:submitApplicationRequestMsg"/>
            <wsdl:output message="tns:submitApplicationResponseMsg"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="ApplicationSoapBinding" type="tns:ApplicationPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="submitApplication">
            <soap:operation soapAction="http://tko.fni.com/application/submitApplication"/>
            <wsdl:input><soap:body use="literal"/></wsdl:input>
            <wsdl:output><soap:body use="literal"/></wsdl:output>
        </wsdl:operation>
    </wsdl:binding> 
    <wsdl:service name="ApplicationService">
        <wsdl:port binding="tns:ApplicationSoapBinding" name="ApplicationPort">
            <soap:address location="http://localhost:80/ApplicationService/services/ApplicationPort"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

1 个答案:

答案 0 :(得分:0)

url应该是WSDL本身的地址(documentation

WSDL文件用于描述Web服务的接口,这就是使用它来创建客户端的原因。