使用Spring的ServletEndpointSupport实现WebService接口范例(2)

2019-09-01 14:10

= \ String nameSpaceUri

= \ // 创建调用对象

Service service = new Service(); Call call = null;

call = (Call) service.createCall(); // 调用 getMessage

System.out.println(\

call.setOperationName(new QName(nameSpaceUri, \ call.setTargetEndpointAddress(new java.net.URL(wsdlUrl)); String ret = (String) call.invoke(new Object[] { \ System.out.println(\ }

catch (Exception e) {

e.printStackTrace(); } } } 本

CSDN

http://blog.csdn.net/thinker28754/archive/2008/04/23/2318236.aspx

在spring中利用axis工具配置webservice成功案例

第一步:确认你用到的spring bean存在并且有效 比如 inviteService 第二步:创建要发布的服务方法 /** * */

package com.chinamobile.survey.webservice;

import java.util.List;

import org.springframework.remoting.jaxrpc.ServletEndpointSupport; import com.chinamobile.survey.entity.vo.ExamPlanContainer; import com.chinamobile.survey.invite.business.IInviteService; /**

* @author jianqiang.jiang * */

public class InviteEndPoint extends ServletEndpointSupport implements IInviteService {

// 将真实的业务bean包装成WebService private IInviteService inviteService;

// 该方法由Spring调用,将目标业务bean注入。 protected void onInit() {

this.inviteService = (IInviteService) getWebApplicationContext() .getBean(\ }

// 将业务bean的业务方法暴露成WebService

public int getAllowAnswerExamPlanCount(long userId) throws Exception { return inviteService.getAllowAnswerExamPlanCount(userId); }

public ExamPlanContainer getAllowAnswerExamPlanContainer(long userId, long offset, long maxRow) throws Exception {

return inviteService.getAllowAnswerExamPlanContainer(userId, offset, maxRow); }

}

注意里面的 ServletEndpointSupport 和对bean的引用 第三步.编辑两个文件 1.web.xml中 增加

AxisServlet

org.apache.axis.transport.http.AxisServlet

AxisServlet /services/*

2.生成server-config.wsdd,放在WEB-INF下

type=\

value=\

value=\/>

languageSpecificType=\ainer\

注意其中的 返回类型注册, 第四步.

生成客户端测试代码:

package com.chinamobile.survey.webservice; import java.util.Iterator; import java.util.List;

import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType;

import org.apache.axis.encoding.ser.BeanDeserializerFactory; import org.apache.axis.encoding.ser.BeanSerializerFactory; import com.chinamobile.survey.entity.vo.ExamPlanContainer; import com.chinamobile.survey.entity.vo.WsExamPlan; public class ArchiveClient {

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

String endpoint = \ Service service = new Service(); Call call = (Call) service.createCall();

QName searchresultqn = new QName(\ \

Class searchresultcls = ExamPlanContainer.class; call

.registerTypeMapping(searchresultcls, searchresultqn, new BeanSerializerFactory(searchresultcls, searchresultqn),

new BeanDeserializerFactory(searchresultcls, searchresultqn));

QName wsExamPlanQN = new QName(\ Class wsepcls = WsExamPlan.class;

call.registerTypeMapping(wsepcls, wsExamPlanQN,


使用Spring的ServletEndpointSupport实现WebService接口范例(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:鲁教版数学六年级上册3.6.1《整式的加减运算》word题组训练

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: