一起谈.NET技术,Silverlight访问Apache服务器(Tomcat,Geronimo)中部署的Webservice

简介:   开发环境  Vs2010 、 Silverlight4 、 Java Jdk1.6 U 21 、 Apache-tomcat-6.0.20 、 Myeclipse8.5 、 Apache-ant-1.

  开发环境

  Vs2010 、 Silverlight4 、 Java Jdk1.6 U 21 、 Apache-tomcat-6.0.20 、 Myeclipse8.5 、 Apache-ant-1.8.1 、 Axis2 、 Geronimo-tomcat6-javaee5-2.2

  下载地址:

  Apache-tomcat : http://apache.ziply.com/tomcat/

  Apache-ant   : http://apache.ziply.com/ant/

  Axis2 : http://apache.ziply.com/ws/axis2/

  Geronimo-tomcat : http://apache.ziply.com/geronimo/

  编写 Webservice

  其实就是写个 java class ,步骤如下:

  1、 使用 Myeclipse 新建个 java project

  2、 在工程的 src 目录下新建个 java class (注:没有用 package ) SlWebServiceHelloWorld.java ,内容如下:

  3、 找到这个 SlWebServiceHelloWorld 的 class 文件 ,发布的时候有用。

  SlWebServiceHelloWorld.java

 
 
public class SlWebServiceHelloWorld {
/**
* Webservice 业务方法
*
*
@return " XXX , Hello World!"
*/
public String sayHelloWorld(String name) {
return name + " , Hello World! " ;
}

  生成 Axis2

  Axis2 是一套崭新的 WebService 引擎,该版本是对 Axis1.x 重新设计的产物。 Axis2 不仅支持 SOAP1.1 和 SOAP1.2 ,还集成了非常流行的 REST WebService ,同时还支持 Spring 、 JSON 等技术。我们直接使用现成的 Axis2 War 文件。

  1、  将 下载好的 axis2-1.5.1 和   apache-ant-1.8.1 解压。

  2、  通过 运行 , 进入 axis2-1.5.1\webapp 文件夹下

  3、  配置好 Ant!

  set ANT_HOME= D:\ apache-ant-1.8.1   (Ant 解压的路径 )

  set PATH=%ANT_HOME%\bin  

  4、  打开 axis2-1.5.1\webapp\WEB-INF , 在文件夹下新建个 名为 pojo 的文件夹,把SlWebServiceHelloWorld.class (上步编写好 java 类的 Class 文件) 粘帖到这:

  5、  运行 ant 命令   , 自动在上级添加 dist 文件夹 ,生成 axis2.war。

  6、  打开 axis2-1.5.1\dist 文件夹, 你会发现已经有 axis2.war 存在。

  发布 Axis2

  众所周知,若要允许 Silverlight 控件访问其他域上的服务,该服务必须明确选择允许跨域访问。 Silverlight 4 支持两种不同的机制供服务选择跨域访问:

  在承载服务的域的根目录中放置一个 clientaccesspolicy.xml 文件,以配置服务允许跨域访问。

  在承载服务的域的根目录中放置一个有效的 crossdomain.xml 文件。

  我们这边使用的是 clientaccesspolicy.xml 。内容如下:

  clientaccesspolicy.xml

 
 
<? xml version="1.0" encoding="utf-8" ?>
< access-policy >
< cross-domain-access >
< policy >
< allow-from http-request-headers ="SOAPAction" >
< domain uri ="*" />
</ allow-from >
< grant-to >
< resource path ="/" include-subpaths ="true" />
</ grant-to >
</ policy >
</ cross-domain-access >
</ access-policy >

  (1) 使用 Tomcat 发布

  1 、把clientaccesspolicy.xml 放在apache-tomcat-6.0.20\webapps\ROOT 下。

  2 、把 axis2.war 文件 复制 粘帖到 Tomcat 的 webapps   文件夹下: apache-tomcat-6.0.20\webapps\axis2.war

  1、 启动 Tomcat ( apache-tomcat-6.0.20\bin\startup.bat )

  2、 在浏览器中输入: http://localhost:8080/axis2/services/listServices   结果如下:

  你会发现有你部署上的 SlWebServiceHelloWorld 。

  3、 点击页面中的 SlWebServiceHelloWorld ,你能看见 部署的 webservice  结果如下:

  4、 测试你的 webservice 运行

  http://localhost:8080/axis2/services/SlWebServiceHelloWorld/sayHelloWorld?name=” Sweet ”

  结果如下:

  恭喜你, webservice 部署 ok !

  (2)使用 Geronimo 发布

  1、 把 clientaccesspolicy.xml 放在 geronimo-tomcat6-javaee5-2.2\repository\org\apache\geronimo\configs\welcome-tomcat\2.2\welcome-tomcat-2.2.car 下 。

  2、 运行 Geronimo 服务,并登陆后台http://localhost:8080/console/portal/Welcome。

  UserName:system

  PassWord :manager

  3、 点击“ 部署新应用” 部署 Axis2.war。

  4、部署成功 点击“ web 应用程序”, 在浏览器中运行 http://localhost:8080/axis2/services/listServices。

  效果如下:

  和 Tomcat 一样 ,你会发现有你部署上的 SlWebServiceHelloWorld 。

  5、 点击页面中的 SlWebServiceHelloWorld ,你能看见 部署的 webservice  结果如下:

  和 Tomcat 部署一样。

  6、 测试下运行的 webservice,http://localhost:8080/axis2/services/SlWebServiceHelloWorld/sayHelloWorld?name="Geronimo "。

  因为 Tomcat 和 Geronimo 部署的项目都一样 , 所以 效果都一样。

  Silverlight 测试 Webservice

  1、  新建个 silverlight 项目 ,命名为: SlApacheWebServiceTest

  2、  Add  Service Reference ,填入http://localhost:8081/axis2/services/SlWebServiceHelloWorld?wsdl。

  命名为: ApacheSR   如下:

  3、  设计界面,编写方法。 因为用于测试,所以界面 比较随便。效果如下:

  左边文本框填入信息,右边文本框接收信息。

  Xaml

 
 
< UserControl x : Class ="SlApacheWebServiceTest.MainPage"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns : x
="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns : d
="http://schemas.microsoft.com/expression/blend/2008"
xmlns : mc
="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc : Ignorable
="d"
d : DesignHeight
="300" d : DesignWidth ="800" >

< Grid >
< TextBox x : Name ="tbName"
Height
="79"
Width
="200"
Margin
="131,81,469,139" />
< Button x : Name ="btnSend"
Content
=" 获 ? 取 ¨? 信 ? 息 ¡é"
Height
="100"
Width
="450"
Click
="btnSend_Click"
Margin
="131,167,205,33" />
< TextBox x : Name ="tbMessage"
Height
="79"
Width
="200"
Margin
="395,81,205,139" />
</ Grid >
</ UserControl >

  Cs

 
 
namespace SlApacheWebServiceTest
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}

private void btnSend_Click( object sender, RoutedEventArgs e)
{
ApacheSR.SlWebServiceHelloWorldPortTypeClient ws
= new ApacheSR.SlWebServiceHelloWorldPortTypeClient ();
ws.sayHelloWorldAsync(tbName.Text.Trim());
ws.sayHelloWorldCompleted
+= new EventHandler < ApacheSR.sayHelloWorldCompletedEventArgs > (ws_sayHelloWorldCompleted);
}

void ws_sayHelloWorldCompleted( object sender, ApacheSR.sayHelloWorldCompletedEventArgs e) {
tbMessage.Text
= e.Result.ToString();
}
}
}

  4、  F5 运行,输入 Sweet , 得到结果 Sweet, Hello World! 。 效果如下:

  测试 Pass ! 

  (注意:我使用的 Tomcat 端口为 8081 ,大家注意自己的端口!

  跨域文件 clientaccesspolicy.xml 的路径:

  Tomcat : apache-tomcat-6.0.20\webapps\ROOT

  Geronimo :geronimo-tomcat6-javaee5-2.2\repository\org\apache\geronimo\configs\welcome-tomcat\2.2\welcome-tomcat-2.2.car  )

目录
相关文章
|
4月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
61 1
|
2月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
72 1
|
2月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
3月前
|
Java 应用服务中间件 Windows
windows服务器重装系统之后,Tomcat服务如何恢复?
windows服务器重装系统之后,Tomcat服务如何恢复?
63 10
|
2月前
|
安全 Java 应用服务中间件
【服务器知识】Tomcat简单入门
【服务器知识】Tomcat简单入门
|
4月前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
3月前
|
开发框架 JavaScript 前端开发
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
网络协议 Java 应用服务中间件
Tomcat源码分析 (一)----- 手撕Java Web服务器需要准备哪些工作
本文探讨了后端开发中Web服务器的重要性,特别是Tomcat框架的地位与作用。通过解析Tomcat的内部机制,文章引导读者理解其复杂性,并提出了一种实践方式——手工构建简易Web服务器,以此加深对Web服务器运作原理的认识。文章还详细介绍了HTTP协议的工作流程,包括请求与响应的具体格式,并通过Socket编程在Java中的应用实例,展示了客户端与服务器间的数据交换过程。最后,通过一个简单的Java Web服务器实现案例,说明了如何处理HTTP请求及响应,强调虽然构建基本的Web服务器相对直接,但诸如Tomcat这样的成熟框架提供了更为丰富和必要的功能。
|
3月前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
54 0

推荐镜像

更多