如何使桌面项目自动生成的 WSDL 类似于 Web 服务生成的另一个 WSDL?

问题描述 投票:0回答:1

这是我在这里潜伏多年以来第一次作为海报。我还将借此机会感谢所有社区多年来一直以来的帮助。谢谢!

这也是我第一次使用与 SOAP 相关的任何东西,所以很抱歉,如果有任何不精确之处,我理解有误,或者我想做一些不可能或那样做的事情。

我需要从客户端的 WSDL 模仿 WSDL,这样我就可以使用他们的服务,他们也可以使用我的服务,并且我们可以通过函数交换数据/通信。他们的服务是由 Web 项目(URL 以 .asmx?WSDL 结尾)生成的,而我的服务应该由桌面项目(URL 以 ?wsdl、WCF 项目结尾)生成,因此我可以将其作为 Visual Basic 中的中间件与其他技术集成.NET(使用 WinForms),作为 Web 项目的最后手段。

例如,我的请求是这样的。

My petition

它们应该看起来像这样:

Client's petition

(使用SoapUI)

如果需要,我可以提供更多信息,例如桌面应用程序的代码或 App.config 或客户端提供的 WSDL。

提前感谢大家!

我已经尝试过更改服务合同和.config,将它们更改为类似于客户端的(我们已经提供了它们),尝试使用代码生成工具,例如 svcutils.exe 或 wsdl.exe...但是好像不是这个办法。

vb.net wcf soap wsdl asmx
1个回答
0
投票

您在评论中写道,您需要访问这两个数据库。

我认为没有必要保证 WSDL 的一致性。您可以编写WCF服务器程序并使用sqlcommand来访问数据。

服务1.svc

Public Class Service1
    Implements IService1

    Public Sub New()
    End Sub
Public Function DataBase(ByVal connectstring As String,ByVal command As String) As Void Implements IService1.DataBase
Dim connection As New SqlConnection(connectstring)
Dim command As New SqlCommand(command, connection)

Try
    connection.Open()
    ' Manipulate the database
Finally
    connection.Close()
End Try
End Function
End Class

IService1.vb

Public Interface IService1

    <OperationContract()>
   Function DataBase(ByVal connectstring As String,ByVal command As String) As Void Implements IService1.DataBase

   

End Interface
© www.soinside.com 2019 - 2024. All rights reserved.