这个问题来自论坛,在.net 2.0中一个WebMethod的out参数丢失了....
不过应该是写代码的人太粗心,没有仔细看web引用的结构。微软只是在web引用的时候做了一个转换,把void类型函数的out参数自动转换为非void函数,并把这个参数变成了函数的返回值。
比如:
[WebMethod]
public void getPwdNick(int userid,out string pwd,out string nick)
{
}
他会在web引用后生成如下代码:
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/getPwdNick", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("pwd")]
public string getPwdNick(int userid,out string nick) {
object[] results = this.Invoke("getPwdNick", new object[] {
userid});
nick = ((string)(results[1]));
return ((string)(results[0]));
}
这段代码在vs中点击显示所有文件,然后再web refences下面localhost-Reference.map-Reference.cs中。
分享到:
相关推荐
- 方法可以有多个out参数,但在方法声明中只能有一个params关键字,所以out参数和params是不兼容的。 - 调用方法时,out参数同样需要显式声明,但其初始值并不重要,因为方法内部会对其进行处理。 3. **Params...
在本案例中,我们将重点讨论如何使用Axis框架来调用Web服务并传递参数。 首先,我们需要理解Web服务的核心概念。Web服务基于SOAP(Simple Object Access Protocol)协议,它使用XML(Extensible Markup Language)...
1. **选择一个WebService**: 在本例中选择了`http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx`作为目标WebService,提供了英语与中文之间的翻译服务。 2. **理解WebService接口**: 该接口提供的...
在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,使得不同应用程序之间能够进行数据交换与通信。其中,...
在VB6.0中调用Web服务,特别是WebService,是一个重要的技术点,它允许传统的VB6应用程序利用基于网络的服务来扩展其功能。由于VB.NET的普及,很多开发者更倾向于使用.NET框架,但考虑到VB6的广泛使用和某些特定场景...
-- 以下参数对应WebService中3个参数的[参数名] DECLARE @Department NVARCHAR(50); DECLARE @Person NVARCHAR(50); DECLARE @TextDesc NVARCHAR(50); DECLARE @HappenSite NVARCHAR(50); SET @Department = ...
在WebService项目中,可能会包含对SOAP库(如Apache CXF或Axis2)的依赖声明。 - **lib**:这个目录通常包含项目的外部依赖库文件,比如SOAP处理库或者其他的Java库。 - **target**:这是Maven构建输出的目录,...
java采用axis调用.net写的WebService,WebService的参数有传人和传出,传出的参数为ref,java端ParameterMode.OUT,传人的为ParameterMode.IN,WebService返回值为String,java利用Map取传出参数,对Map进行遍历取得...
在`ServiceHello`类中定义一个方法`getvalue`,该方法接受一个字符串参数`name`,返回值为`"我叫" + name`。同时,在类上添加`@WebService`注解,并使用`Endpoint.publish`方法来发布这个服务。 ```java package ...
接口中定义了服务的方法,如 `test()` 方法,使用 `@WebMethod` 和 `@WebParam` 注解来指定方法和参数。 ```java // IService 接口 package com.uu.service; @WebService public interface IService { @WebMethod ...
7. 配置参数文件:在SAP系统中,需要配置参数文件,以便将webservice接口发布到生产环境中。在配置过程中,需要选择“User ID/Password”作为认证方式。 知识点:参数文件是SAP系统中的一个关键概念,用于定义...
在这个例子中,`myWebServiceMethod`是WebService提供的一个方法,"参数"是传递给该方法的值。 4. 异常处理和配置: - 调用WebService时,需要处理可能抛出的异常,如`SOAPFaultException`,`IOException`等。 -...
- 首先,我们需要创建一个标注了`@WebService`的Java类,这个类中的公共方法将暴露为可供调用的服务。例如: ```java package service; import javax.jws.WebMethod; import javax.jws.WebService; @...
### jQuery中通过ajax调用webservice传递数组参数的问题实例详解 在Web开发中,经常会遇到需要通过异步JavaScript和XML(AJAX)技术与服务器端的WebService进行通信,并传递数据的场景。当需要传递数组参数给...
在JDK中,Sun Microsystems提供了JAX-WS(Java API for XML Web Services)工具集,用于开发和部署WebService。JAX-WS包括了诸如`wsimport`工具,用于生成客户端和服务器端的代码,以及`servlet`,用于处理HTTP请求...
在Java中,这通常通过JAX-WS(Java API for XML Web Services)实现,使用注解如@WebService和@WebMethod。 - **实现服务接口**:编写具体的服务实现,处理客户端请求。 - **部署服务**:将服务打包成WAR(Web ...
- 在`username`参数中输入测试数据,例如“China”,然后点击`Go`。 - 观察`Status`栏中的返回结果,如果显示`Hello: China`,则表示服务发布成功且可正常访问。 #### 四、编写并运行客户端程序 ##### 1. 创建...
在IT行业中,集成不同的系统和服务是一项常见的任务,而MAXIMO6作为一款资产管理和工作流程的软件,有时需要与其他系统交互,比如通过JAVA调用WEBSERVICE。本篇将详细讲解如何在MAXIMO6环境中,使用JAVA来调用外部的...
接口中的方法如`sayHi()`和`sayHiToUser()`分别接收一个字符串参数和一个`User`对象,返回相应的问候语。`@WebParam`注解用于指定参数名称。 2. 实现服务: `HelloWorldImpl`类实现了`HelloWorld`接口,提供了具体...
//参数模式:'IN' or 'OUT' call.addParameter("arg1", //参数名 XMLType.XSD_STRING,//参数类型:String ParameterMode.IN); //参数模式:'IN' or 'OUT' call.addParameter("arg2", //参数名 XMLType....