用Eclipse3.2 MyEclipse5.5M1 axis2_1.1.1 tomcat5.5 开发Web Services (二)

B.进入下一个页面,保持“Generate java source code from WSDL file” 被选中,点击“Next” 进入下一步。
C. 点击“Browse” 来选取存放在src 目录下的SayHello.wsdl 文件,“Next” 进入下一步。
D.首先生成客户端代码和测试代码,设置如下:


E.下一步后,选择SayHellosrc目录,如下图:

Finish !

F.重复从A到C的步骤,然后生成服务端代码,设置如下:

后面同E。
这是由于没有将Axis2jar包放入class path 中以及源代码的package不为org.example.www.sayhello引起的。

H.修改包名为org.example.www.sayhello并从tomcat中的axis2 web应用WEB-INF/lib目录中加载所有jar包到项目的classpath中。

I.在SayHelloTest.java 中引入junit包。

2.4编写业务代码

打开SayHelloSKeleton.java文件其中的方法如下:

public  org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest param0)

{

// Todo fill this with the necessary business logic

throw new java.lang.UnsupportedOperationException();

}
修改为:
public  org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest request)
{
      
try    {
             SayHelloResponse response 
= new SayHelloResponse();
             response.setOut(
"Hi,"+request.getIn()+".How are you?");
             
return response;
    }
catch(UnsupportedOperationException e)
       
{
           
throw e;
   }

}

2.5打包

A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Services Archive”.点击“Next”进入下一个页面

B.选择编译好的class文件所在目录(本项目应该是WebRoot下面WEB-INF/classes),“Next”进入下一步。

C.选择WSDL文件所在目录,此处为src目录下的SayHello.wsdl文件。“Next”,再“Next”。选择services.xm文件。

D.点击“Next”,将记入最后一个页面,此处有两个选项,一个是输出目录一个是处处文件名称。这里的输出文件名称给的是SayHello。点击“Finish”完成。

2.6部署

A.将打包好的文件SayHello.jar拷贝到Tomcat中已经部署的Axis2应用的WEB-INF/services目录下面。

B.重新启动Tomcat

C.打开浏览器,输入http://127.0.0.1:8080/axis2,并点击其中的“services”链接可以看到SayHello已经被部署。点击SayHello提供的连接可以看到与之对应的WSDL。

2.7调用测试
A.修改SayHelloTest.java文件中的方法testSayHello的内容为:

public   void  testSayHello()  throws  java.lang.Exception  {
  String url
="http://localhost:8080/axis2/services/SayHello";
  org.example.www.sayhello.SayHelloStub stub 
= new org.example.www.sayhello.SayHelloStub(url);
  org.example.www.sayhello.SayHelloStub.SayHello request 
= (org.example.www.sayhello.SayHelloStub.SayHello) getTestObject(org.example.www.sayhello.SayHelloStub.SayHello.class);
  request.setIn(
"Teamlet");
  System.out.println(stub.SayHello(request).getOut());
  assertNotNull(stub.SayHello(request));
 }

从菜单中选择“Run>Run as->JUnit Test 完成测试!

你可能感兴趣的:(用Eclipse3.2 MyEclipse5.5M1 axis2_1.1.1 tomcat5.5 开发Web Services (二))