WebService的开发、发布及调用

VS2019中WebService实现发布、调用以及问题汇总 在对接工厂Mes的过程中,发现webService比较有趣,再次做下学习记录,并汇总遇见的问题以及解决方案。忘记截图了解决方案。 阅读详情


一、VS中创建Web服务项目。

二、WebService生成发布

三、网站发布

四、故障及解决方法

五、如何访问WebService

六、Win7下的WebService

 

发布和使用WebService需要首先安装IIS服务,IIS的安装过程这里就不在叙述,baidu上到处都是。

 

1、  VS中创建Web服务项目

在VS中“文件”->“新建”->“网站”->“ASP.NET Web服务”。创建过程很简单,和其他项目的创建过程基本相同,这里就不多说了。 

                这里我创建了一个名为MyWebService的解决方案,如下图所示,


                系统会自动添加一个名为Service的asmx文件,并在App_Code文件夹中添加一个同名的代码容器类。

                我们可以将这两个文件删除,然后依次在上点击右键,选择“添加新项”。在打开的窗口中选择“Web服务”,添加一个新的Web服务,命名为MyService。

我们同样可以将这两个名为Service的文件重命名为MyService。但在重命名的时候,有四个地方的名称是必须更改的。

1、  将Service.cs的名称改为MyService.cs

2、  将Service.asmx的名称改为MyService.asmx

3、  将Service.cs文件中的类名public class Service : System.Web.Services.WebService

改为               public class MyService : System.Web.Services.WebService

同时修改构造函数。

4、  将Service.asmx文件中Class属性指向MyService,修改如下

<%@ WebServiceLanguage="C#"CodeBehind="~/App_Code/MyService.cs"Class="Service"%>

改为

<%@ WebServiceLanguage="C#"CodeBehind="~/App_Code/MyService.cs"Class="MyService"%>

有点啰嗦了,其实文件中如果有名称不匹配的话,一般在调试的时候系统都会给出错误提示。

 

完成后的解决方案如图所示


注:Web.Config文件是生成时系统自动附加的。

 

2、  完成创建以后,我们就可以调试生成解决方案。调试通过后,将WebService发布。具体步骤如下:

右键点击项目,在弹出菜单中选择“发布网站”弹出发布位置选择窗口如图所示,这里我们选择已经创建好的目录D:\MyService,



点击“确定”按钮发布完成,这时我们可以到D:\MyService中查看发布文件。如下图所示。


3、下一步,我们需要将Myservice文件夹拷贝到C:\Inetpub\wwwroot目录下(重要)。如下图所示


然后依次右击“我的电脑”->“管理”->“服务和应用程序”->“Internet信息服务(IIS)管理器”打开IIS管理器,或者在控制面板中,通过“管理工具”打开“Internet信息服务(IIS)管理器”,如下图所示



展开“网站”节点,右键点击“默认网站”节点,依次选择“新建”->“虚拟目录”,打开虚拟目录创建窗口。如下图所示。



点击“下一步”


输入一个别名,如“MyServiceTest”(此处不一定要和WebService文件名相同)。点击“下一步”进入路径选择窗口,如图所示。


其中路径名必须选择是C:\Inetpub\wwwroot目录下,新拷贝的WebService文件副本。如上图所示。

点击下一步,开始设置访问权限。作为测试,我们可以将其全部选中。如下图所示。


 点击下一步,系统会弹出安全警告,点击“是”按钮,然后点击“完成”按钮,完成WebService发布。

4、  截止到此,WebService已经发布完成,下面可以开始访问了。

选择我们刚刚创建的虚拟目录“MyServiceTest”,右键点击,选择“浏览”操作,打开浏览窗口,如图所示。




在上图右侧的浏览窗口中,点击MyService.asmx连接项,打开查看WebService中的可用接口。如下图所示:



注意:此过程会出现如下的错误提示

 

A)、配置错误 ,提示内容如下:
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误信息: 无法识别的配置节“connectionStrings”

源错误:
行 10:
行 11:   </appSettings>
行 12:  <connectionStrings/>
行 13: <system.web>
行 14:   <!--

源文件: C:\Inetpub\wwwroot\MyService\web.config    行: 12
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573;ASP.NET 版本:1.1.4322.573  

出现该问题的原因如下:

我们使用vs2005创建WebService需要使用.netframework 2.0,而在Windows Server 2003中,iis默认.net环境是1.1。这时将发生不可识别的节点的问题。因为connectionStrings是.NET 2.0中的新增节点。

 

解决方法如下:

             首先确保系统中已经安装了.NET2.0,然后更改IIS使用的ASP.NET版本。操作过程如下:

打开windows“命令提示符”,即在运行中输入“cmd”,然后输入以下字符串

C:WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis-i –enable,执行安装操作。

如果当前系统未安装.NET 2.0平台,则会提示“系统找不到指定的路径”,否则,将执行安装操作,如下图所示:


安装完成后,再次尝试执行“浏览”操作。

B)、分析器错误,提示内容如下:

 

“/testSer”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 分析器错误 说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。

分析器错误信息: 未能创建类型“MyService”。

源错误: 行 1: <%@ WebService Language="C#" CodeBehind="~/App_Code/MyService.cs" Class="MyService " %>

源文件: C:\Inetpub\wwwroot\ MyService \ MyService.asmx 行: 1 ------------------------

出现该问题的原因:

(1)、在步骤一中,重命名文件时,未完成所有文件名的统一修改。一般情况下,确保步骤一罗列出的所有位置的位置的文件名统一,即可解决该问题。

(2)、如果您可以保证没有文件名称错误。可以采用和上一个问题相同的解决方法来解决该问题。。

 

 

 

5、  远程访问

一般在远程机器上调用本机发布的WebService的地址即为本机IP+虚拟目录,例如,本次创建的WebService的访问地址如下:

http://192.168.2.94/MyServiceTest/MyService.asmx

 

查看该地址的方法为,打开WebService服务页 ,如下图所示


点击HelloWorld公共接口连接。跳转至HelloWorld定义页。如图所示。

 

点击“调用”按钮,将打开浏览器,显示调用结果。如图所示:


将浏览器地址栏中地址http://localhost/MyServiceTest/MyService.asmx/HelloWorld中的localhost换成本机IP(例如192.168.2.94),然后去掉最后的/HelloWorld,即为Webervice的访问地址http://192.168.2.94/MyServiceTest/MyService.asmx。

如果需要在远程C#项目中需要使用WebService,只需添加Web引用,然后在URL中输入以上地址即可。详细过程可以参考相关教材,或者求助谷、百两位大哥,遵从个人喜好。

 

6、  Win7下发布WebService

Win7下WebService的发布相对较为简单。从文件拷贝到创建虚拟目录的过程都与2003下完全相同,这里不再赘述。我们同样创建一个名为MyServiceTest的虚拟目录,如下图所示


然后在右侧的“MyServiceTest主页”区域中找到“目录浏览“图标,如下图所示


双击“目录浏览”图标打开目录浏览功能,如下图所示


点击右侧的“启用”按钮,启用目录浏览功能,如下图所示。


然后双击左侧的“MyServiceTest”虚拟目录节点,回到“MyServiceTest主页”选区。右键点击“MyServiceTest”虚拟目录节点,在弹出的菜单中选择“转换为应用程序”弹出应用程序转换窗口,如下图所示。


直接点击“确定”按钮。转成功,我们可以看到,此时虚拟目录图标已经发生了变化,如下图所示。


此时,在“MyServiceTest”虚拟目录节点上点击鼠标右键,依次选择“管理应用程序”->“浏览”即可在浏览器中查看MyService。

 

2011-9-8补充:在本机上发布的WebService,如果本机能访问,而远程机器无法访问,一帮是由于Windows防火墙处于打开状态造成的。将其关闭即可

 

本人亦初学WebService,以上均为个人见解及实际中遇到的问题和解决方法。希望对初学者有用。



【WebService】axis2发布web项目开发webservice和接口调用 前言 进公司实习要对以前的项目进行维修,设计到WebService,接下来对axis2框架发布web项目开发webservice和接口调用进行展开。因为是以前的技术,我真的搜了好久。太难了,不过还是要分享出来 axis2的下载安装 下载地址:http://axis.apache.org/axis2/java/core/download.html 下载这两个即可 bin包:是安装包; war包:用于在tomcat上发布服务; service-plugin插件:用于将服务打包成为后缀名为.aar的文件;cod 阅读详情

相关推荐

Slurm集群调度策略详解(1)-主调度

Slurm调度系统中针对作业的调度主要有三种,主调度,回填调度,GANG调度,这篇文章主要针对主调度进行解析。

h_m_l的博客 6030

C# 超详细的WebService创建、发布与调用(VS2022)

需要注意一下创建项目时是否开启了高级中的https,如果不记得也没有关系,直接打开项目的属性,修改Web中的项目URL,将https改为http,重新启动项目即可。右键项目,选择发布,选择文件夹,点击下一步,选择发布的文件夹位置,这里可以自己选择,但是一定要记住你选择的位置。添加Web 引用(W)-在打开的界面中的URL中输入刚刚复制的网址-点击蓝色箭头-添加引用,即可在解决方案资源管理器中看到我们所添加的服务引用。注:这里有个小细节,当我们更新Web服务里面的内容的时候,再次发布的时候我们需要注意。

苏_苏(sunny) 1万+

arduino uno spi驱动12864

arduino uno spi驱动12864

yvee的博客 2060

VS2022 创建webservice服务

参考资料 文章目录安装新建发布新建网站ajax调用 安装 新建 发布 编译-生成-发布,选择文件发布。 新建网站 添加默认文档 ajax调用 webservice配置: # webconfig 新增: <webServices> <protocols> <add name= "HttpPost"/> <add name= "HttpGet"/> </protocols> <

淡水瑜的博客 8252

SPSS篇—卡方检验

今天依旧跟大家分享一个在SPSS中使用率比较高的分析方法:卡方检验。 在开始做分析之前,我们需要明白两件事情:卡方检验是什么?一般用来干什么?我们只有充分了解分析方法以后才能够正确的使用它。 卡方检验在百科中的解释是:卡方检验是用途非常广的一种假设检验方法,它在分类资料统计推断中的应用,包括:两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。它的原理是...

小白数据营的博客 20万+

Frida实战:SSL Pinning绕过技术全解析

本文详细解析了如何使用Frida工具绕过SSL Pinning技术,包括环境搭建、四种实战绕过方案及常见问题排查指南。通过具体代码示例和实战经验,帮助安全研究人员快速掌握SSL Pinning绕过技术,适用于金融类App的安全测试场景。

weixin_42530732的博客 187

SSO单点登录系统WEB Service代码

ssoWebMethod/sso.asmx-------------------------------------------------------------------------ssoWebMethod/web.config    注意: 除了手动编辑此文件以外,您还可以使用     Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的    

踏雪听雨 1万+

轨迹优化 | 图解欧氏距离场与梯度场算法(附ROS C++/Python实现)

距离场在运动规划中则常用于地图建模和轨迹梯度优化。本文图解欧氏距离场EDT的算法原理,并基于双线性插值给出欧氏梯度场的公式推导,并给出ROS C++和Python的算法实现加深理解

FRIGIDWINTER的博客 4646

.NET C# 创建WebService服务简单的例子

Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互的格式。 2.跨平台性,因为使用XML所以只要本地应用可以连接网络解析XML就可以实现数据交换,比如安卓、IOS、WindowsPhone等都可以实现对Web service的数据交互。 3....

weixin_30550271的博客 206

AD22等长布线规则

本文介绍了PCB布线中实现信号线等长的详细操作步骤:1.创建网络类(NetClass),将需要等长的信号线归入同一组;2.设置高速布线规则(High-SpeedRule),定义等长容差等参数;3.进行交互式等长布线(InteractiveLengthTuning),使用蛇形线调整线长;4.实时调整与最终检查,确保所有网络满足等长要求。文中还提供了实用技巧,如使用快捷键调整蛇形线参数、为关键信号设置更严格规则等。操作需在PCB设计软件中完成,通过统一管理、规则设置和精确调整来实现信号同步传输。

whm128的博客 1557

使用Simulink来模拟多旋翼无人机在风扰动条件下的飞行情况,并分析其稳定性

本教程详细介绍了使用Simulink进行多旋翼无人机风扰动稳定性分析的完整流程。首先构建包含飞行器动力学模型、控制系统和环境模拟模块的系统框架,重点讲解简化动力学方程的实现方法。随后指导设计PID控制器来维持姿态稳定,并添加随机风扰动模型模拟环境干扰。通过设置输入信号和输出显示,最终实现对不同风速条件下无人机控制性能的评估。该实例为无人机控制系统设计提供了实用的仿真方法,强调利用MATLAB工具进行可视化分析和参数优化,以提高系统抗干扰能力和稳定性。

amy_mhd的博客 419

PB-PowerBuilder125开发Webservice的DEMO_从配置IIS到发布接口到调用webservice

PowerBuilder125开发Webservice的DEMO, 从IIS配置都12.5发布webservice,到pb建立工程调用,一条龙,配详细文档,免下载分下载。 最开始只需要3个积分就能下载,下载的人越来越多,现在竟然需要50积分,真是日了狗了,以后谁需要,可以发邮件到 yangjinchao777@126.com , 我会通过邮箱发送。 http://download.csdn.n...

小树苗不知道 5155

【RT-DETR有效改进】轻量级网络ShuffleNetV2(附代码+修改教程)

从今天开始正式开始更新RT-DETR剑指论文专栏,本专栏的内容会迅速铺开,在短期呢大量更新,价格也会乘阶梯性上涨,所以想要和我一起学习RT-DETR改进,可以在前期直接关注,本文专栏旨在打造全网最好的RT-DETR专栏为想要发论文的家进行服务。RT-DETR剑指论文专栏,持续复现各种顶会内容——论文收割机RT-DETR​​。

Snu77的博客 1994

WEB开发 调用webService发布的接口的方法总结

环境 JDK1.8 引用jar来源 均为Apache中cxf的内容 代码实例 // 调用发布的接口 JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance(); Client client = factory.createClient(address); // 调用方法并接收到了返回值 跟在"syncResources"后的为对应要调用的erbservice方法时给它的参数,前面的为方法名 Object[

weixin_44131922的博客 482

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

springboot集成CXF开发webservice,并向外发布,调用接口

先复制一段说明: Apache CXF = Celtix + XFire,CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或 者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。 CXF 包含了大量的功能特性,但...

不经意的博客 4709

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

axis2发布web项目开发webservice和接口调用

axis2发布web项目开发webservice和客户端接口调用方法

为什么简介是必填项? 7996

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

webservice开发---------如何使用jdk发布webservice及调用

第一次见到webservice时,懵,懵,懵,它是什么?主要功能是什么?怎么用?围绕着这些开始webservice学习之旅 一:简介 webService是一种跨编程语言和跨操作系统平台的远程调用技术; 采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。 比如,我们的应用上需要用到天气信...

十七的博客 2380

CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码

cxf-2.3.3.jargeronimo-annotation_1.0_spec-1.1.1.jargeronimo-jaxws_2.2_spec-1.0.jargeronimo-stax-api_1.0_spec-1.0.1.jargeronimo-ws-metadata_2.0_spec-1.1.3.jarjaxb-api-2.2.1.jarjaxb-impl-2.2.1.1.jarne...

鬼烧java 308

VS2010 开发建立webservice服务并发布,使用VB6.0测试调用

最近在公司有使用到公司开发的webservice接口,然后发现自己的一个想法可以用webservice实现,于是想着自己建立webservice服务,并尝试发布,并用vb6.0 调用测试。 1,首先搜了一下webservice的建立,搜到一篇博文: https://www.cnblogs.com/zqzjs/p/4705994.html 有详细的说明webservice 的建立,...

weixin_30659829的博客 514

webservice接口的开发和调用

一、开发webservice接口的方式 1、使用jdk开发 2、使用第三方工具,如cxf、shiro等 二、使用jdk开发webservice接口以及调用 首先定义一个天气预报的接口,Weather @WebService public interface Weather { String queryWeather(); } 定义一个实现类,实现该接口 @WebService pub...

weixin_34061042的博客 245

用eclipse开发WebService

一、准备工作。 1、首先下载eclipse用于开发WebService的相关插件。 该插件在eclipse站点有下。我下的是包含该插件的全套eclipse的SDK: wtp-all-in-one-sdk-R-1.0.2-200604280245-win32.zip 共186兆多。 A、解压该文件; B、安装自己插件,把插件用LINK目录建立关联。(如:TOMCAT等) C、配置好

Happy2Prince的专栏 381

WebService接口的生成和调用(WebService接口)

目录 一:WebService的服务端发布 1:发布web程序服务端发布 2:本地发布 二:Webservice客户端调用: 1:本地生成代码,直接调用: 2、利用dos命令生成代码,和第一种基本一致 3:利用apache的AXIS直接调用远程的web service 4:service编程实现调用 5:Ht......

苍煜 13万+

Java调用与发布Webservice接口(一)

​ 一 准备工作 (一)开发环境 demo以springboot为基础框架,使用到了httpclient、hutool等依赖,详情如下: springboot版本: org.springframework.boot spring-boot-starter-parent 2.7.8 cxf与httpclient...

weixin_40396905的博客 200
上一篇: 《C#入门到精通》学习笔记 -- IEnumerable和IEnumberator接口
下一篇: SQL script 创建数据库
令羽飞飞
博客等级 码龄14年 42粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值