使用Spring的ServletEndpointSupport實現WebService接口范例 - 下載本文

使用Spring的ServletEndpointSupport實現WebService接口范例

一、環境配置 :在 eclipse 中配置引入相應的 Spring 框架( core/Remoting/Web )、 axis 包。

二、代碼開發

1、 在 MyEclipse 中建立一個新的 J2EE 的 Web Project, 新建 java 包 test 。

2、 接口文件 HelloWorldRemote.java

package test;

//Spring 工程中要使用的接口文件 public interface HelloWorldRemote {

public String getMessage(String name); }

3、 接口實現文件 HelloWorldBean.java

package test;

//Spring 工程中要使用的接口實現文件

public class HelloWorldBean implements HelloWorldRemote {

private String helloStr; // Spring 中需要注入的字符串 public String getHelloStr() {

return helloStr; }

public void setHelloStr(String helloStr) {

this.helloStr = helloStr; }

// 實現接口中的方法

public String getMessage(String name) {

return helloStr + \ } }

4、 在 Spring 中對 Web Service 進行封裝很簡單,僅僅需要繼承

org.springframework.remoting.jaxrpc.ServletEndpointSupport 類,實現里面的一些方法,包裝一次,將其發布出來就可以。 HelloWorldWebService.java

package test;

import javax.xml.rpc.ServiceException;

import org.springframework.remoting.jaxrpc.ServletEndpointSupport; public

class

HelloWorldWebService

extends

ServletEndpointSupport

implements

HelloWorldRemote {

private HelloWorldRemote helloWorld; protected void onInit() throws ServiceException {

// 在 Spring 容器中獲取 Bean 的實例

helloWorld = (HelloWorldRemote) getApplicationContext() .getBean(\ }

public String getMessage(String name) {

// 執行 Bean 中的相同的方法 return helloWorld.getMessage(name); } }

三、配置文件 (全部放在 /WEB-INF/ 目錄下 )

1、 web.xml 為 web 加載 spring 和 axis 配置

contextConfigLocation

/WEB-INF/applicationContext.xml

context

org.springframework.web.context.ContextLoaderServlet

1

axis

org.apache.axis.transport.http.AxisServlet

2

axis /services/*

2、 applicationContext.xml 為 spring 的配置

Say Hello to :

3、 server-config.wsdd 為 axis 服務配置

xmlns:java=\

type=\

http://xml.apache.org/axis/wsdd/

value=\

四、測試 客戶端 TestWebServiceClient.java

package test;

import javax.xml.namespace.QName; import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class TestWebServiceClient {

public static void main(String[] args) { try {

String wsdlUrl





宁夏11选5(任六)