2014-04-18 37 views
0

在Windows窗体应用程序中,我需要调用SOAP Web服务(http://www.dat.de:80/GlassRep/services/Authentication?wsdl)。我需要将什么参数传递到此SOAP服务

对于此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()?

我需要改变什么或者我做错了什么?

谢谢!

回答

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) 

我对提供给请求参数的值做了一些假设。您需要与文档或公司进行核实,以确保这些信息是正确的。还有interfacePartnerNumberinterfacePartnerSignature,这里我没有提供。

0

听起来像当你调用doLogin()时,你没有选项传递3个字符串?这可能是一个有更多选择的重载方法吗?

我不认为你有足够的代码在这里任何人都可以帮助你尝试过。

它看起来像你需要首先声明一个网站authService工作。

+0

我包含在MyProject中的WebService: 项目 - >输入服务引用 - >扩展 - >添加WebReference和此方法没有重载的方法... – wertyk

+0

我不明白这是如何可能,但我不认为任何人都可以帮助?我可能是错的,但这更多的是一个发展问题。 他们给了你一个方法,告诉你如何做一个例子,并且这个例子不起作用。 – DidIReallyWriteThat

+0

我可以问他们,但我认为我做错了什么... – wertyk

相关问题