1.首先

  • 我想将 SOAP 通信服务从用 Java/Axsis2 实现的遗留系统迁移到 C#
  • 我想将 SOAP 通信服务发布到 IIS 并使用 Soap UI 检查客户端的操作
  • 使用 .NET Framework 中包含的 ASP.NET asmx 提高开发效率
  • .NETX 不包含 SOAP 通信工具

二、开发环境

  • Visual Studio 2022
  • .NET 框架 4.8
  • IIS 8
  • 肥皂用户界面 5.7

3. 创建一个 ASP.NET 项目

3.1. 在 Visual Studio 中新建项目

  • 选择“ASP.NET Web 应用程序(.NET 框架)”

  • 如果未安装 ASP.NET 服务,请将其与 Visual Struio 安装程序分开安装
    Webサービス(SOAP)を開発してIISへ公開する

  • 框架选择“.NET Framework 4.8”
    Webサービス(SOAP)を開発してIISへ公開する

3.2. 添加ASMX文件

  • 添加新项目并添加“Web Service (ASMX)”
    Webサービス(SOAP)を開発してIISへ公開する

  • 该示例描述了“HelloWorld”服务
    Webサービス(SOAP)を開発してIISへ公開する

3.3. 启动示例服务

  • 单击“运行”按钮启动 Web 浏览器
    Webサービス(SOAP)を開発してIISへ公開する

  • 单击屏幕顶部的“HelloWorld”链接,查看如何调用 SOAP
    Webサービス(SOAP)を開発してIISへ公開するWebサービス(SOAP)を開発してIISへ公開する

  • 单击屏幕顶部的“开始按钮”时,会显示 SOAP 调用结果。
    Webサービス(SOAP)を開発してIISへ公開する

4.修改SOAP通信服务参数

  • 添加可以使用 SOPA 发送和接收参数的搜索服务
WebService1.asmx.cs(摘录)
        [WebMethod]
        public ParameterDto Search(ParameterDto inParameter)
        {
            var outParameter = new ParameterDto
            {
                id = inParameter.id,
                outputDto = new OutputDto
                {
                    output1 = inParameter.outputDto.output1,
                    output2 = inParameter.outputDto.output2
                }
            };
            return outParameter;
        }

  • 为参数添加自定义 DTO 类
ParameterDto.cs
namespace WebApplication1
{
    public sealed class ParameterDto
    {
        public int id { get; set; }
        public OutputDto outputDto { get; set; }
    }
}
  • 在参数中添加嵌套的自定义 DTO 类
输出Dto.cs
namespace WebApplication1
{
    public sealed class OutputDto
    {
        public string output1 { get; set; }
        public string output2 { get; set; }
    }
}

5. 使用 Soap UI 进行操作检查

5.1. 下载 Soap UI

5.2. 安装 Soap UI

  • 运行下载的安装文件

5.3. 创建一个新的 SOAP 项目

  • 单击文件 > 新建 SOAP 项目
    Webサービス(SOAP)を開発してIISへ公開する

  • 输入“项目名称(任意)”和“初始 WSDL”,然后单击确定按钮。
    Webサービス(SOAP)を開発してIISへ公開する

WSDL 是https://localhost:44308/指定 [ASMX 文件名] ?WSDL"

  • 发出 SOAP 调用请求
    Webサービス(SOAP)を開発してIISへ公開する

5.4. 运行 SOAP 项目

  • 输入 SOAP 项目的请求值
    Webサービス(SOAP)を開発してIISへ公開する

  • 点击屏幕左上角的执行图标,返回屏幕右侧的Response
    Webサービス(SOAP)を開発してIISへ公開する

5.5. 发生运行时错误时

  • 如果您收到以下错误,您可以通过打开/关闭代理来解决它。
    org.apache.xmlbeans.XmlException:org.apache.xmlbeans.XmlException:错误:实体“副本”被引用,但未声明
    Webサービス(SOAP)を開発してIISへ公開するWebサービス(SOAP)を開発してIISへ公開する

6.发布服务到IIS服务器

6.1.修改ASMX文件

  • 将命名空间更改为固定 URL
    Webサービス(SOAP)を開発してIISへ公開する

6.2. 发布服务(本地端)

  • 右键单击类视图中的服务,然后单击发布
    Webサービス(SOAP)を開発してIISへ公開する

  • 这次选择一个文件夹,在本地创建一个文件,然后手动上传到服务器。
    Webサービス(SOAP)を開発してIISへ公開する

  • 指定任何输出目的地
    Webサービス(SOAP)を開発してIISへ公開する

  • 点击“发布”按钮
    Webサービス(SOAP)を開発してIISへ公開する

  • 公共服务就地输出
    Webサービス(SOAP)を開発してIISへ公開する

6.3. 发布服务(服务器端)

  • 安装 IIS 所需的平台(可选)
    Webサービス(SOAP)を開発してIISへ公開する

  • 我能够通过将本地包文件复制到 IIS 服务器来发布

7. 源代码

8. 参考文献


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308626758.html

相关文章: