Websphere 下 发布webservice Websphere 下 开发 webservice

今天开发的项目需要用到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,具体代码内容见下图。

Websphere 下 发布webservice Websphere 下 开发 webservice_第1张图片

 

2,我们新建个WebService的项目吧。

Websphere 下 发布webservice Websphere 下 开发 webservice_第2张图片

 

 

 服务的实现选择

 

Websphere 下 发布webservice Websphere 下 开发 webservice_第3张图片

 

然后下一步,下一步下一步,都缺省的下去。

然后在服务器启动页面点击“启动服务器”按钮。

 

3,然后会生成项目,如下图所示

 

Websphere 下 发布webservice Websphere 下 开发 webservice_第4张图片

 

 

4,然后修改下面的代码

Websphere 下 发布webservice Websphere 下 开发 webservice_第5张图片

 

把那个 上图选中的那个地址改为下面的地址,因为上面的是https的地址,调用会掉不通

// 用于获取 helloWorld 的代理类

private final java.lang.String helloWorld_address = http://localhost:9080/WebServiceProject/services/HelloWorld;

 

5,然后新建Test.java 如下图所示

 

Websphere 下 发布webservice Websphere 下 开发 webservice_第6张图片

 

 

然后运行这个main函数,会输出
“Hello,this is my first webservice,welcome keyboardsun”。说明发布调用都成功了。

 


但是到这里,我们其实只成功了一半,因为我们在项目中发布的时候,webservice是需要跟项目打包在一起发布的,那怎么办呢。


我们新建一个WEB项目叫MyWeb吧。
如下图。

 

Websphere 下 发布webservice Websphere 下 开发 webservice_第7张图片

 

 

 

 

 

然后我们把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目录下面。


然后我们发布。




Websphere 下 发布webservice Websphere 下 开发 webservice_第8张图片

 

 

 

 

 

 

 

 

 

 


 

 

 


这里发布的时候,上下文的根要写成MyWeb。


然后发布成功,启动MyWeb。

我们回到WID,写个main函数测试下发布的webservice。

我们右键HelloWorld.wsdl--

 


如图

 

 

Websphere 下 发布webservice Websphere 下 开发 webservice_第9张图片

然后我们修改下代码,如下图.




 

 


然后我们新建测试类

 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

 

 


你可能感兴趣的:(Web,.net,中间件,webservice,websphere)