Python 通过xml文件向webservice发送请求?

Python 通过xml文件向webservice发送请求?,python,xml,web-services,Python,Xml,Web Services,我有一个运行在tcs-webdev2:8200/scheduler/requestgroup的webservice,可以使用下面的xml文件示例xml文件将新的构建请求发送到它。我需要一些指导 关于如何通过xml文件向webserive发出请求 示例xml文件:- <BuildInfo> <BuildSource>DEV_CI</BuildSource> <SoftwareProductBuild>MAAAAANLGD000021

我有一个运行在tcs-webdev2:8200/scheduler/requestgroup的webservice,可以使用下面的xml文件示例xml文件将新的构建请求发送到它。我需要一些指导 关于如何通过xml文件向webserive发出请求

示例xml文件:-

<BuildInfo>
    <BuildSource>DEV_CI</BuildSource> 
    <SoftwareProductBuild>MAAAAANLGD0000211.1_101</SoftwareProductBuild>
    <PriorrootBuild>MAAAAANLGD0000211.1</PriorrootBuild>
    <NewSIBuilds>
        <Image>
            <Type>LNX</Type>
            <SoftwareImageBuild>buildlocation</SoftwareImageBuild>
            <Location>\\\sever\buildlocation\checkout</Location>
            <Variant>Default</Variant>
            <LoadType>Debug</LoadType>
        </Image>
    </NewSIBuilds>
</BuildInfo>

这取决于您的web服务,以及您需要发送请求的确切方式,但您必须执行以下操作:

import httplib

with open("your_xml_filename.xml") as f:
    body = f.read()
headers = {"Content-type": "application/xml"}
conn = httplib.HTTPConnection("tcs-webdev2", 8200)
conn.request("POST", "/scheduler/requestgroup", body, headers)
response = conn.getresponse()
print( response.status )
print( response.read())
conn.close()

它假定tcs-webdev2是有效的主机名。如果不是,您可以使用IP地址。此外,此请求是HTTP POST,您的服务可能需要不同的请求类型。另外,可能还需要一些附加的头文件和身份验证。

tcs-webdev2是一个有效的主机名,但我遇到以下错误,如何调试?我还可以尝试什么?错误请求错误请求-无效URLHTTP错误400。请求URL无效。

您应该了解您的Web服务需要什么。无效url表示/scheduler/requestgroup不好。您可以试试/scheduler/requestgroup.xml。但实际上取决于Web服务,请查找有关它的更多详细信息。在浏览器中输入tcs-webdev2:8200/scheduler/requestgroup时会发生什么情况?在浏览器中输入时。请求的资源不支持http方法“GET”。请将URL更改为/scheduler/requestgroups。您似乎有一个资源API REST,在创建资源时通常使用复数。