我在Python中使用了一些代码来调用SOAP Web服务。我想在C#中编写等效的代码。我是Python的新手,因此无法在c#中找到等效的类。我尝试通过创建代理和其他一些方式,但没有工作。请帮忙。
import suds
from suds.client import Client
from suds.wsse import *
def main():
url = 'https://webservices.cp.com/webservices/cphargepoint/services/4.1'
wsdl = 'https://webservices.cp.com/api.wsdl'
# API user and password
api_user = 'yrewte44'
api_pass = 'eg430'
# create client and add security tokens in the soap header
client = Client(url=wsdl, location=url)
security = Security()
token = UsernameToken(api_user, api_pass)
security.tokens.append(token)
client.set_options(wsse=security)
try:
# un-comment the print statement below to see the list of all published
# CP service SOAP methods.
# print client
# getPublicStations() service method accepts a type of 'stationSearchRequest'
searchQuery = client.factory.create('stationSearchRequest')
# add properties/filter options
searchQuery.Proximity = 10
searchQuery.proximityUnit = 'M'
# create goeData, provide starting point co-ordinates
geoData = client.factory.create('geoData')
geoData.Lat = 37.425758
geoData.Long = -122.097807
searchQuery.Geo = geoData
# here is the actual call to the service
response = client.service.getPublicStations(searchQuery)
# do whatever with the data
# print response
except suds.WebFault as detail:
print detail
if __name__=="__main__":
main()
答案 0 :(得分:0)
您可以通过Visual Studio轻松添加Web服务(soap)作为对C#项目的引用。有一篇关于此的好文章: http://a1ashiish-csharp.blogspot.com/2012/01/cnet-how-to-consume-web-service-in-cnet.html
完成此操作后,您可以使用添加的Web服务的对象和方法。