当前位置:文档之家› 在Eclipse上使用XFire开发WebService

在Eclipse上使用XFire开发WebService

在Eclipse上使用XFire开发WebService
在Eclipse上使用XFire开发WebService

在Eclipse上使用XFire开发WebService

Web Service概述

什么是Web Service

Web Service是能够基于网络,尤其是基于万维网(World Wide Web)直接调用的能够处理离散任务或连续任务的软件模型。目前较为流行的应用是,由一家公司对其专有数据进行封装,提供Web Service,然后其它公司就可以通过Internet来动态使用这些在线服务。这为未来全球的电子商务发展提供了新的标准和架构。

Web Service架构

Web Service是独立的、模块化的应用,能够通过因特网来描述、发布、定位以及调用。在Web Service的体系架构中包括三个角色:服务提供者(Service Provider)、服务请求者(Service Requestor)、服务注册器(Service Registry)。角色间主要有三个操作:发布(Publish)、查找(Find)、绑定(Bind)。

下图清楚的描述了三种角色,以及角色之间的作用关系。

图示一:

图示二:

这个流程图显示了Web Services中的核心技术是如何工作的。

这里,Provider是提供服务的应用程序组件,Requester是使用服务的客户端程序。很多其他技术也会参与到交互中,但是这个图只显示了在Web Services环境中必需的核心技术组件。

Web Service协议标准

简单对象访问协议(SOAP)

SOAP是Simple Object Access Protocol的缩写,是一种基于XML的不依赖传输协议的表示层协议,用来在分散或分布式的应用程序之间方便地以对象的形式交换数据。在SOAP的下层,可以是HTTP/HTTP,也可以是SMTP/POP3,还可以是为一些应用而专门设计的特殊的通信协议。

SOAP包括三个主要部分:

2SOAP封装结构:定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。

2SOAP编码规则:定义了用以交换应用程序定义的数据类型的实例的一系列机制。

2SOAP RPC表示:定义了一个用来表示远程过程调用和应答的协定。

Web Service描述语言(WSDL)

WSDL是Web Service Des cription Language的缩写,该语言将网络服务定义成一个能交换消息的通信端点集,为分布式系统提供了帮助文档,同时也可作为自动实现应用间通信的解决方案。

统一描述、发现和集成协议(UDDI)

UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

以上概念转自https://www.doczj.com/doc/2716072208.html,/Article/203/207/2005/2005082532541.html

XFire

XFire是一个免费的开源SOAP框架,它不仅可以极大方便地实现这样一个环境,并且可以提供许多Web Services规范中高级特征,这些特征在多数的商业或者开源工具都没有提供。https://www.doczj.com/doc/2716072208.html,/Download是它的官方网站下载区,同时你也可以了解关于它的更多内容。

创建过程示例

下面我们就来使用Java构建一个WebService并且构建一个客户端来测试访问它。

首先请确保你的JDK和Tomcat在Eclipse环境中是可用的,配置方法不做赘述。并且你了解一些java 编程技术和tomcat的发布常识。

版本信息:MyEclipse6.0.0M1;Tomcat6.0;JDK1.5;Xfire1.2

1、打开MyEclipse新建一个WebService Project,为你的项目命名,我选择了Java EE5.0,项目在你的WorkSpace目录下。下一步:看到了这个界面

在这里Eclipse为你创建了webService的配置文件services.xml(主意文件名是有“s”的),并进行了Xfire 的Servlet基本配置告诉项目你使用了Xfire改信息将体现在项目的web.xml文件中。继续下一步,加载Xfire相关的jar包,你看到了

在这个项目里我勾选了Xfire1.2 Core Libraries;HTTP Client Libraries;XML Beans Libraries。主要是确保引入了这些包包:

?? activation-1.0.2.jar

?? commons-codec-1.3.jar

?? commons-httpclient-3.0.jar

?? commons-logging-1.0.4.jar

?? jaxen-1.1-beta-8.jar

?? jdom-1.0.jar

?? log4j-1.2.x.jar

?? mail-1.3.3_01.jar

?? spring-1.2.x.jar

?? stax-api-1.0.jar

?? wsdl4j-1.5.2.jar

?? wstx-asl-2.9.jar

?? xbean-2.1.0.jar

?? xbean-spring-2.2.jar

?? xfire-all-1.0.jar

?? XmlSchema-1.0.jar

如果你好奇其他的包包是做什么用的就有待于我们在今后的学习中继续探究了~点击“Finish”完成了项目创建。目录结构如下图所示:

打开web.xml我们可以看到如下片断:

xml 代码

1.

2. XFireServlet

3. org.codehaus.xfire.transport.http.XFireConfigurableServlet

4. 0

5.

6.

7. XFireServlet

8. /services/*

9.

10.

11. index.jsp

12.

13.

接下来的工作是开始编写java类接下来我们要写一个服务端java类。模拟应用是一个银行转账应用,从账户A转账到账户B并需要给出金额和货币种类。我们先来实现一个接口IBankingService.java代码全文如下:

java 代码

1. package com.mybank.xfire.example;

2.

3. public interface IBankingService {

4.

5. public String transferFunds(

6. String fromAccount, String toAccount, double amount, String currency);

7.

8. }

9.

然后编写一个普通的Java类BankingService包含了一个叫做transferFunds()的方法来为我们完成这项工作。它需要四个输入参数:

?1、String fromAccount

?2、String toAccount

?3、double amount

?4、String currency

代码如下:

java 代码

1. package com.mybank.xfire.example;

2.

3. import java.text.NumberFormat;

4. import java.text.DecimalFormat;

5.

6. public class BankingService implements IBankingService {

7.

8. //Default constructor.

9. public BankingService(){

10. }

11.

12. /** Transfers fund from one account to another.

13. */

14. public String transferFunds(

15. String fromAccount, String toAccount, double amount, String currency){

16.

17. String statusMessage = "";

18.

19. //调用业务逻辑执行操作.

20. //建立并返回状态信息.

21. try {

22. NumberFormat formatter = new DecimalFormat("###,###,###,###.00");

23. statusMessage = "COMPLETED: " + currency + " " + formatter.format(amount)+

24. " was successfully transferred from A/C# " + fromAccount + " to A/C# " + toAccount;

25. } catch (Exception e){

26. statusMessage = "BankingService.transferFunds(): EXCEPTION: " + e.toString();

27. }

28. return statusMessage;

29. }

30.

31. }

32.

你可以看到BankingService是一个普通的Java类,没有任何代码告诉我们它将会在Web Services中使用。只是要有默认的构造函数,类型是public。这是必须的。否则,XFire不能够初始化这个类。好的,这里我们不需要增加任何东西。我们所有的工作都在部署描述符里完成。

Web应用的部署描述符

在Java中,Web应用程序通常需要至少一个部署描述符(叫做web.xml)对其进行配置。XFire本身是一个基于servlet的应用程序。因此,我们需要增加必要的引用到描述符文件中。然后我们还必须配置将要创建的Web Services。我们使用一个称为services.xml的新文件来完成这件事。在使用Eclipse工具构建工程的时候我们已经完成了这项配置(参见(上)文)。

services.xml

现在我们不得不说一下我们的Web Services的由什么组成的了。这由一个叫做services.xml的文件完成,当这个项目在tomcat发布后,它存放在WEB-INF/classes/META-INF/xfire目录下,它在Web应用程序的标准类路径中。而在Eclipse环境中我们可以清除的看到Eclipse已经为我们把它清楚的列在项目路径中。这里是services.xml中的基本配置条目:

xml 代码

1.

2.

3.

4. Banking

5. mybank

6. com.mybank.xfire.example.IBankingService

7. com.mybank.xfire.example.BankingService

8.

9.

10.

Web Services的定义包含在元素中,它还含有一些子元素。

第一个子元素是Banking,它可以是你提供任何的合法名字。这将会被客户端程序和其它需要定位你的服务的组件用到。例如,在服务准备好以后,你将在浏览器上使用这个名字来查看WSDL。

下一个子元素是。任何合法的XML名字都是可以的。用来唯一标识你的服务的各个参数。(注释@)

注释@:Namespace派什么用?namespace的作用是要避免命名冲突。如果我建立一项Web Service,其中的WSDL文件包含一个名为"foo"的元素,而你想要使用我的服务与另一项服务连接作为补充,这样的话另一项服务的WSDL文件就不能包含名为"foo"的元素。两个服务器程序只有在它们在两个事例中表示完全相同的东西时,才可以取相同的名字。如果有了表示区别的namespace,我的网络服务里的"foo"就可以表示完全不同于另一个网络服务里"foo"的含义。在你的客户端里,你只要加以限制就可以引用我的"foo"。

元素包含了Java类的名字,它指定了方法签名。在我们的例子中,它是接口IBankingService。如果Java 类没有实现任何接口,你就需要把类的名字放在这里。在你的Java类或者接口中可能有几个方法。只需要一个入口把它们全部发布为Web Services。

保存了实现方法的Java类名。这是一个可选元素。如果上一个元素包含了一个接口,那么相应的实现类必须在这里指定。

就是这样。我们的Web Services配置完成了。

我们如何知道Web Service正在工作呢?

为了了解Web Service是否正在工作,我们需要测试。首先,我们测试来看WSDL是否可用。我们在浏览器中输入URL。哪个URL?因为我们的应用程序的war文件是aa.war,并且在services.xml中给出的服务名是Banking,WSDL的URL应该是:http://localhost:8080/aa/services/Banking?wsdl。

请注意:URL的第一部分,例如,http://localhost:8080,可能会根据你的应用服务器不同而不同。无论怎样,当你输入URL后,将会看到一个XML文档,这个文档叫做服务的WSDL。如果你看到了,这就是你的应用作为Web Service已经可用的第一个证明。

正确的执行情况:

在这个WSDL中我们可以看到的服务方法明以及他的四个参数描述等信息。但是这个测试是不够的。可能会发生这种情况,可以看到WSDL,但是从客户端程序可能会访问不到服务。因此为了核实服务是否可以访问了,我们必须使用一个客户端进行服务的实际调用来进行一个真正的测试。

开发一个客户端

编写BankClient.java

java 代码

1. package com.mybank.xfire.client;

2.

3. import https://www.doczj.com/doc/2716072208.html,.MalformedURLException;

4. import org.codehaus.xfire.XFire;

5. import org.codehaus.xfire.XFireFactory;

6. import org.codehaus.xfire.client.XFireProxyFactory;

7. import org.codehaus.xfire.service.Service;

8. import org.codehaus.xfire.service.binding.ObjectServiceFactory;

9.

10. import com.mybank.xfire.example.IBankingService;

11. /**

12. * @author AdminiDD

13. *

14. */

15. public class BankClient {

16.

17. /**

18. * @param args

19. */

20. public static void main(String[] args) {

21. // TODO Auto-generated method stub

22.

23. }

24. /* Call the Web service

25. *

26. */

27. public String callWebService(

28. String fromAccount, String toAccount, double amount, String currency)

29. throws MalformedURLException, Exception {

30.

31. //Create a metadata of the service 创建一个service的元数据

32. Service serviceModel = new ObjectServiceFactory().create(IBankingService.class);

33. System.out.println("callSoapServiceLocal(): got service model." );

35. //Create a proxy for the deployed service 为XFire获得一个代理工厂对象

36. XFire xfire = XFireFactory.newInstance().getXFire();

37. XFireProxyFactory factory = new XFireProxyFactory(xfire);

38. //得到一个服务的本地代理

39. String serviceUrl = "http://127.0.0.1:8080/wstest/services/Banking";

40.

41. IBankingService client = null;

42. try {

43. client = (IBankingService) factory.create(serviceModel, serviceUrl);

44. } catch (MalformedURLException e) {

45. System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());

46. }

47.

48. //Invoke the service 调用服务返回状态结果信息

49. String serviceResponse = "";

50. try {

51. serviceResponse = client.transferFunds(fromAccount, toAccount, amount, currency);

52. } catch (Exception e){

53. System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());

54. serviceResponse = e.toString();

55. }

56. System.out.println("WsClient.callWebService(): status=" + serviceResponse);

57.

58. //Return the response

59. return serviceResponse;

60. }

61.

62. }

63.

编写两个JSP页来模拟请求和响应

index.jsp;发送请求

&13;&10;">&13;&10;">

java 代码

1.

2.

3.

4. "-//W3C//DTD HTML 4.01 Transitional//EN">

5.

7. "">

8.

9.

10. "pragma" content="no-cache">

11. "cache-control" content="no-cache">

12. "expires" content="0">

13. "keywords" content="keyword1,keyword2,keyword3">

14. "description" content="This is my page">

15.

16.

17.

18.

19.

Welcomle to WebService!

20.

21. Bank test : give my money to you!

22. "form1" action="say.jsp" method="POST">

23. your account ID:"toAcc" type="text"/>

24. How much do you want:"amount" type="text" />

25. "center">"submit" value="提交">

26.

27.

28.

29.

say.jsp,接收请求并返回响应结果

java 代码

1.

2.

3.

4.

5. "-//W3C//DTD HTML 4.01 Transitional//EN">

6.

7.

8. "">

9.

10.

11.

12. "pragma" content="no-cache">

13. "cache-control" content="no-cache">

14. "expires" content="0">

15. "keywords" content="keyword1,keyword2,keyword3">

16. "description" content="This is my page">

17.

18.

19.

20.

21.

22.

Welcomle to WebService!

23.

24. Message from WebService:

25.

26.

27.

项目aa编译完毕并发布到Tomcat上,启动Tomcat测试开始!访问http://127.0.0.1:8080/aa/index.jsp

执行效果:

添上你的账户,想要多少钱就写多少钱,嘿嘿提交!请求转发到say.jsp如果你看到下面的情况:

恭喜你!成功啦~可以看到有 RMB$ 1,000.00 从affman(a fit foolish man~)的账户转到了liudan的账户上!

总结:

基本的Web Services开发步骤清单

这个清单总结了将一个Java方法发布为Web Service所必须的步骤:

o1、检查Java类的方法和默认构造函数确保为public

o2、增加XFire servlet相关条目到web.xml中

o3、创建services.xml,把它放到WEB-INF/classes/META-INF/xfire目录下

o4、增加XFire和第三方包到你的Web应用的WEB-INF/lib文件夹中

嗯~确实不复杂!

以上步骤均经过亲自测试执行,如有勘误请至mail to:sweetmoondd@https://www.doczj.com/doc/2716072208.html, 欢迎指教和共同探讨

以下相关讨论(转自原文https://www.doczj.com/doc/2716072208.html,/showweb/0/0/516946.aspx)

XFire的其他高级特性

XFire的使用可能比较简单,但是在特性和功能性上,它却占据着领导者的位置。下面是它的高级特性:

o---本地数据绑定支持POJOs(plain-old Java objects)、XMLBeans、JAXB(Java Architecture for XML Binding)、Castor等等。数据绑定说明了Web Services的XML请

求和映射到Java对象的XML响应。

o---使用StAX(Streaming API for XML)处理XML文档。同DOM的基于树和SAX的事件驱动的处理方式相比,StAX使用了拉(pull)机制,它使处理更快速,内存效率更高。

o---支持多种传输协议,如HTTP、JMS(Java Message Service)和JVM内部传输。

o---嵌入式,这是XFire的核心功能之一。你可以把这个SOAP引擎嵌入到你的应用中,完全隐藏所有XFire特定引用,同样所有配置都是程序驱动。

o---丰富的API,它使XFire可高度自定义,允许开发者在不同的阶段截获请求,并且对他们进行处理。

o---兼容最新的标准例如SOAP1.1(没有加密远程工程调用,或者RPC)和1.2、WSDL1.1、the Web Services Interoperability Organization’s Basic Profile 1.0、Web Services Addressing和WS-Security。

最重要的是,XFire属于新一代Web Services引擎。不仅仅是营销用语,“新一代”有一些重要的意义。Apache Axis是第一代Java语言的Web Services引擎,已经成为了所有后来工具的参考标准。在过去的几年里,Axis以及这些其它的工具已经在很多生产环境中进行了实地测试。从中得出的一个关键的问题就是Web Services并不最适合RPC类型的通信。对于性能和效率,面向文档的消息形式是最好的方式。但是Apache Axis和很多其他的Web Services引擎都被设计成了面向RPC的(尽管它们支持文档形式)。现在,整个行业正在开发新一代的SOAP引擎,设计为面向文档的。Apache已经宣布结束旧版本的Axis引擎开发,现在专注于Axis2,现在它的预发布版本是0.95。XFire在今年的2月份发布了它的第一个产品版本(1.0)。它的下一个版本(1.1)仅仅在几个星期之后就进行了发布。

局限性

XFire有些重要的局限性你应该清楚:

o---开发Web Services的好的实践是从WSDL开始。大部分的SOAP引擎提供了从WSDL生成服务stub的工具。XFire也提供了这样一个工具。但是它是基于注释(annotations-based)的,因此需要J2SE5.0。对于仍坚持使用J2SE1.4.x的人来说,它

不是一个令人拍手叫好的工具,因为我们有很多其他方式来编写客户端,一个就是文章

中演示的方式。

o---附件支持,它将会包含在未来发行的版本中。

o---易于学习的用户向导。XFire团队在这个方面还有很多工作需要做。

结论

Java当前的趋势是简化技术的使用。因此,我们正看到一波基于POJO的开发成就。同时,面向服务架构(SOA,Services-oriented architecture)和Web Services已经变成了当前行业的热点话题。XFire正是在这种情况下产生的。它能够使POJO发布为最少的Web Services,而只需要付出最小化的努力。从而,它使希望使用这项技术的初级开发者的学习曲线变得平缓。同时,由于它兼容最新标准和提供了丰富的API,XFire为高级用户提供了更多的大好机会。

终于,使用Java完成了一个WebService的例子,其中的一个非常小的问题,折腾了我将近一天的时间。下面给出步骤,说明在Java平台上如何开发WebService。

采用的工具:Eclipse3.1.2 + Tomcat5.5 + XFire1.1 。使用XFire开发WebService应该说非常的容易,只需要按照下面例子的步骤来做:

(1)在Eclipse中新建一个dynamic Web Project ,假设名为XFireZhuweiTest。

(2)导入XFire用户库。该库中应包含xfire-1.1目录下的xfire-all-1.1.jar文件,以及xfire-1.1lib 目录下的所有文件。

(3)将上述的XFire用户库中的所有文件拷贝到XFireZhuweiTest项目的WebContentWEB-INFlib目录下。

(4)修改WebContentWEB-INFweb.xml配置文件的内容,下面是修改后web.xml:

xsi:schemaLocation="https://www.doczj.com/doc/2716072208.html,/xml/ns/j2ee

https://www.doczj.com/doc/2716072208.html,/xml/ns/j2ee/web-app_2_4.xsd">

XFireZhuweiTest

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

XFireServlet

org.codehaus.xfire.transport.http.XFireConfigurableServlet

XFireServlet

/servlet/XFireServlet/*

XFireServlet

/services/*

web.xml中添加的servlet映射表明,所有匹配“/services/*”的url请求全部交给org.codehaus.xfire.transport.http.XFireConfigurableServlet来处理。

(5)编写需要发布为WebService的Java类,这个例子中是一个非常简单的MathService.java。

package com.zhuweisky.xfireDemo;

public class MathService

{

public int Add(int a ,int b)

{

return a+b ;

}

}

(6)在WebContentMETA-INF目录下新建xfire文件夹,然后在xfire目录下添加一个XFire使用的配置文件services.xml,该配置文件中的内容反映了要将哪些java类发布为web服务。本例中的services.xml内容如下:

MathService

http://com.zhuweisky.xfireDemo/MathService

com.zhuweisky.xfireDemo.MathService

XFire会借助Spring来解析services.xml,从中提取需要发布为WebService的配置信息。

很多文章介绍到这里就完了,然而当我按照他们所说的启动WebService,然后通过http://localhost:8080/XFireZhuweiTest/services/MathService?wsdl 来访问服务描述时,却抛出了异常,说services.xml文件不存在--

“org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/xfire/services.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist”。

(7)非常关键的一点,就是这个小难题花费了我将近一天的时间。

在WebContentWEB-INF目录下新建classes文件夹,然后需要将WebContent下的整个META-INF文件夹剪切到新建的classes文件夹下。

到这里,项目的完整目录结构如下:

(8)在Package Explorer中选中XFireZhuweiTest项目,右键->Run As ->Run On Server,关联到你机器上的TomCat,然后会启动Tomcat,以启动web服务。(注意,在进行此步骤之前,请先停止TomCat)

(9)在IE中输入 http://localhost:8080/XFireZhuweiTest/services/MathService?wsdl 会得到正确的web服务描述文档。

(10)测试刚发布的webService。我使用C#动态调用Web服务:

//C#

string url= "http://localhost:8080/XFireZhuweiTest/services/MathService" ;

object[] args ={1,2} ;

object result=

ESFramework.WebService.WebServiceHelper.InvokeWebService(url ,"Add" ,args) ;

MessageBox.Show(result.ToString());

执行后,弹出对话框,显示结果是3。

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)应用到产品家族中

化工设备课程设计计算书(板式塔)

《化工设备设计基础》 课程设计计算说明书 学生姓名:学号: 所在学院: 专业: 设计题目: 指导教师: 2011年月日 目录 一.设计任务书 (2)

二.设计参数与结构简图 (4) 三.设备的总体设计及结构设计 (5) 四.强度计算 (7) 五.设计小结 (13) 六.参考文献 (14) 一、设计任务书 1、设计题目 根据《化工原理》课程设计工艺计算内容进行填料塔(或板式塔)设计。

设计题目: 各个同学按照自己的工艺参数确定自己的设计题目:填料塔(板式塔)DNXXX设计。 例:精馏塔(DN1800)设计 2、设计任务书 2.1设备的总体设计与结构设计 (1)根据《化工原理》课程设计,确定塔设备的型式(填料塔、板式塔); (2)根据化工工艺计算,确定塔板数目(或填料高度); (3)根据介质的不同,拟定管口方位; (4)结构设计,确定材料。 2.2设备的机械强度设计计算 (1)确定塔体、封头的强度计算。 (2)各种开孔接管结构的设计,开孔补强的验算。 (3)设备法兰的型式及尺寸选用;管法兰的选型。 (4)裙式支座的设计验算。 (5)水压试验应力校核。 2.3完成塔设备装配图 (1)完成塔设备的装配图设计,包括主视图、局部放大图、焊缝节点图、管口方位图等。 (2)编写技术要求、技术特性表、管口表、明细表和标题栏。 3、原始资料 3.1《化工原理》课程设计塔工艺计算数据。 3.2参考资料: [1] 董大勤.化工设备机械基础[M].北京:化学工业出版社,2003. [2] 全国化工设备技术中心站.《化工设备图样技术要求》2000版[S]. [3] GB150-1998.钢制压力容器[S]. [4] 郑晓梅.化工工程制图化工制图[M].北京:化学工业出版社,2002. [5] JB/T4710-2005.钢制塔式容器[S]. 4、文献查阅要求

【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.doczj.com/doc/2716072208.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.doczj.com/doc/2716072208.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;

塔设备设计说明书精选文档

塔设备设计说明书精选 文档 TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-

《化工设备机械基础》 塔设备设计 课程设计说明书 学院:木工学院 班级:林产化工0 8 学号: 035 036 姓名:万永燕郑舒元 分组:第四组

目录

前言 摘要 塔设备是化工、石油等工业中广泛使用的重要生产设备。塔设备的基本功能在于提供气、液两相以充分接触的机会,使质、热两种传递过程能够迅速有效地进行;还要能使接触之后的气、液两相及时分开,互不夹带。因此,蒸馏和吸收操作可在同样的设备中进行。根据塔内气液接触部件的结构型式,塔设备可分为板式塔与填料塔两大类。板式塔内沿塔高装有若干层塔板(或称塔盘),液体靠重力作用由顶部逐板流向塔底,并在各块板面上形成流动的液层;气体则靠压强差推动,由塔底向上依次穿过各塔板上的液层而流向塔顶。气、液两相在塔内进行逐级接触,两相的组成沿塔高呈阶梯式变化。填料塔内装有各种形式的固体填充物,即填料。液相由塔顶喷淋装置分布于填料层上,靠重力作用沿填料表面流下;气相则在压强差推动下穿过填料的间隙,由塔的一端流向另一端。气、液在填料的润湿表面上进行接触,其组成沿塔高连续地变化。目前在工业生产中,当处理量大时多采用板式塔,而当处理量较小时多采用填料塔。蒸馏操作的规模往往较大,所需塔径常达一米以上,故采用板式塔较多;吸收操作的规模一般较小,故采用填料塔较多。 板式塔为逐级接触式气液传质设备。在一个圆筒形的壳体内装有若干层按一定间距放置的水平塔板,塔板上开有很多筛孔,每层塔板靠塔壁处设有降液管。气液两相在塔板内进行逐级接触,两相的组成沿塔高呈阶梯式变化。板式塔的空塔气速很高,因而生产能力较大,塔板效率稳定,造价低,检修、清理方便

塔设备设计说明书

《化工设备机械基础》 塔设备设计 课程设计说明书 学院:木工学院 班级:林产化工0 8 学号: 姓名:万永燕郑舒元 分组:第四组 目录 前言............................................................... 错误!未定义书签。 摘要 (2) 关键字 (2) 第二章设计参数及要求 (2) 1.1符号说明 (2) 1.2.设计参数及要求 (3) 3 3 第二章材料选择 (4) 2.1概论 (4) 2.2塔体材料选择 (4) 2.3 裙座材料的选择 (4) 第三章塔体的结构设计及计算 (5) 3.1 按计算压力计算塔体和封头厚度 (5) 3.2 塔设备质量载荷计算 (5) 3.3 风载荷和风弯矩 (6) 3.4 地震弯矩计算 (7) 3.5 各种载荷引起的轴向应力 (7) 3.6 塔体和裙座危险截面的强度与稳定校核 (8) 3.7 塔体水压试验和吊装时的应力校核 (9) 3.7.1 水压试验时各种载荷引起的应力 (9) 9 3.8塔设备结构上的设计 (10) 10 10 板式塔的总体结构 (11) 小结 (11) 附录 (11) 附录一有关部件的质量 (11)

附录二矩形力矩计算表 (12) 附录三螺纹小径与公称直径对照表 (12) 参考文献 (12) 前言 摘要 塔设备是化工、石油等工业中广泛使用的重要生产设备。塔设备的基本功能在于提供气、液两相以充分接触的机会,使质、热两种传递过程能够迅速有效地进行;还要能使接触之后的气、液两相及时分开,互不夹带。因此,蒸馏和吸收操作可在同样的设备中进行。根据塔内气液接触部件的结构型式,塔设备可分为板式塔与填料塔两大类。板式塔内沿塔高装有若干层塔板(或称塔盘),液体靠重力作用由顶部逐板流向塔底,并在各块板面上形成流动的液层;气体则靠压强差推动,由塔底向上依次穿过各塔板上的液层而流向塔顶。气、液两相在塔内进行逐级接触,两相的组成沿塔高呈阶梯式变化。填料塔内装有各种形式的固体填充物,即填料。液相由塔顶喷淋装置分布于填料层上,靠重力作用沿填料表面流下;气相则在压强差推动下穿过填料的间隙,由塔的一端流向另一端。气、液在填料的润湿表面上进行接触,其组成沿塔高连续地变化。目前在工业生产中,当处理量大时多采用板式塔,而当处理量较小时多采用填料塔。蒸馏操作的规模往往较大,所需塔径常达一米以上,故采用板式塔较多;吸收操作的规模一般较小,故采用填料塔较多。 板式塔为逐级接触式气液传质设备。在一个圆筒形的壳体内装有若干层按一定间距放置的水平塔板,塔板上开有很多筛孔,每层塔板靠塔壁处设有降液管。气液两相在塔板内进行逐级接触,两相的组成沿塔高呈阶梯式变化。板式塔的空塔气速很高,因而生产能力较大,塔板效率稳定,造价低,检修、清理方便 关键字 塔体、封头、裙座、。 第二章设计参数及要求 1.1符号说明 Pc ----- 计算压力,MPa; Di ----- 圆筒或球壳内径,mm; [Pw]-----圆筒或球壳的最大允许工作压力,MPa; δ ----- 圆筒或球壳的计算厚度,mm; δn ----- 圆筒或球壳的名义厚度,mm; δe ----- 圆筒或球壳的有效厚度,mm;

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.doczj.com/doc/2716072208.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, 这是客户端为我们自动建立的测试页面,我们只需输入参数,就可以进行测试了。界面如下:

板式塔设计计算说明书

一、设计任务 1. 结构设计任务 完成各板式塔的总体结构设计,绘图工作量折合A1图共计4张左右,具体包括以下内容: ⑴各塔总图1张A0或A0加长; ⑵各塔塔盘装配及零部件图2张A1。 2. 设计计算内容 完成各板式塔设计计算说明书,主要包括各塔主要受压元件的壁厚计算及相应的强度校核、稳定性校核等内容。 二、设计条件 1. 塔体内径mm 2000=i D ,塔高m 299.59H i =; 2.设计压力p c =2.36MPa ,设计温度为=t 90C ?; 3. 设置地区:山东省东营市,基本风压值q 0=480Pa ,地震设防烈度8度,场地土类别III 类,地面粗糙度是B 类; 4. 塔内装有N=94层浮阀塔盘;开有人孔12个,在人孔处安装半圆形平台12个,平台宽度B=900m m ,高度为1200m m ; 5. 塔外保温层厚度为δs =100m m ,保温层密度ρ2=3503m /kg ; 三、设备强度及稳定性校核计算 1. 选材说明 已知东营的基本风压值q 0=480Pa ,地震设防烈度8度,场地土类别III 类;塔壳与裙座对接;塔内装有N=94层浮阀塔盘;塔外保温层厚度为δs =100m m ,保温层密度ρ 2=350 3m /kg ;塔体开有人孔12个,在人孔处安装半圆形平台12个,平台宽度B=900m m , 高度为1200m m ;设计压力 p c =2.36MPa ,设计温度为=t 90C ?;壳 3m m ,裙座厚度附加量2m m ;焊接接头系数取为0.85;塔内径mm 2000=i D 。 通过上述工艺条件和经验,塔壳和封头材料选用Q345R 。对该塔进行强度和稳定计算。 2. 主要受压元件壁厚计算

常用的webservice接口

商业和贸易: 1、股票行情数据WEB 服务(支持香港、深圳、上海基金、债券和股票;支持多股票同时查询) Endpoint:https://www.doczj.com/doc/2716072208.html,/WebServices/StockInfoWS.asmx Disco:https://www.doczj.com/doc/2716072208.html,/WebServices/StockInfoWS.asmx?disco WSDL:https://www.doczj.com/doc/2716072208.html,/WebServices/StockInfoWS.asmx?wsdl 支持香港股票、深圳、上海封闭式基金、债券和股票;支持多股票同时查询。数据即时更新。此中国股票行情数据WEB 服务仅作为用户获取信息之目的,并不构成投资建议。支持使用| 符号分割的多股票查询。 2、中国开放式基金数据WEB 服务 Endpoint:https://www.doczj.com/doc/2716072208.html,/WebServices/ChinaOpenFundWS.asmx Disco:https://www.doczj.com/doc/2716072208.html,/WebServices/ChinaOpenFundWS.asmx?disco WSDL:https://www.doczj.com/doc/2716072208.html,/WebServices/ChinaOpenFundWS.asmx?wsdl 中国开放式基金数据WEB 服务,数据每天15:30以后及时更新。输出数据包括:证券代码、证券简称、单位净值、累计单位净值、前单位净值、净值涨跌额、净值增长率(%)、净值日期。只有商业用户可获得此中国开放式基金数据Web Services的全部功能,若有需要测试、开发和使用请QQ:8698053 或联系我们 3、中国股票行情分时走势预览缩略图WEB 服务 Endpoint: https://www.doczj.com/doc/2716072208.html,/webservices/ChinaStockSmallImageWS.asmx Disco: https://www.doczj.com/doc/2716072208.html,/webservices/ChinaStockSmallImageWS.asmx?disco WSDL: https://www.doczj.com/doc/2716072208.html,/webservices/ChinaStockSmallImageWS.asmx?wsdl 中国股票行情分时走势预览缩略图WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。返回数据:2种大小可选择的股票GIF分时走势预览缩略图字节数组和直接输出该预览缩略图。 4、外汇-人民币即时报价WEB 服务 Endpoint: https://www.doczj.com/doc/2716072208.html,/WebServices/ForexRmbRateWebService.asmx Disco:https://www.doczj.com/doc/2716072208.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.doczj.com/doc/2716072208.html,作为我的集成开发环境,beta版没有结合.NET Mobile Web,因此,我们需要使用文本编辑器创建wap客户端,下一个版本的visual https://www.doczj.com/doc/2716072208.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数据库管理与维护说明.................................................................................................... 错误!未定义书签。

板式塔设计

设计 塔设备是化工、石油等工业中广泛使用的重要生产设备。塔设备的基本功能在于提供气、液两相以充分接触的机会,使质、热两种传递过程能够迅速有效地进行;还要能使接触之后的气、液两相及时分开,互不夹带。因此,蒸馏和吸收操作可在同样的设备中进行。 根据塔内气液接触部件的结构型式,塔设备可分为板式塔与填料塔两大类。 板式塔内沿塔高装有若干层塔板(或称塔盘),液体靠重力作用由顶部逐板流向塔底,并在各块板面上形成流动的液层;气体则靠压强差推动,由塔底向上依次穿过各塔板上的液层而流向塔顶。气、液两相在塔内进行逐级接触,两相的组成沿塔高呈阶梯式变化。 填料塔内装有各种形式的固体填充物,即填料。液相由塔顶喷淋装置分布于填料层上,靠重力作用沿填料表面流下;气相则在压强差推动下穿过填料的间隙,由塔的一端流向另一端。气、液在填料的润湿表面上进行接触,其组成沿塔高连续地变化。 目前在工业生产中,当处理量大时多采用板式塔,而当处理量较小时多采用填料塔。蒸馏操作的规模往往较大,所需塔径常达一米以上,故采用板式塔较多;吸收操作的规模一般较小,故采用填料塔较多。 本章重点介绍板式塔的塔板类型,分析操作特点并讨论浮阀塔的设计,同时还介绍各种类型填料塔的流体流体力学特性和计算。 第1节板式塔 板式塔为逐级接触式气液传质设备。在一个圆筒形的壳体内装有若干层按一定间距放置的水平塔板,塔板上开有很多筛孔,每层塔板靠塔壁处设有降液管。气液两相在塔板内进行逐级接触,两相的组成沿塔高呈阶梯式变化。板式塔的空塔气速很高,因而生产能力较大,塔板效率稳定,造价低,检修、清理方便 3.1.1塔板类型 按照塔内气液流动的方式,可将塔板分为错流塔板与逆流塔板两类。 错流塔板:塔内气液两相成错流流动,即流体横向流过塔板,而气体垂直穿过液层,但对整个塔来说,两相基本上成逆流流动。错流塔板降液管的设置方式及堰高可以控制板上液体流径与液层厚度,以期获得较高的效率。但是降液管占去一部分塔板面积,影响塔的生产能力;而且,流体横过塔板时要克服各种阻力,因而使板上液层出现位差,此位差称之为液面落差。液面落差大时,能引起板上气体分布不均,降低分离效率。错流塔板广泛用于蒸馏、吸收等传质操作中。 逆流塔板亦称穿流板,板间不设降液管,气液两相同时由板上孔道逆向穿流而过。栅板、

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.doczj.com/doc/2716072208.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.doczj.com/doc/2716072208.html,/ " )] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService { public Service () ... { // 如果使用设计的组件,请取消注释以下行 // InitializeComponent(); } [SoapRpcMethod(Action = " https://www.doczj.com/doc/2716072208.html,/Add " , RequestNamespace = " https://www.doczj.com/doc/2716072208.html,/T " , ResponseNamespace = " https://www.doczj.com/doc/2716072208.html,/T " , Use = SoapBindingUse.Literal)] [WebMethod] public int Add( int a, int b) ... { return a + b; } [SoapRpcMethod(Action = " https://www.doczj.com/doc/2716072208.html,/Hello " , RequestNamespace = " https://www.doczj.com/doc/2716072208.html,/T " , ResponseNamespace = " https://www.doczj.com/doc/2716072208.html,/T " , Use = SoapBindingUse.Literal)] [WebMethod] public String HelloWorld()

相关主题
文本预览
相关文档 最新文档