文档章节

Maximo中调用XFire客户端的实现—Weblogic中间件

drerk
 drerk
发布于 2012/05/19 15:26
字数 485
阅读 372
收藏 0

1.在Maximo工程中创建com.test.webservice包。

2.保存将http://test:8080/test/services/updateOrderItemImpl?wsdl文件保存到src根目录中。

3.将web service 接口类放入com.test.webservice包中。

package com.test.webservice;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService(name = "UpdateOrderItem", targetNamespace = "http://webservice.test.com/")
@SOAPBinding(use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public interface UpdateOrderItem {

	@WebMethod(operationName = "upOrderItem", action = "")
	@WebResult(name = "return", targetNamespace = "")
	public boolean upOrderItem(
			@WebParam(name = "id", targetNamespace = "http://webservice.test.com/") String id,
			@WebParam(name = "status", targetNamespace = "http://webservice.test.com/") String status,
			@WebParam(name = "owner", targetNamespace = "http://webservice.test.com/") String owner,
			@WebParam(name = "ownergroup", targetNamespace = "http://webservice.test.com/") String ownergroup);

}

4.编写客户端调用程序。

package com.test.webservice;

import java.io.IOException;

import org.codehaus.xfire.client.Client;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

public class TestClient {

	/**
	 * @param args
	 * @throws Exception 
	 * @throws IOException 
	 */
	public static void main(String[] args){
		Object [] results = new TestClient().testClientMode("06ff91203759e0d4013759e98700001a", "status", "owner", "ownergroup");
        System.out.println( " result:  "   +  results[ 0 ]);
	}
	
	public Object[] testClientMode(String id ,String status,String owner,String ownerGroup){
		String wsdl = "updateOrderItemImpl.xml" ;  // 对应的WSDL文件 
        Resource resource  =   new  ClassPathResource(wsdl); 
        Client client = null;
		try {
			client = new  Client(resource.getInputStream(),  null );
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  // 根据WSDL创建客户实例 
        Object[] objArray  =   new  Object[4];
        objArray[0]  = id;
        objArray[1]  = status;
        objArray[2]  = owner;
        objArray[3]  = ownerGroup;
         // 调用特定的Web Service方法 
        Object[] results = null;
		try {
			results = client.invoke( "upOrderItem" , objArray);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        return results;
	}

}

5.在Maximo工程中添加XFire的支持。

6.在Maximo 需要调用接口的代码中加入调用方法。

/**
		 * 2012-5-18 jxd	保存服务请求时判断是否是Portal提交的请求,如果是再判断Owner,OwnerGroup,Status是否发生变化,
		 * 					如果发生变化调用Porta接口,同步更新数据。
		 */
		
		if (getBoolean("MEP_PORTAL_SUBMIT")){
			if (getBoolean("MEP_PORTAL_ISNEW")){
				setValue("MEP_PORTAL_ISNEW", false,NOACCESSCHECK | NOVALIDATION_AND_NOACTION);
			} else if (isModified("OWNER") || isModified("OWNERGROUP") || isModified("STATUS")) {
				Object [] object = new TestClient().testClientMode(getString("MEP_PORTAL_ORDERITEMID"), getString("STATUS"), getString("OWNER"), getString("OWNERGROUP"));
				System.out.println(object[0]+"------------------");
			}
		}

7.将XFire的支持jar文件加入Weblogic的启动目录中,D:\bea\user_projects\domains\base_domain\lib。放入Maximo lib目录中有问题,总是提示找不到XFire的相关jar文件。

XFire所需支持

8.启动Weblogic,测试通过。

以上为本人亲测,没有任何问题,如有其他好的方法,大家可以一起讨论交流。

© 著作权归作者所有

drerk

drerk

粉丝 5
博文 1
码字总数 485
作品 0
浦东
技术主管
私信 提问
加载中

评论(0)

在tomcat上发布webservice成功,为什么weblogic上报404

webservice在weblogic下无法访问404,在tomcat正常,而且也不报错,我用的是cxf和xfire框架都是这种情况,这是为什么,weblogic发布webservice有什么特殊的配置还是加入什么jar包吗?...

Z_dragon
2013/04/16
3.8K
2
使用MyEclipse构建Web Service(基于Xfire框架)

使用Xfire实现一个简单的“Hello, World”Web Services,作业应当包括相关的实现软件代码以及对应的WSDL。 MyEclipse 6.5,XFire 1.2.6,Tomcat 6.x XFire下载地址:http://xfire.codehaus...

郏高阳
2012/09/25
1.2K
0
XFire组件开发WebService实例

1.websevice简介 WebService又是一种高级应用,与之前学习的Struts、Spring、Hibernate等框架不同。WebService是面向服务的架构(SOA)。那么它到底是做什么用的?什么才是面向服务的架构?让...

小明子
2013/09/27
1.2W
0
求职!工作经验5年,求技术经理,架构师,高级工程师职位(地点:成都)

真心求职,非诚勿扰,谢谢! 薪资8.5K+++ 个 人 简 历 姓名 王XX 性别 男 年龄 28 籍贯 成都 民族 汉 婚姻状况 已婚 学历 本科 毕业院校 成都信息工程学院 专业 软件工程 工作经验 5年 身高 ...

我不是菜鸟
2010/07/07
2K
11
Spring整合CXf WebService总结

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开...

afreon
2015/06/19
693
0

没有更多内容

加载失败,请刷新页面

加载更多

gem install:无法构建gem native扩展(找不到头文件)

我正在使用Fedora 14,我安装并运行了MySQL和MySQL服务器5.1.42。 现在我尝试以root用户身份执行此操作: gem install mysql 但我得到这个错误: Building native extensions. This could ...

技术盛宴
8分钟前
25
0
就8张图片带你搞清楚JS的原型链

JS(JavaScript)是目前互联网开发中十分重要的一门编程语言,他承载着网页、手机应用程序、硬件程序、微信、微信小程序中的各种特效及处理逻辑功能。

涂老师
11分钟前
14
0
如何在Mac和Windows PC之间无线共享文件

有时候,我需要在Mac和PC之间无线共享文件。由于并非所有人都在使用macOS,因此无论是在办公室还是在家里,这种情况都会发生。尽管并非一帆风顺,但有一种无需任何第三方应用程序即可弥合差距...

mac小叮当
11分钟前
59
0
tp5事务操作

使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。 使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自动控...

owenzhang24
12分钟前
34
0
tomcat 内存溢出 org.apache.tomcat.util.net.NioEndpoint$Acceptor.run

解决资料: https://www.cnblogs.com/heyongboke/p/9806396.html https://www.cnblogs.com/guoguochong/p/10641615.html 2020-02-12 23:55:09 INFO ShakedownTestRespHandler:92 - 打印实时日......

zaolonglei
21分钟前
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部