webservice接口开发

webservice接口开发
webservice接口开发

Microsoft .NET体系结构中非常强调Web Service,构建Web Service接口对.NET Framework开发工具有很大的吸引力,因此很多讲建立Web Service机制的文章都是使用.NET Framework开发工具的。

在这篇文章中我们将谈论下面几个方面的问题

1、客户端怎样和Web Service通信的

2、使用已存在的Web Service创建代理对象

3、创建客户端。这包括:

Web 浏览器客户端

Windows应用程序客户端

WAP客户端

最好的学习方法是建立一个基于真实世界的实例。我们将使用一个已存在的Web Service,这个Web Service从纳斯达克获得股票价格,客户端有一个简单的接口,该接口的外观和感觉集中了建立接口的多数语句。

客户端描述

三种客户端都接受客户输入的同一股票代码,如果请求成功,将显示公司名和股票价格,如果代码不可用,将显示一个错误信息。客户端都设置有"Get Quote" 和"Reset"按钮以初始化用户的请求。

开发中的注意事项

我使用visual https://www.360docs.net/doc/669315713.html,作为我的集成开发环境,beta版没有结合.NET Mobile Web,因此,我们需要使用文本编辑器创建wap客户端,下一个版本的visual https://www.360docs.net/doc/669315713.html, 将整合入.NET Mobile Web 。

客户端怎样与Web Service通讯

我们先复习一下Web Service的功能,在我得上一篇文章中曾展示一幅图(如图一),a点的用户将通过Internet执行远程调用调用b点web 服务器上的东西,这次通讯由SOAP和HTTP完成。

我们实际执行了b 点web 服务器上的方法吗?对于新手来说这是一个关键问题,由此你可以想到一系列的安全威胁,作为系统管理员我们不可能让随便什么人使用我们的web资源,让怀有恶意的人破坏敏感数据,而且也不能不提到带宽问题。我们还记得这是一个分布式应用程序,因此我们还不得不关心数据的配置。

为解决这些问题,我们需要复制在用户web 服务器上的对象行为,在我们的例子中,我们需要复制b点Web Service针对a点的功能,这就意味着我们要创建充当原始web servcie行为的代理对象(proxy object),这个代理对象象原始Web Service那样具有所有的数据接口。那么我们怎样得到公共数据接口的呢?

各位是否还记得Web Service代码中的关键字Web only,每一个Web only的方法都会被复制到代理对象中,这样将保护我们的敏感数据,避免受到来自Web Service终端(比如:b点)的有恶意的黑客的攻击。这种方法我们称为在a、b之间进行的"对象数据同步交换",这一过程称为创建"对象代理".

现在看看图1的修正版,如下图:

代理对象是Web Service的基础慨念,所以创建Web Service的第一步是创建代理对象,然后我们可以通过多种平台(Web浏览器, WAP, Personal Digital Assistant [PDA], SOAP客户端)从代理对象获得数据。

创建代理Web Service对象

在.NET Framework中携带了一个创建代理对象的工具"WebServiceUtil.exe",在

MS_DOS快捷窗口使用这个工具创建代理对象。

语法如下:

WebServiceUtil /c:proxy /pa:HTTP://yourDomain/someFolder/

yourWebService.asmx?SDL

/c:proxy 指示编译器创建一个代理对象

/pa:<WebServerURL>

找到sdl文件的路径,最后面的"?SDL"

目的是使Web Service获得SDL订约上面的是必须要的参数,现在解释一下其他重要参数:

/disco:<FileName>

创建一个Discovery文件,对不知道精确的url地址的用户而言,

Discovery文件是找到Web Service的机制之一。它是一个提供Web

Service的简要说明的xml文件,visual https://www.360docs.net/doc/669315713.html,工程将自动创建

一个缺省的Discovery文件作为新工程的一部分,也可以启动

"Dynamic Discovery"自动跟踪,

/l:<Language Code>语言可以是C#,Visual Basic或者jscript等,如:/l:Csharp.

/n:<Namespace>

该类所在的名字空间。该名字空间的所有类均可访问这个代理对

象。

/o:<Location>表示放置创建的文件的位置。缺省为现行目录。

/i:<Namespace>附加的名字空间,该名字空间是将输入该类的名字空间。

/protocol:

<protocol Name>

应用的协议,如: SOAP, HTTP GET或HTTP POST。缺省值为:SOAP 下图是一个创建代理对象的例子

这个命令在当前目录下创建了一个叫LiveQuote.cs的文件。这是一个在WebServiceClients名字空间中的C#文件,当你创建客户端时,将认识到

WebServiceClients名字空间的重要性。现在编译C#类,便产生了一个连接客户端工程的DLL文件。,将其置于"bin" 目录下。

这样就在bin目录下创建了一个叫LiveQuotes.dll的文件。如果想了解有关编译c#类的情况可以参考.NET SDK帮助文档。

用这两个命令创建了一个代理对象,现在我们准备从Web Service获得数据。代理对象具有所有的公共接口,可访问任何商业逻辑函数,我们甚至不需要注册DLL文件就可以办到。我们只需要编译源代码并插入bin目录下的dll文件即可。这一切对于Web 服务器访问DLL文件足够了。

如果你不熟悉https://www.360docs.net/doc/669315713.html,的配置机制你也许会感到困惑,不注册dll文件是为了让操作系统验证它。我们仅将它放在bin目录下.NET Framework在运行时将带上它。

现在我们创建客户端,创建一个客户端的步骤是:

1、创建一个代理对象的实例

2、在代理对象上执行方法调用

3、捕获从Web Service返回的xml格式的数据

4、写一个特殊的客户端控件显示结果

创建Web 页客户端

Web服务监听器监听HTTP GET, HTTP POST和SOAP 方法调用。首先我们用Visual https://www.360docs.net/doc/669315713.html,创建一个Web 工程

打开new project对话框,在project type栏选择visual c# project,在template栏中选择web application,创建一个新工程并在默认的web服务器下创建一个虚拟目录LiveQuotes_Clients,系统同时在DriveName/wwwroot目录下创建一个相同名字的物理目录。

2)右击工程的"References",在弹出的菜单中单击add References

点击"project"选项,导航到代理对象DLL

3)使用Toolbox Web form controls创建https://www.360docs.net/doc/669315713.html,文件,如果你学过vb,那么这是一件非常轻松的工作。

我将默认文件名WebForm1.aspx修改为Client_WebForm_POST.aspx,当我向web 窗体插入控件时,后台自动在一个叫Client_WebForm_POST.cs的文件中生成c#代码,当引用dll文件时,我们希望系统能自动插入相关代码,但是它没有这样做,这是https://www.360docs.net/doc/669315713.html, 试用版的一个小故障,我们需要手工输入下面这行代码以访问WebServiceClients名字空间。

using WebServiceClients;

代理对象livequotes.DLL属于WebServiceClients名字空间,因此我们需要通过代码访问WebServiceClients名字空间,我们还需要写一些代码处理用户交互事件,比如点击按钮:

public void btn_GetQuote_Click (object sender, System.EventArgs e)

{

LiveQuotes ProxyLiveQuotes = new LiveQuotes();

try

{

label_PriceValue.Text =

ProxyLiveQuotes.MSNGetLastQuote

(txt_CompanyCode.Text).ToString();

label_NameValue.Text =

ProxyLiveQuotes.MSNGetCompanyName

(txt_CompanyCode.Text).ToString();

}

catch

{

label_PriceValue.Text = "0.0";

label_NameValue.Text = "The Company data is not available";

}

}

public void btn_Reset_Click (object sender, System.EventArgs e)

{

label_PriceValue.Text = "0.0";

label_NameValue.Text = " ";

}

完整的代码见附录1,由于可能输入错误的公司代码,因此我们用try..catch捕获错误并处理例外。

4)点击Debug ->Start开始编译代码并显示浏览器

现在我们验证一下,输入一个公司代码,可以看到返回了公司名和股票价格。

默认情况下Visual https://www.360docs.net/doc/669315713.html,使用Get方法,不过可以修改html表单属性将"method = POST" 改为"method = GET"即可

客户端为windows应用程序

用Visual https://www.360docs.net/doc/669315713.html,为Web Service创建一个Windows应用程序客户端也非常容易,按照一下步骤即可:

1)打开New Project窗口,在Project Type栏选择Visual C#,在Templates框中选择Windows Application

2)右击References,在弹出的菜单中点击Add Reference

3)点击.NET References"添加"System.Web.Services.dll,引入控制台和Web 客户服务是一个好的编程习惯。

4)点击"Project",把LiveQuotes.dll作为一个引用加入工程。

5)现在该为应用程序创建窗体了,从左面的工具箱中拖放控件(如:标签,按钮等),visual https://www.360docs.net/doc/669315713.html,将在后台自动生成c#代码。我们仅仅需要输入处理用户事件的代码即可。

(完整的代码见附录2)

protected void btn_GetQuote_Click (object sender, System.EventArgs e)

{

LiveQuotes windowsClient = new LiveQuotes();

try

{

label_PriceValue.Text =

windowsClient.MSNGetLastQuote

(txt_CompanyCode.Text).ToString();

label_Name.Text =

windowsClient.MSNGetCompanyName

(txt_CompanyCode.Text).ToString();

}

catch

{

label_PriceValue.Text = "0.0";

label_Name.Text = "The Company data is not available";

}

}

protected void btn_Reset_Click (object sender, System.EventArgs e)

{

txt_CompanyCode.Text = "";

label_Name.Text = "";

label_PriceValue.Text = "";

}

6)编译、执行客户端程序(visual https://www.360docs.net/doc/669315713.html, 的Debug ->Start )

7)验证一下,输入公司代码,你将得到公司名和来自NASDAQ的股票价格

这段程序代码创建了一个代理对象,利用SOAP通过HTTP调用远程对象的函数调用,使用try..catch捕获非法的公司代码,并使应用程序转入错误处理。

构建WAP客户端

传统的wap使用纯无限标记语言(wml)编写,.NET Mobile SDK 使我们能够利用象https://www.360docs.net/doc/669315713.html,控件那样的东西设计wap接口,这样做比写wml脚本快得多。

每一个.NET可移动页面的开始都要加上下面的语句

<% Page Inherits="System.Mobile.UI.MobilePage" Language="C#" %>

<% Register TagPrefix="Mobile" Namespace="System.Mobile.UI" %>同样我们还是要访问livequotes.dll

<% Import Namespace = "WebServiceClients" %>

下面是完整的代码

<% Page Inherits="System.Mobile.UI.MobilePage" Language="C#" %>

<% Register TagPrefix="Mobile" Namespace="System.Mobile.UI" %>

<% Import Namespace="WebServiceClients" %>

<script runat="server" language="c#">

protected void GetQuoteCommand_OnClick(Object sender, EventArgs e)

{

LiveQuotes ProxyLiveQuotes = new LiveQuotes();

try

{

Code.Text = "Company Code - " + CompanyCode.Text;

CompanyName.Text = "Name - " +

ProxyLiveQuotes.MSNGetCompanyName(CompanyCode.Text);

Price.Text = "Price - " + ProxyLiveQuotes.MSNGetLastQuote(CompanyCode.Text); }

catch

{

Code.Text = "Company Code - " + CompanyCode.Text;

CompanyName.Text = "Name - The company data is not available";

Price.Text = "Price - " + "0.0";

}

ActiveForm = SecondForm;

}

</script>

<Mobile:Form runat="server">

<Mobile:Label runat="server">Enter the Company Code:</Mobile:Label>

<Mobile:TextBox runat="server" id="CompanyCode" />

<Mobile:Command runat="server" OnClick="GetQuoteCommand_OnClick" Text="Get Quote" />

</Mobile:Form>

<Mobile:Form runat="server" id="SecondForm">

<Mobile:Label runat="server" id="Code" />

<Mobile:Label runat="server" id="CompanyName" />

<Mobile:Label runat="server" id="Price" />

</Mobile:Form>

微软 .NET Mobile Web SDK 具有将IE 作为WAP客户端的能力,这将加速开发过程。我使用IE5.5模拟下面的WAP功能。

在点击Get Quote按钮后,将得到下面的页面

对所有的怀疑者而言,下面是一个熟悉的页面

我们已经讨论了构建Web Service的基础,我们通过PDA和SOAP客户端打开了通往Web Service的道路。

结束语

本文集中讨论了微软的web服务,微软不是这个市场的唯一玩家,ibm和sun也都在为抢占市场份额拼命努力,下面ibm和sun 关于Web Service的站点

IBM -- HTTP://-106.ibm./developerworks/webservices/

Sun -- HTTP://.sun./software/sunone/portfolio/aws.html

研究Web Service时非常有兴趣的一件事,这个慨念已经叫嚷很久了,主要厂商都宣布支持Web Service, 但是时间将告诉我们,我们究竟能从这项技术获得些什么。2.附录1

2.1 Web 客户端代码

Client_WebForm_POST.aspx

<% Page language="c#" Codebehind="Client_WebForm_POST.cs"

AutoEventWireup="false" Inherits="LiveQuotes_Clients.WebForm1" %><html><head>

<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"><meta name="CODE_LANGUAGE" Content="C#"></head>

<body>

<form method="post" runat="server" name="webServiceForm">

<table cellspacing=1 width=400 border=0>

<tr>

<td style="WIDTH: 16px; HEIGHT: 48px" bgcolor=#ffcc99>

<font style="BACKGROUND-COLOR: #ffcc99"

color=#ffcc99>

</font>

</td>

<td style="WIDTH: 161px; HEIGHT: 48px">

<font style="BACKGROUND-COLOR: #ffcc99"

face=Verdana size=2>

<strong>Web browser </strong></font></td>

<td style="HEIGHT: 48px">

<font style="BACKGROUND-COLOR: #ffcc99">

<font face=Verdana size=2>

<strong>Client</strong>

</font>

</font>

</td>

</tr>

<tr>

<td style="WIDTH: 16px" bgcolor=#ffcc99>

<font face=Verdana color=#ffcc99></font></td>

<td style="WIDTH: 161px">

<asp:Label id=lable_CompanyCode runat="server"

font-names="Verdana" font-size="Smaller">

Company Code

</asp:Label>

<font face=Verdana></font></td>

<td>

<asp:TextBox id=txt_CompanyCode runat="server"

font-names="Verdana" font-size="Smaller">

</asp:TextBox>

<font face=Verdana></font></td></tr>

<tr>

<td style="WIDTH: 16px; HEIGHT: 30px" bgcolor=#ffcc99>

</td>

<td style="WIDTH: 161px; HEIGHT: 30px">

<asp:Label id=label_Name runat="server" Width="102"

Height="18" font-names="Verdana"

font-size="Smaller">

Company Name

</asp:Label>

</td>

<td style="HEIGHT: 30px">

<asp:Label id=label_NameValue runat="server"

font-names="Verdana" font-size="Smaller"></asp:Label>

</td>

</tr>

<tr>

<td style="WIDTH: 16px; HEIGHT: 26px" bgcolor=#ffcc99></td>

<td style="WIDTH: 161px; HEIGHT: 26px">

<asp:Label id=label_Price runat="server"

font-names="Verdana" font-size="Smaller">

Price

</asp:Label>

</td>

<td style="HEIGHT: 26px">

<asp:Label id=label_PriceValue runat="server"

font-names="Verdana" font-size="Smaller">

0.0

</asp:Label>

</td>

</tr>

<tr>

<td style="WIDTH: 16px" bgcolor=#ffcc99></td>

<td style="WIDTH: 161px"></td>

<td></td></tr>

<tr>

<td style="WIDTH: 16px" bgcolor=#ffcc99></td>

<td style="WIDTH: 161px">

<asp:Button id=btn_Reset runat="server" Text="Reset">

</asp:Button></td>

<td>

<asp:Button id=btn_GetQuote runat="server"

Text="Get Quote ">

</asp:Button></td></tr></table>

</form>

<p></p>

<p></p>

<p></p>

</body></html>

2.1.2 Client_WebForm_POST.cs

namespace LiveQuotes_Clients

{

using System;

using System.Collections;

using https://www.360docs.net/doc/669315713.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using WebServiceClients;

/// <summary>

/// Summary description for WebForm1.

/// </summary>

public class WebForm1 : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Button btn_GetQuote;

protected System.Web.UI.WebControls.Button btn_Reset;

protected https://www.360docs.net/doc/669315713.html,bel label_PriceValue;

protected https://www.360docs.net/doc/669315713.html,bel label_Price;

protected https://www.360docs.net/doc/669315713.html,bel label_NameValue;

protected https://www.360docs.net/doc/669315713.html,bel label_Name;

protected System.Web.UI.WebControls.TextBox txt_CompanyCode;

protected https://www.360docs.net/doc/669315713.html,bel lable_CompanyCode;

public WebForm1()

{

Page.Init += new System.EventHandler(Page_Init);

}

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

file://

// Evals true first time browser hits the page

file://

}

}

protected void Page_Init(object sender, EventArgs e)

{

file://

// CODEGEN: This call is required by the ASP+ Windows Form Designer.

file://

InitializeComponent();

}

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{

btn_GetQuote.Click += new System.EventHandler

(this.btn_GetQuote_Click);

btn_Reset.Click += new System.EventHandler (this.btn_Reset_Click);

this.Load += new System.EventHandler (this.Page_Load);

}

public void DropDownList1_SelectedIndexChanged (object sender, System.EventArgs e) {

}

public void btn_GetQuote_Click (object sender, System.EventArgs e)

{

LiveQuotes ProxyLiveQuotes = new LiveQuotes();

try

{

label_PriceValue.Text =

ProxyLiveQuotes.MSNGetLastQuote(txt_CompanyCode.Text).ToString();

label_NameValue.Text =

ProxyLiveQuotes.MSNGetCompanyName(txt_CompanyCode.Text).ToString();

}

catch

{

label_PriceValue.Text = "0.0";

label_NameValue.Text = "The Company data is not available";

}

}

public void btn_Reset_Click (object sender, System.EventArgs e)

{

label_PriceValue.Text = "0.0";

label_NameValue.Text = " ";

}

}

}

3.附录2

3.1 Windows Application 客户端代码

namespace ClientCSharpApp

{

using System;

using System.Drawing;

using System.Collections;

using https://www.360docs.net/doc/669315713.html,ponentModel;

using System.WinForms;

using System.Data;

/// <summary>

/// Summary description for Form1.

/// </summary>

public class Form1 : System.WinForms.Form

{

/// <summary>

/// Required designer variable.

/// </summary>

private https://www.360docs.net/doc/669315713.html,ponentModel.Container components;

private https://www.360docs.net/doc/669315713.html,bel label_PriceValue;

private https://www.360docs.net/doc/669315713.html,bel label_Name;

private System.WinForms.Button btn_Reset;

private https://www.360docs.net/doc/669315713.html,bel label_CompanyName;

private https://www.360docs.net/doc/669315713.html,bel label_Price;

private https://www.360docs.net/doc/669315713.html,bel label_CompanyCode;

private System.WinForms.TextBox txt_CompanyCode;

private System.WinForms.Button btn_GetQuote;

public Form1()

{

file://

// Required for Windows Form Designer support

file://

InitializeComponent();

file://

// TODO: Add any constructor code after InitializeComponent call file://

}

/// <summary>

/// Clean up any resources being used.

/// </summary>

public override void Dispose()

{

base.Dispose();

components.Dispose();

}

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{

https://www.360docs.net/doc/669315713.html,ponents = new https://www.360docs.net/doc/669315713.html,ponentModel.Container ();

https://www.360docs.net/doc/669315713.html,bel_Name = new https://www.360docs.net/doc/669315713.html,bel ();

this.txt_CompanyCode = new System.WinForms.TextBox ();

https://www.360docs.net/doc/669315713.html,bel_Price = new https://www.360docs.net/doc/669315713.html,bel ();

https://www.360docs.net/doc/669315713.html,bel_CompanyName = new https://www.360docs.net/doc/669315713.html,bel ();

https://www.360docs.net/doc/669315713.html,bel_PriceValue = new https://www.360docs.net/doc/669315713.html,bel ();

this.btn_GetQuote = new System.WinForms.Button ();

this.btn_Reset = new System.WinForms.Button ();

https://www.360docs.net/doc/669315713.html,bel_CompanyCode = new https://www.360docs.net/doc/669315713.html,bel ();

file://this.TrayHeight = 0;

file://this.TrayLargeIcon = false;

file://this.TrayAutoArrange = true;

label_Name.Location = new System.Drawing.Point (168, 64);

label_Name.Size = new System.Drawing.Size (288, 24);

label_Name.TabIndex = 6;

txt_CompanyCode.Location = new System.Drawing.Point (168, 32);

txt_CompanyCode.TabIndex = 1;

SAP开发webservice接口教程

SAP开发webservice接口教程 在client=100中进行开发: 1.创建RFC函数 SE80,在函数组下,右击->创建,创建函数模块,填写函数模块名称及描述。 2.函数属性标签页,选择“远程启用的模块”,其余默认不变。 3.函数导入标签页,需要添加调用时传入的参数(表),“传递值”需勾选。 表类型:ZSHR_EMPLOYEER_T (需要自己创建) 行类型:ZSHR_EMPLOYEER (需要自己创建)

4.函数导出标签页,需要添加调用返回的参数(表),“传递值”需勾选。 表类型:ZSHR_EMPLOYEER_OUT_T (需要自己创建) 行类型:ZSHR_EMPLOYEER_OUT (需要自己创建) 5.函数源代码标签页,需要写代码实现把传入的数据保存在透明表中。 至此,函数创建完成。 6.创建Web Services 右击包名创建企业服务,进入如下页面,选择“Service Provider”,因为我们是服务提供者,点击“继续”。

7.选择“Existing ABAP Object (Inside Out)”,点击“继续”。 8.给服务起名,并填写描述,点击“继续”

9.选择“Function Module”,点击“继续”。 10.填写我们第一步创建的函数,并勾选“Map Name”,点击“继续”。 11.SOAP Appl默认不变,Profie下拉框选择第四个选择,即不进行权限认证。点击“继续”。 12.填写对于的包和请求,点击“继续”。 下一步,直接点击“完成”。服务创建成功。

13.配置SOA 使用T-CODE:soamanager,进入web页面的SOA管理(client=100)。 14.点击“简化Web服务配置”,进入如下设置页面,点击“执行”,从列表中找到自己创建的 服务,勾选第一个checkbox,User Name/Password(basic),点击列表左上角的“保存”,之后页面右上角的“返回”按钮,返回首页。 这一步设置,代表我们只设置用户名/密码的调用认证方式。

EBS中发布WEBSERVICE接口的方法

在Oracle EBS二次开发中,PL/SQL程序是开发人员使用频率最高的开发语言,同时也是大家最容易掌握的工具之一了,而我们也很希望将自己编写的PL/SQL 程序发布为Web服务来提供给客户端程序使用,同时也可以实现和外围系统的集成,有了irep_parser这个工具,我们就可以将自己编写的PL/SQL 程序发布到Oracle Integration Repositoy中。Oracle Integration Repositoy中集成接口的来源都是Oracle,客户化的程序发布上去的为Custom: 下面描述如何将PL/SQL程序接口发布到Oracle Integration Repositoy中作为集成接口供第三方程序集成调用 一、给EBS系统打补丁 参考如下安装文档: 安装文档.docx 二、添加客户化应用到Product Family 客户化应用设置好之后,它没有归属于任何的产品家族,如我的客户化应用CUX,因此发布在客户化应用下的集成接口在Oracle Integration Repositoy中无法方便的查看,如下图:

如果客户化集成接口是组织到自己的应用下就需要先注册一个产品家族,下面将CUX Developer(CUX) 应用注册到CUX Developer(cux_pf)这个产品家族下作为例子进行演示: 1,添加产品家族 CUX Developer(cux_pf) --添加产品家族 begin -- Call the procedure ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation => 'cux_pf', x_pseudo_product_flag => 'N', x_product_family_flag => 'Y', x_application_short_name => NULL, x_product_name => 'CUX Developer', x_product_family_abbreviation => NULL, x_product_family_name => NULL, x_aru_update_date => to_char(SYSDATE,'YYYY-MM-DD HH24:MI:SS'), x_currdate => to_char(SYSDATE,'YYYY-MM-DD HH24:MI:SS'), x_last_updated_by => -1, x_created_by => -1); COMMIT; end; 2,注册CUX Developer(CUX)应用到产品家族中

【WebService】接口的测试方法

【WebService】接口的测试方法 有以下多种方式: 一、通过WSCaller.jar工具进行测试: 前提:知道wsdl的url。 wsCaller可执行程序的发布方式为一个wsCaller.jar包,不包含Java运行环境。你可以把wsCaller.jar复制到任何安装了Java运行环境(要求安装JRE/JDK 1.3.1或更高版本)的计算机中,用以下命令运行wsCaller: java -jar wsCaller.jar 使用wsCaller软件的方法非常简单,下面是wsCaller的主界面: 首先在WSDL Location输入框中输入你想调用或想测试的Web Service的WSDL位置,如“https://www.360docs.net/doc/669315713.html,/axis/services/StockQuoteService?wsdl”,然后点“Find”按钮。wsCaller就会检查你输入的URL地址,并获取Web Service的WSDL信息。如果信息获取成功,wsCaller会在Service和Operation下拉列表框中列出该位置提供的Web Service服务和服务中的所有可调用的方法。你可以在列表框中选择你要调用或测试的方法名称,选定后,wsCaller窗口中间的参数列表框就会列出该方法的所有参数,包括每个参数的名

称、类型和参数值的输入框(只对[IN]或[IN, OUT]型的参数提供输入框)。你可以输入每个参数的取值。如下图: 这时,如果你想调用该方法并查看其结果的话,只要点下面的“Invoke”按钮就可以了。如果你想测试该方法的执行时间,则可以在“Invoke Times”框中指定重复调用的次数,然后再按“Invoke”按钮。wsCaller会自动调用你指定的方法,如果调用成功,wsCaller会显示结果对话框,其中包括调用该方法所花的总时间,每次调用的平均时间和该方法的返回值(包括返回值和所有输出型的参数)。如下图:

Webservice接口开发

Webservice接口开发 Author:Geloin

目录 1 准备工作 (1) 2 服务器端 (1) 2.1 主程序 (1) 2.2 services.xml (2) 2.3 传值方式 (3) 2.4 打包 (4) 2.5 发布 (6) 3 客户端 (8) 3.1 导入包 (8) 3.2 示例代码 (8) 3.3 代码解析 (10) 3.3.1 设定服务器地址 (10) 3.3.2 设定action (10) 3.3.3 设定要调用的方法名 (11) 3.3.4 设定客户端控件 (11) 3.3.5 设定命名空间 (11) 3.3.6 设定需要传送的值 (11) 3.3.7 设定返回数据类型 (11) 3.3.8 获取返回结果 (12)

1准备工作 至https://www.360docs.net/doc/669315713.html,/axis2/下载axis2的bin及war包,分别解压之,在环境变量中添加AXIS2_HOM,将axis2.war放置到tomcat/webapps目录下,启动tomcat,用浏览器打开http://localhost:8080/axis2,如下图所示: 2服务器端 2.1主程序 服务器端可以是任何一个程序,例如下面的例子: public class Test { // 此程序返回一个字符串 public String test1(String arg) { return arg + “测试”; } // 此程序返回一个一维数组 public String[] test2(String arg) { String[] result = new String[]{arg}; return result;

ESB部署WebService接口(统一用户和待办)

1 统一待办(WebService方式) 1.1 概述 门户系统做为用户访问各集成应用系统的统一入口,用户访问企业内部信息资源时只需要登录到门户系统,就可使用门户系统集成的各个应用,而待办做为各系统中用户需要处理的工作,门户系统需要提供收集建投内部应用系统中产生的待办信息,并且进行统一展现的功能,即统一待办功能。 统一待办应用业务涉及到的系统其中包括本期门户系统建设过程中所需集成的OA、WCM、EAM系统。 为保证门户系统接入各应用系统待办信息的规范性,现就各应用系统接入实现做统一要求,以确保门户系统统一待办功能实现的规范性、重用性及安全性。不满足本技术方案提供的接入规则的相关应用系统,应参考本文档完成对应用系统改造后方可进行门户系统统一待办接入工作。 统一待办实现共分为以下部分: 系统待办信息获取 系统待办信息展示 系统待办信息处理 1.2 待办信息获取 设计思路:应用系统通过门户系统提供的webservice接口向门户系统统一待办系统库写入代表信息,如下图

数据获取设计示意图 步骤如下: 1.应用系统需获得最新的待办信息。 2.应用系统通过门户接口,将获得的最新待办信息发送到门户系统。 3.统一待办系统将应用系统提供的待办信息展示给用户。 4.应用系统通过调用集成接口后获得信息,可以判断发送信息操作是否正常。 1.3 待办信息展示 设计思路:应用系统将最新的待办信息发送到统一待办系统中,并最终展示到门户首页上的待办栏目上,如下图 用户 待办栏目页面 待办集中展示设计示意图 场景如下:

在所有的待办类标题前加上”请办理”,待阅类标题前加上”请审阅”。此外,如果信息是未办或者未阅,用红色表示 1.4 待办信息处理 设计思路:用户点击门户系统上“待办栏目”里的一条待办时,弹出一个新页面,首先同应用系统实现SSO,然后跳转到应用系统的待办页面,完成待办处理后,由应用系统调用门户接口通知门户系统,并关闭弹出的待办处理页面,门户系统负责即时刷新门户待办页。如下图: 待办信息集中处理设计示意图

ESB部署WebService接口(统一用户和待办)

1统一待办(WebService方式) 1.1概述 门户系统做为用户访问各集成应用系统的统一入口,用户访问企业内部信息资源时只需要登录到门户系统,就可使用门户系统集成的各个应用,而待办做为各系统中用户需要处理的工作,门户系统需要提供收集建投内部应用系统中产生的待办信息,并且进行统一展现的功能,即统一待办功能。 统一待办应用业务涉及到的系统其中包括本期门户系统建设过程中所需集成的OA、WCM、EAM系统。 为保证门户系统接入各应用系统待办信息的规范性,现就各应用系统接入实现做统一要求,以确保门户系统统一待办功能实现的规范性、重用性及安全性。不满足本技术方案提供的接入规则的相关应用系统,应参考本文档完成对应用系统改造后方可进行门户系统统一待办接入工作。 统一待办实现共分为以下部分: 系统待办信息获取 系统待办信息展示 系统待办信息处理 1.2待办信息获取 设计思路:应用系统通过门户系统提供的webservice接口向门户系统统一待办系统库写入代表信息,如下图

数据获取设计示意图 步骤如下: 1.应用系统需获得最新的待办信息。 2.应用系统通过门户接口,将获得的最新待办信息发送到门户系统。 3.统一待办系统将应用系统提供的待办信息展示给用户。 4.应用系统通过调用集成接口后获得信息,可以判断发送信息操作是否正常。 1.3待办信息展示 设计思路:应用系统将最新的待办信息发送到统一待办系统中,并最终展示到门户首页上的待办栏目上,如下图 用户 待办栏目页面 待办集中展示设计示意图 场景如下:

在所有的待办类标题前加上”请办理”,待阅类标题前加上”请审阅”。此外,如果信息是未办或者未阅,用红色表示 1.4待办信息处理 设计思路:用户点击门户系统上“待办栏目”里的一条待办时,弹出一个新页面,首先同应用系统实现SSO,然后跳转到应用系统的待办页面,完成待办处理后,由应用系统调用门户接口通知门户系统,并关闭弹出的待办处理页面,门户系统负责即时刷新门户待办页。如下图: 待办信息集中处理设计示意图

WebService接口代码样例说明

WS接口代码样例 Java代码调用样例 参见WSTest_for_Java.rar附件,该附件为Eclipse工程代码。接口调用参见https://www.360docs.net/doc/669315713.html,info.smsmonitor.Test C代码调用样例 参见WSTest_for_c.tar附件,该附件为标准C工程代码。 附录 Webservice消息发送接口报文样例: TaskID-003761653 8613301261178 106557503 1 This is test message 1 00:00-23:59

webservice接口开发

Eclipse 关于接口系统的开发 我们做接口服务端: 小知识: 接口分为:服务端与客户端 服务端:即提供者,是为调用者提供数据的一方; 客户端:即调用者,是调用接口的一方; <一> 服务端的创建 步骤1. 在eclipse新建一个普通工程,例如:新建一个web project 工程。 步骤2.创建完成后,在刚才新建的工程里面,加入我们需要实现的类,和接口。在实现类里面编写客户端传入参数后,需要的相关信息。 例如: Public String sayHello(String word) { Return word; } 步骤3. 进入服务端代码的自动生成阶段,我们选中刚才编写的实现类或是创建的工程,右键。选择,new→project…→other→,如下图,选择web service 服务端。点击next

步骤4.根据下图,通过选择实现类,点击完成。自动生成服务端了。

步骤5 .前4步骤已经完成了webservice的服务端,并已经自动启动好了,我们进行如下测试,访问下自动产生的wsdl文件是否能访问到: 例如:访问wsdl地址示例 http://10.1.159.28:8082/ICTS/services/GetWorkflowListDaoImp?wsdl 其中:GetWorkflowListDaoImp 为自己创建的实现类名称 <二>客户端的创建,测试我们完成的服务端接口:

步骤1. 创建一个普通的web project 工程 步骤2. 创建完成后,选中,我们创建的工程,右键→,new→other→,创建web service cliet 客户端,完成后,点击finish。完成 步骤3。我们通过客户端进行调用,测试一下服务端是否正常。通过如下示例地址:http://10.1.159.28:8082/test1/sampleGetWorkflowListDaoImpProxy/TestClient.jsp, 这是客户端为我们自动建立的测试页面,我们只需输入参数,就可以进行测试了。界面如下:

常用的webservice接口

商业和贸易: 1、股票行情数据WEB 服务(支持香港、深圳、上海基金、债券和股票;支持多股票同时查询) Endpoint:https://www.360docs.net/doc/669315713.html,/WebServices/StockInfoWS.asmx Disco:https://www.360docs.net/doc/669315713.html,/WebServices/StockInfoWS.asmx?disco WSDL:https://www.360docs.net/doc/669315713.html,/WebServices/StockInfoWS.asmx?wsdl 支持香港股票、深圳、上海封闭式基金、债券和股票;支持多股票同时查询。数据即时更新。此中国股票行情数据WEB 服务仅作为用户获取信息之目的,并不构成投资建议。支持使用| 符号分割的多股票查询。 2、中国开放式基金数据WEB 服务 Endpoint:https://www.360docs.net/doc/669315713.html,/WebServices/ChinaOpenFundWS.asmx Disco:https://www.360docs.net/doc/669315713.html,/WebServices/ChinaOpenFundWS.asmx?disco WSDL:https://www.360docs.net/doc/669315713.html,/WebServices/ChinaOpenFundWS.asmx?wsdl 中国开放式基金数据WEB 服务,数据每天15:30以后及时更新。输出数据包括:证券代码、证券简称、单位净值、累计单位净值、前单位净值、净值涨跌额、净值增长率(%)、净值日期。只有商业用户可获得此中国开放式基金数据Web Services的全部功能,若有需要测试、开发和使用请QQ:8698053 或联系我们 3、中国股票行情分时走势预览缩略图WEB 服务 Endpoint: https://www.360docs.net/doc/669315713.html,/webservices/ChinaStockSmallImageWS.asmx Disco: https://www.360docs.net/doc/669315713.html,/webservices/ChinaStockSmallImageWS.asmx?disco WSDL: https://www.360docs.net/doc/669315713.html,/webservices/ChinaStockSmallImageWS.asmx?wsdl 中国股票行情分时走势预览缩略图WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。返回数据:2种大小可选择的股票GIF分时走势预览缩略图字节数组和直接输出该预览缩略图。 4、外汇-人民币即时报价WEB 服务 Endpoint: https://www.360docs.net/doc/669315713.html,/WebServices/ForexRmbRateWebService.asmx Disco:https://www.360docs.net/doc/669315713.html,/WebServices/ForexRmbRateWebService.asmx?disco

Webservice的应用与开发试卷

南京工业大学WebService的应用与开发试题(A)卷班级学号姓名 一、判断题(正确的打勾,错误的打叉,每题2分) 1.SOAP(Simple Object Access Protocol)协议是一个基于Xml的协议。它描述了数据类型的消 息格式以及一整套串行化规则,包括结构化类型和数组。(o) 2.客户端与Xml Web服务进行异步通信,向服务端发出服务请求的方法与接收web服务返回 的结构在同一线程中(e) 3.基于消息的体系的分布式应用中,可以使用异步消息处理也可以使用同步消息处理(o) 4.Web服务中使用SOAP表示数据的优点是SOAP提供了一种所有平台都支持的中间表示方 式,客户端只要将SOAP类型转换为自身平台可以理解的类型即可(o) 5.分布式应用程序节点越多,单点失败的可能性越大,整个系统发生故障的可能性越大(o) 6.Apache CXF为java WebService的一个框架,可以用它提供的命令行工具wsdl2java生成客 户端的代理类(o) 7.Xml DTD提供了一种避免元素名冲突的方法(e) 8.所有Xml文件只有一个根元素且不分大小写(e) 9.每个Xml文档分为两个部分:序言和文档元素。(o) 10.都是WSDL文档的关键元素。( e ) 11.XML Web服务的交互可以使用Internet协议中所有的协议( e ) 12.对于Web服务的请求可以穿越防火墙( o ) 13.ajax可以跨域访问Web服务( o ) 14.元素在WSDL中用于描述操作的引用输入/输出消息( o ) 15.元素在WSDL中用于描述交互中已经被定义了类型的数据( o ) 二、选择题(单、多项选择,每题2分) 1.Web Service需要以下哪些技术、协议的支持(ABCD ) A.HTTP B.SOAP C.XML D. T CP/IP 2.下列选项中,哪个是XML合法的元素名(A ) A.TOM

webservice接口开发

Microsoft .NET体系结构中非常强调Web Service,构建Web Service接口对.NET Framework开发工具有很大的吸引力,因此很多讲建立Web Service机制的文章都是使用.NET Framework开发工具的。 在这篇文章中我们将谈论下面几个方面的问题 1、客户端怎样和Web Service通信的 2、使用已存在的Web Service创建代理对象 3、创建客户端。这包括: Web 浏览器客户端 Windows应用程序客户端 WAP客户端 最好的学习方法是建立一个基于真实世界的实例。我们将使用一个已存在的Web Service,这个Web Service从纳斯达克获得股票价格,客户端有一个简单的接口,该接口的外观和感觉集中了建立接口的多数语句。 客户端描述 三种客户端都接受客户输入的同一股票代码,如果请求成功,将显示公司名和股票价格,如果代码不可用,将显示一个错误信息。客户端都设置有"Get Quote" 和"Reset"按钮以初始化用户的请求。 开发中的注意事项 我使用visual https://www.360docs.net/doc/669315713.html,作为我的集成开发环境,beta版没有结合.NET Mobile Web,因此,我们需要使用文本编辑器创建wap客户端,下一个版本的visual https://www.360docs.net/doc/669315713.html, 将整合入.NET Mobile Web 。 客户端怎样与Web Service通讯 我们先复习一下Web Service的功能,在我得上一篇文章中曾展示一幅图(如图一),a点的用户将通过Internet执行远程调用调用b点web 服务器上的东西,这次通讯由SOAP和HTTP完成。

webservice接口文档

软件项目文档 无线条码库存管理系统 数据库设计报告 版本:<1.0>

版本历史

目录 1文档介绍 (4) 1.1 文档目的 (4) 1.2 文档范围 (4) 1.3 读者对象 (4) 1.4 参考文献 (4) 1.5 术语与缩写解释 (4) 2数据库环境说明 (4) 3数据库的命名规则 (4) 4逻辑设计............................................................................................................................ 错误!未定义书签。5物理设计.. (4) 5.0 表汇总......................................................................................................................... 错误!未定义书签。 5.1 表A ............................................................................................................................. 错误!未定义书签。 5.n 表N ............................................................................................................................. 错误!未定义书签。6存储过程、函数、触发器设计........................................................................................ 错误!未定义书签。7安全性设计........................................................................................................................ 错误!未定义书签。 7.1 防止用户直接操作数据库的方法............................................................................. 错误!未定义书签。 7.2 用户帐号密码的加密方法......................................................................................... 错误!未定义书签。 7.3 角色与权限................................................................................................................. 错误!未定义书签。8优化.................................................................................................................................... 错误!未定义书签。9数据库管理与维护说明.................................................................................................... 错误!未定义书签。

WebService接口实例说明文档

WebService接口说明文档 文档说明 本文档主要讲述如何用CSharp创建一个简单的WebService接口,并使用Java调用这个WebService接口。 准备工作 系统环境:安装JDK1.6或更新版本 开发工具:Microsoft Visual Studio2012、MyEclipse10.5、axis2-1.6.2 C Sharp服务端 1.首先,创建一个Web Service项目。依次点击:文件—新建—项目,在弹出的新建项目窗口中选择 Web下的https://www.360docs.net/doc/669315713.html, 空 Web应用程序。如下图: 2.接下来我们需要创建我们的WebService接口实现文件。鼠标右击我们的项目,依次点击:添加—新 建项,在弹出窗口中选择Web服务。可修改新建项的文件名,注意文件名后缀后.asmx。如下图:

新建完成后我们的项目结构如下: 3.打开我们新建的MyService.asmx下的MyService.asmx.cs文件,可以看到其中已经有默认的 HelloWorld方法。

我们可以直接运行查看下运行的效果,效果如下图: 点击HelloWorld,再点击调用可以看到页面返回:

4.接下来我们完善我们的WebService接口功能。主要对WebService接口进行参数类型的测试,文本型、 布尔型、数值型、类(Class)等。 新增Add()等运算方法: 新增strcat()连接字符串方法: 新增GetBool()返回布尔值方法: 新增GetTest()返回测试类,并新增Test类 运行我们的项目,可以看到我们的结果如下图:

点击add方法测试: 输入add的参数i和j点击调用按钮,可以看到返回计算结果: 5.到此为止我们C Sharp创建的WebService程序完成。接下来看Java如何调用我们的WebService接口。

做一个c#的webservice服务接口

这是一个用Java调用C#版WebService接口的例子: C#接口: using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Services.Description; [WebService(Namespace = " https://www.360docs.net/doc/669315713.html,/ " )] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService { public Service () ... { // 如果使用设计的组件,请取消注释以下行 // InitializeComponent(); } [SoapRpcMethod(Action = " https://www.360docs.net/doc/669315713.html,/Add " , RequestNamespace = " https://www.360docs.net/doc/669315713.html,/T " , ResponseNamespace = " https://www.360docs.net/doc/669315713.html,/T " , Use = SoapBindingUse.Literal)] [WebMethod] public int Add( int a, int b) ... { return a + b; } [SoapRpcMethod(Action = " https://www.360docs.net/doc/669315713.html,/Hello " , RequestNamespace = " https://www.360docs.net/doc/669315713.html,/T " , ResponseNamespace = " https://www.360docs.net/doc/669315713.html,/T " , Use = SoapBindingUse.Literal)] [WebMethod] public String HelloWorld()

webservice数据传输系统设计说明书

X X X学院毕业 毕业设计 . 题目: _______ Web Service数据传输 系别:_____________ ______________ 专业:______________ ___________班级:_______________________ __姓名:___________________ ________指导老师:______________________ _____________

数据传输项目需求分析 1 系统概述 (2) 系统简介 (2) 系统功能简介 (2) 系统用户角色 (2) 2 系统假设 (3) 3 串口通信技术 (3) 串口通信的定义 (3) 串口通信与项目之间的联系 (3) 4 服务器与服务器之间的数据传输 (3) Web Service技术和数据库复制技术之间的优缺点 (3) Web Service技术和数据库复制技术之间的对比 (4) Web Service 技术和数据库复制技术的选择 (4) 5 分析和总结 (4) 6 文档历史 (5) 1 系统概述 系统简介 该系统主要是为了实现太阳神有限公司的数据交换传递。 系统功能简介 异构平台间的互通功能;数据备份功能。 系统用户角色 系统管理员:添加、删除普通管理员 普通管理员:可以查看数据库的数据;整理数据集合

2 系统假设 1)假定各公司设备完整,该系统开发时间和经费充足。 2)公司无其他新的功能要求; 3 串口通信技术 串口通信的定义 串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。现在比较普遍的串口通信是两个基于RS-232的串口之间的通信。 串口通信与项目之间的联系 串口通信是串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现较远距离通信。所以非常适合该项目单片机把数据传输到电脑上,也可以通过电脑把要执行的指令传输到单片机上。 4 Web Service技术和数据库复制技术 Web Service技术和数据库复制技术之间的优缺点 Web Service技术和数据库复制技术之间的对比

MyEclipse开发Webservice实例

MyEclipse Web Services是建立在XFire JavaSOAP框架和工具基础上的, XFire是一款开源的JavaSOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在WebServices下的简单API,支持POJO和schema开发. XFire支持Web Services standards,Spring整合, 支持JBI , 支持JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP,In-memory传输协议 一、环境配置:MyEclipse7.0 JDK1.6 二、创建Web Service Project 1)在MyEclipse中选择File—>New—>Other,选择Web Service Project 2)Project Name:WebServiceServer,Framework:XFire,其他选项默认

3)Next,这一步保持默认值 4)Project Library选择,选择XFire 1.2 Core Libraries

5)Finish,创建成功后看到的工程目录如下: 6)完成以上5步后,查看WebRoot/WEB-INF/web.xml 这里指明了当遇到/services/*请求时,将选用XFireConfigurableServlet来处理

三、创建Web Service Code 1)通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE

webservice接口实现过程

说明:该文档以电子路演系统与ECM的WebService集成为例 创建服务端 一、搭建测试环境 1 新建web工程OARSInterface,引入jar包 将“E:\zhaodongmei\ECM\OARSandECM\IntegrationInterfaceCode\测试代码\WebService\WebJarFiles”目录下的jar包引入。 引入的具体jar包如下:activation.jar;apache_soap-2_3_1.jar;axis.jar;axis-ant.jar;CEOperterMonitor.jar;CEService_IIOP.jar;commons-collections-3.2.jar;commons-discovery-0.2.jar;commons-fileupload-1.2.1.jar;commons-io-1.3.2.jar;commons-logging-1.0.4.jar;dom4j-1.6.1.jar;dom4j-1.6.1.jar;jaxen-1.1.1.jar;jaxrpc.jar;log4j-1.2.8.jar;mail.jar;saaj.jar;wsdl4j-1.5.1.jar。其中可选包(发布服务及生成客户端程序是要用到的):activation.jar;mail.jar。 2 配置web.xml文件 参照E:\zhaodongmei\ECM\OARSandECM\IntegrationInterfaceCode\测试代码\WebService\客户端测试项目\OARSTest\WebRoot\WEB-INF\ web.xml进行配置,不需要进行修改 二、接口开发 在开发之前,我们先介绍与接口实现相关的两个jar包:CEOperterMonitor.jar和CEService_IIOP.jar。 CEOperterMonitor.jar:实现的是对接口操作的监控。当电子路演系统调用我们的接口进行上传、下载、修改和删除操作时,可以在监控系统的数据库中查看到相关的操作记录。CEService_IIOP.jar:主要的功能是提供对文件夹或文件进行操作的各个接口供本文档中接口的开发时调用。当该jar包中的函数不能满足开发的需要时,可以对该jar包进行修改,即重写某些方法。 1 编写服务端程序src/services.OARSService/ OARSService.java 在该Java类中实现了10个方法:OARSService();getProperties(String filename);uploadRSFile( DataHandler file,Map parms);deleteRSFile(String documentId);downloadRSFile(String documentId);updateFileProperyAndPermission(DataHandler xmlFile);getParams(List affixfilebeanList);writeXML(DataHandler xmlFile);createFolder(String folderPath);main(String[] args) 下面分别介绍这些函数的功能: ①OARSService():构造函数,主要实现的功能是从OARS.config中取得参数值。并在

webservice接口调用

webservice主要是一些站点为我们写好了的方法,供我们调用,当然我们也可以自己去编写自己的webservice,本文主要是通过一个小的实例,去如何调用webservice。下面先给出几个常用的webservice的调用地址。 快递查询接口 https://www.360docs.net/doc/669315713.html,/ExpressService.asmx ip查询接口https://www.360docs.net/doc/669315713.html,/ipService.asmx 天气预报接口 https://www.360docs.net/doc/669315713.html,/weatherService.asmx 身份证查询接口 https://www.360docs.net/doc/669315713.html,/IdCardService.asmx 手机归属地接口 https://www.360docs.net/doc/669315713.html,/MobilePhoneService.asmx 翻译接口 https://www.360docs.net/doc/669315713.html,/TranslationService.asmx 火车时刻接口:https://www.360docs.net/doc/669315713.html,/TrainService.asmx 股票查询接口https://www.360docs.net/doc/669315713.html,/StockService.asmx 下面我们就拿一个简单的天气预报接口。先把天气预报接口的地址输入地址栏:会出现一些带有链接的方法名和参数说明之类的。看完之后,然后进链接可以看到测试,可以先把我们想测试的参数写进去,

点击调用,会出现一个xml文件,这些就是得到的结果,依情况而定我们出把结果处理成我们想要的就可以了。 下面说一下怎么在项目中调用:新建一个web项目,然后点击添加引用服务如图,然后点击确定。 这样就会发现在webconfig文件里面多了一下节点,而且项目类中的Service References文件件多了一个绿色的东西。可以点击看看他有哪些方法,应该是和我们在浏览器输入链接的方法是一致的,剩余就是怎么调用了。下面给出具体的代码:本代码值在webForm中先添加Lable、TextBox、Button以及Literal各一个。然后点击按钮。 protected void Button1_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.TextBox1.Text)) {

WebService接口配置说明

WebService接口说明 Ver 1.0 四川恒光科技信息有限公司 2006.5

一、调用地址 http://61.236.127.167/sms/smsservice.asmx?wsdl 二、接口定义 1.SendSMS 发送短信 a.定义 public SendResult SendSMS(string Username, string Password, string Content, string Numbers) b. c.返回值 public class SendResult { ///

/// 发送状态(0:成功;-102:余额不足;-201:用户名/密码错误) /// public int State; /// /// 短信编号 /// public string SID; } 2.QuerySMS 查询短信发送状态 a.定义 public QueryResult QuerySMS(string Username, string Password, string SID) b.参数 c. public class QueryResult { /// /// 查询状态(0:成功;-201:用户名/密码错误;-203:编号错误) /// public int QueryState; ///

/// 发送总数 ///

public int Total; /// /// 成功数 /// public int Success; /// /// 发送状态 /// public int SendState; /// /// 内容 /// public string Content; /// /// 失败号码 /// public string[] FailedNum; } 3.QueryRest 查询余额 a.定义 public RestResult QueryRest(string Username, string Password) b.参数 c.返回值 public class RestResult { /// /// 状态(0:成功;-201:用户名/密码错误) /// public int State; /// /// 余额 /// public int Count; } 4.ChangePwd 修改密码 a.定义 public int ChangePwd(string Username, string OldPwd, string NewPwd) b.参数

相关文档
最新文档