今天开发的项目需要用到webservice,我们的项目的中间件是Webshpere.
于是乎我就做个webservice的demo呗。
我没多想,就打开了内存杀手工具,WID(websphere integration Developer).
开发webservice无非就是4个步骤。
1,写个java文件,写几个不是static的接口,到时候这个类就需要发布成webservice了。
2,根据java文件生成WSDL文件呗。
3,发布呗
4,测试呗。
好,那下面我们开始吧
1,首先在WID下面创建一个Test的Java项目。并且建一个类 net.chinacsharp.HelloWorld.java,具体代码内容见下图。
2,我们新建个WebService的项目吧。
服务的实现选择
然后下一步,下一步下一步,都缺省的下去。
然后在服务器启动页面点击“启动服务器”按钮。
3,然后会生成项目,如下图所示
4,然后修改下面的代码
把那个 上图选中的那个地址改为下面的地址,因为上面的是https的地址,调用会掉不通
// 用于获取 helloWorld 的代理类
private final java.lang.String helloWorld_address = http://localhost:9080/WebServiceProject/services/HelloWorld;
5,然后新建Test.java 如下图所示
然后运行这个main函数,会输出
“Hello,this is my first webservice,welcome keyboardsun”。说明发布调用都成功了。
但是到这里,我们其实只成功了一半,因为我们在项目中发布的时候,webservice是需要跟项目打包在一起发布的,那怎么办呢。
我们新建一个WEB项目叫MyWeb吧。
如下图。
然后我们把WebServiceProject里面的WEB-INF下面的所有文件都copy到MyWeb的工程的WEB-INF下面。直接覆盖吧。
然后需要把web.xml的 <display-name>WebServiceProject</display-name>
改为 <display-name>MyWeb</display-name>
把wsdl/HelloWorld.wsdl的改为
<wsdlsoap:address location="https://localhost:9443/MyWeb/services/HelloWorld"/>
然后我们把Test的JAVA工程导出为Test.jar,
把MyWeb的工程导出为MyWeb.war,然后把Test.jar放到MyWeb.war的WEB-INF/lib目录下面。
然后我们发布。
这里发布的时候,上下文的根要写成MyWeb。
然后发布成功,启动MyWeb。
我们回到WID,写个main函数测试下发布的webservice。
我们右键HelloWorld.wsdl--
如图
然后我们修改下代码,如下图.
然后我们新建测试类
public static void main(String[] args) throws RemoteException {
HelloWorldProxy proxy = new HelloWorldProxy();
HelloWorld hello = proxy.getHelloWorld();
String result = hello.hello("keyboardsun");
System.out.println(result);
}
运行Main函数,输出是正确的,说明我们新的webservice发布成功。
其实也就是几个配置文件加上一个wsdl文件,就把一个普通的类的调用用webservice给包装了下。
所有代码地址
http://keyboardsun.iteye.com/topics/download/7b1d4d11-95d2-37e0-ab7b-5491ff54158a
- 大小: 144.8 KB
分享到:
相关推荐
Websphere 下 发布webservice
Websphere下开发webservice.pdf
对应BLOG 文章 http://blog.csdn.net/keyboardsun/archive/2009/07/18/4359338.aspx
WebSphere Message Broker之WebService连接
使用 CXF 做 webservice 简单例子 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻...
在websphere8.5 下部署含有CXFwebservice的war包无法正常启动,...归根结底原因不是找不到类,而是发布后war下的jar与websphere自身平台下的jar冲突了,要解决此问题就要通过在websphere下建立共享库来根除,可参考附件
NULL 博文链接:https://baomw.iteye.com/blog/831945
websphere6.1跟cxf的wsdl冲突各类问题汇总,开发cxf必备,webspere部署j2ee项目时发布webservice注意点。
ESB 、SOA与WebSphere的关系 什么时候需要用到ESB ESB架构标准实践 ESB设计原则实践 IBM关于建立东风有限统一的ESB的建议方案 IBM ESB的独特优势 IBM ESB案例分享
Websphere发布Webservice接口配置截图说明,
解决WebSphere不支持JDK新特性的问题.doc
IBM WebSphere Application Development: J2EE, EJB, WebService
由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。 2、互操作性 由于WCF最基本的...
axis1.4+mybatis3+spring3集成实现webservice;websphere下Log4j记录日志解决方案;
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的...
1.文字加图片很详细地演示了根据java类或者wsdl开发web service服务端。 2.本实例代码在tomcat 5.0 + webSphere 6.1顺利运行
1.文字加图片很详细地演示了根据java类或者wsdl开发web service服务端。 2.本实例在tomcat 5.0 + webSphere 6.1顺利运行
调用webservice,可以首先根据wsdl文件生成客户端,或者直接根据地址调用,这里主要讨论直接调用地址的两种不同方式:axis和Soap,soap方式主要是用在websphere下
NULL 博文链接:https://jie66989.iteye.com/blog/1700437
包含了xfire发布webservice的服务端和客户端,可以直接放在tomcat或websphere里面调用。用过cxf发布webservice,发现与websphere有冲突,无奈转用xfire。