在Windows窗体应用程序中,我需要调用SOAP Web服务(http://www.dat.de:80/GlassRep/services/Authentication?wsdl)。
对于这个WebService,我有一些提供样本的文档。
ConsoleApplication:
ConsoleApplication1.de.dat.www.VehicleSelection vi = new ConsoleApplication1.de.dat.www.VehicleSelection();
vi.CookieContainer = new System.Net.CookieContainer();
string sessionID = vi.doLogin("123456789",
"username1",
"akEwRUF3TUM45678Gd5U2NxdHdlKzBaQTF4QVBIT21DVXpRPQ==");
Console.WriteLine("sessionID = " + sessionID);
但是当我调用WebService时:
Dim authService As New WebServiceTest.Authentication
authService.doLogin(
方法doLogin需要一个参数WebServiceTest.doLoginRequest(),所有方法都是如此。
为什么方法doLogin没有参数3字符串但是有doLoginRequest()?
我需要改变什么或我做错了什么?
谢谢!
答案 0 :(得分:1)
doLogin
方法期望参数类型为doLoginRequest
。我没有测试这个,因为我没有授权访问他们的服务,也不知道它的作用。但这就是我需要做的事情。
Dim auth As New de.dat.www.Authentication()
Dim req As New de.dat.www.doLoginRequest()
req.customerNumber = "123456789"
req.customerLogin = "username1"
req.customerSignature = "akEwRUF3TUM45678Gd5U2NxdHdlKzBaQTF4QVBIT21DVXpRPQ=="
auth.doLogin(req)
我对提供给请求参数的值做了一些假设。您需要与文档或公司进行验证,以确保这些是正确的。我还没有提供interfacePartnerNumber
和interfacePartnerSignature
。
答案 1 :(得分:0)
这听起来像你打电话给doLogin()时你没有传递3个字符串的选项?这可能是一个有更多选项的重载方法吗?
我认为你没有足够的代码可供任何人帮助你尝试过。
看起来您需要首先声明网站以使authService正常工作。