VS2019中WebService实现发布、调用以及问题汇总

news2024/11/22 9:28:15

VS2019中WebService实现发布、调用以及问题汇总

  • 前言
  • 一、WebService是什么,意义有哪些?
  • 二、创建
  • 二.发布
  • 三.访问
  • 问题总结
    • 1.不是专用连接
    • 2.HTTP错误 403.14 - Forbidden
    • 3.HTTP 错误 404.3 - Not Found
    • 4.应用程序种服务器错误


前言

在对接工厂Mes的过程中,发现webService比较有趣,再次做下学习记录,并汇总遇见的问题以及解决方案。


一、WebService是什么,意义有哪些?

Web Service是一种基于Web的技术,用于实现不同应用程序之间的通信和数据交换。它通过使用标准的Internet协议(如HTTP,SOAP,XML等)来实现应用程序之间的集成。Web Service允许不同平台、不同编程语言和不同技术的应用程序之间进行互操作,使得它们能够相互调用和交换数据。

使用Web Service的意义在于以下几点:

  1. 跨平台互操作性:Web Service使得不同平台(如Windows、Linux、macOS等)、不同操作系统和不同设备之间的应用程序能够互相通信。这种跨平台的互操作性使得应用程序的开发更加灵活,可以选择更适合自己需求的技术和平台。

  2. 松耦合架构:通过使用Web Service,应用程序之间可以实现松耦合的架构。每个应用程序可以作为独立的服务提供特定的功能,其他应用程序可以通过调用这些服务来获取所需的功能,而不需要了解服务的内部实现细节。

  3. 分布式系统集成:Web Service使得分布式系统之间的集成变得更加容易。不同的应用程序可以在不同的服务器上运行,它们可以通过WebService来进行通信和数据交换,从而形成一个统一的分布式系统。

  4. 标准化协议:WebService使用标准的Internet协议来进行通信,如HTTP和SOAP。这些协议被广泛支持,并且可以在多种平台和编程语言中使用,确保了通信的稳定和可靠性。

  5. 面向服务的架构(SOA):WebService是实现面向服务的架构的一种重要手段。面向服务的架构将应用程序划分为多个服务,每个服务提供特定的功能,通过组合这些服务来构建复杂的应用程序。

总体而言,Web Service为应用程序之间的通信和数据交换提供了一种标准化、灵活和可靠的方式,使得不同的应用程序能够实现互操作,从而推动了分布式系统的发展和应用程序的集成。它在现代软件开发中扮演着重要的角色,尤其是在构建跨平台、跨语言的系统和应用程序时具有重要意义。

二、创建

1.新建一个 “ASP.NET Web应用程序(.NET Framework)”。项目
在这里插入图片描述
在这里插入图片描述
此处若找不到该项,就翻至最下方安装:
在这里插入图片描述
按下图进行安装:
在这里插入图片描述
继续新建项目:
在这里插入图片描述
在这里插入图片描述
新建一个Amsx文件:
在这里插入图片描述
在这里插入图片描述
自己新增个函数:
在这里插入图片描述启动
在这里插入图片描述
在这里插入图片描述
上图单击函数可进入测试调用的界面,下面仅介新增的函数SendName:
在这里插入图片描述
弹出界面:
在这里插入图片描述
到此,创建完毕。

二.发布

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
发布前可让他自动情况文件夹,防止一些其他错误,也可以不设置。
在这里插入图片描述
在这里插入图片描述
打开计算机管理:
在这里插入图片描述
此处没有Internet选项怎么办?
在这里插入图片描述
此处注意IP地址,可以为主机IP,也可以为127.0.0.1(本地IP)。(此处要注意,否则会出现网页打开超时的问题)
在这里插入图片描述
在这里插入图片描述

点击浏览网站,弹出网站页:
在这里插入图片描述
在这里插入图片描述
到此,证明接口发布成功。

三.访问

新建一个项目:此处新建了一个c#控制台程序,过程此处省略
添加服务引用:
在这里插入图片描述
此处需要注意的是地址框中,地址目标必须是.asmx不然读不到方法会报错。
地址填入后,点击转到就会出现服务,逐层点入就可以看见方法。
在这里插入图片描述
测试代码:

using System;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            ServiceReference1.WebService1SoapClient webService1SoapClient = new ServiceReference1.WebService1SoapClient();
            Console.WriteLine( webService1SoapClient.SendName("wwww"));
            Console.ReadKey();
        }
    }
}

在这里插入图片描述
此处需注意的是,服务器的命名空间是如下图:
在这里插入图片描述
也可以在添加服务引用的时候,更改命名空间。
在这里插入图片描述
控制台打印的字符串为,SendName函数的返回值,说明调用成功。

问题总结

1.不是专用连接

忘记截图了
解决方案

2.HTTP错误 403.14 - Forbidden

解决方案在这
在这里插入图片描述

3.HTTP 错误 404.3 - Not Found

解决方案
在这里插入图片描述

4.应用程序种服务器错误

解决方案
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图书馆流量监控性能分析案例

前言 图书馆信息中心老师反应,用户反馈系统有访问慢的情况,需要通过流量分析系统来了解图书馆系统的运行情况,此报告专门针对图书馆系统的性能数据做了分析。 图书馆已部署NetInside流量分析系统,使用流量分析系统提供实时和历史…

springboot 整合mybatis plus,使用druid 切换多数据源实现单数据库事务,附赠项目源码地址

项目源码地址 GitHub - liyanlei58/ssm: springboot druid mybatis plus 事务 最近想搭一套spring cloud开发环境,各种不顺利吧,先是spring cloud的组件某些功能不好用,是版本自身的bug。后来又碰到了事务无法回滚,这个搞了好几个…

银河麒麟服务器v10 sp1 安装mysql

可以先用 dpkg --list|grep mysql 查看自己的mysql有哪些依赖: 上图已经是安装后的截图,然后再卸载 sudo apt-get autoremove --purge mysql-common 本文在没有安装之前,只有mysql-common包,再用dpkg --list|grep mysql查看&…

[MySQL]在搭载Linux系统(centos7)的云服务上安装MySQL

[MySQL]MySQL 在 Centos 7环境安装 安装与卸载中,用户全部切换成为root,⼀旦安装,普通用户也能够使用。 文章目录 [MySQL]MySQL 在 Centos 7环境安装1. 卸载不要的环境2. 获取MySQL官方yum源3. 安装mysql yum 源,对比前后yum源4.…

Windows server 下关闭135/139/445端口

一、关闭​ ​135端口​​ 方案一 第一步 运行dcomcnfg,打开“组件服务”→“计算机”,在“我的电脑”上右键点击,选“属性”;然后点默认属性,把“在此计算机上启用分布式COM(E)”的勾去掉&a…

深入理解Spring Boot:从入门到精通

摘要 Spring Boot是一个用于构建独立、生产级别的Spring应用程序的框架。它以简化配置和快速开发为设计目标,使开发人员能够更专注于业务逻辑的实现。本文将深入探讨Spring Boot的核心概念、特性和最佳实践,帮助读者从入门到精通。 引言 在当今的软件开发…

pod 控制器 4

对于 pod 使用 yaml 文件或者 json 描述文件生成,之前都有提到过,且对 yaml 的每一个属性都有介绍到 确实是属性非常的多,但是我们知道如何去区分哪些是重要的部分,哪些是可有可无的部分之后,这些就变得简单了 pod 的…

用Linux搭建网站(LAMP)

安装环境 演示服务器版本为CentOS 8 安装apache 下载apache yum install httpd httpd-devel 启动apache服务器 systemctl start httpd设置apache开机自启 systemctl enable httpd查看apache运行状态,绿色即正常运行 systemctl status httpd关闭和禁用防火墙 …

Python语言在地球科学领域中的实践技术

Python是功能强大、免费、开源,实现面向对象的编程语言,Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台(x86和arm),Python简洁的语法和对动态输入的支持,再加上解释性语言的本质&…

《Redis 核心技术与实战》课程学习笔记(一)

基本架构:一个键值数据库包含什么? 这样学 Redis,才能技高一筹 为了保证数据的可靠性,Redis 需要在磁盘上读写 AOF 和 RDB,但在高并发场景里,这就会直接带来两个新问题: 一个是写 AOF 和 RDB …

关于Kettle ETL java脚本编写遇到的一些问题记录

Kettle ETL java脚本编写遇到的一些问题记录 1.文本信息输出 使用方法**logBasic()**参数必须是字符串 这部分内容会在ETL的日志窗口显示 2.获取参数数据 1.获取上个节点传输的数据 可以直接在左侧双击获取 2.全局参数获取 在启动运行的变量设置参数 在java代码中获取方式 …

Unity内存分析与优化实践

目录 前言优化前分析Committed Memory Tracking StatusMemory Usage 开始内存优化贴图优化贴图分辨率优化去除透明通道和mipmap其他关于贴图的优化技术 Shader优化优化Always Included Shaders优化Preloaded Shaders优化Shader代码共享Shader 优化Mesh降低屏幕分辨率优化效果内…

IDEA+Spring Boot+MyBatis+shiro+Layui+Mysql智能平台管理系统

IDEAJavaSpring BootMyBatisshiroLayuiMysql智能平台管理系统 一、系统介绍1.环境配置 二、系统展示1.登录2.注册3.发帖4.留言5.提交问卷6.展示公告7.查看文章8.管理员登录9.管理员管理10.用户管理11.问卷管理12.问卷结果管理13.帖子分类管理14.数据分析统计15.公告管理16.帖子…

基于线性准则的考虑风力发电不确定性的分布鲁棒优化机组组合(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Node.js知识梳理(二)——进阶

以下内容来自对《从前端到全栈》一书的学习记录~ 学习的时候用的是V16.20.0,18之后的语法差别还是有的~ 请求优化 我们在请求资源的时候,是需要做优化的,这里的优化涉及到了缓存。浏览器的缓存策略有两种: 强缓存协商缓存 关于…

分解整体:将整体式架构转换为微服务的容器化之旅

传统上,软件应用程序是使用单体架构开发的,其中所有应用程序组件都紧密交织在一起,并作为一个单元进行部署。随着软件应用变得更为复杂,组织开始依赖分布式系统,单体架构的限制开始变得更加明显。容器化被引入作为解决…

关于连接数据库时只能使用localhost而不能使用IP连接的问题解决办法

出现:java.sql.SQLException: null, message from server: "Host DESKTOP-H84MBU3 is not allowed to connect to this MySQL server"问题 解决办法: 1、打开数据库操作命令窗口 2、修改user表中 "root" 所对应的 "host&q…

JMeter之IP欺骗技术(模拟不同的IP地址并发请求)

目录 前言: 第一步:在负载机上绑定IP地址 第二步:点击高级,添加伪造的IP地址 第三步:新增IP地址复制到文本 第四步:新建参数化请求 第五步:新建压力测试脚本 第六步:配置线程…

【Mysql】事务原理与优化最佳实践(四)

前言 我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增 删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题&…

【C】函数

目录 【1】函数是什么 【2】C语言中函数的分类 【2.1】库函数 【2.2】如何学会使用库函数 【2.3】自定义函数 【3】函数的参数 【3.1】实际参数(实参) 【3.2】形式参数(形参) 【4】函数的调用 【4.1】传值调用 【4.2】传址调用 【…