webservice服务相关文件如 SheetStateSync.xml
实际调用代码如下
import java.rmi.RemoteException; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType; public class Client { public static void main(String[] args) { String endPoint = "http://10.31.4.45:9000/SheetStateSync"; Service service = new Service(); try { Call call = (Call) service.createCall(); call.setTargetEndpointAddress(endPoint); call.setOperationName(new QName("http://service.eoms.chinamobile.com/SheetStateSync", "syncSheetState")); call.addParameter(new QName("http://service.eoms.chinamobile.com/SheetStateSync", "serSupplier"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName("http://service.eoms.chinamobile.com/SheetStateSync", "serCaller"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName("http://service.eoms.chinamobile.com/SheetStateSync", "callerPwd"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName("http://service.eoms.chinamobile.com/SheetStateSync", "callTime"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName("http://service.eoms.chinamobile.com/SheetStateSync", "opDetail"), XMLType.XSD_STRING, ParameterMode.IN); String returnValue = (String) call.invoke(new Object[] {"boco1","boco1","boco1","boco1", getOpdetail()}); System.out.println(returnValue); } catch (ServiceException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } } private static String getOpdetail() { return "<?xml version='1.0' encoding='GBK'?>" + "\n<opDetail>" + "\n <recordInfo>" + "\n <fieldInfo>" + "\n <fieldEnName>alarmId</fieldEnName>" + "\n <fieldChName>网管告警ID</fieldChName>" + "\n <fieldContent>BOCO_WNMS_3596995728_2365773550_2810909194_1946027486</fieldContent>" + "\n </fieldInfo>" + "\n <fieldInfo>" + "\n <fieldEnName>sheetNo</fieldEnName>" + "\n <fieldChName>EOMS工单ID</fieldChName>" + "\n <fieldContent>FJ-051-130909-10011</fieldContent>" + "\n </fieldInfo>" + "\n <fieldInfo>" + "\n <fieldEnName>sheetStatus</fieldEnName>" + "\n <fieldChName>工单状态</fieldChName>" + "\n <fieldContent>待受理</fieldContent>" + "\n </fieldInfo>" + "\n <fieldInfo>" + "\n <fieldEnName>statusTime</fieldEnName>" + "\n <fieldChName>状态时间</fieldChName>" + "\n <fieldContent>2012-11-20 03:13:15</fieldContent>" + "\n </fieldInfo>" + "\n <fieldInfo>" + "\n <fieldEnName>region_id</fieldEnName>" + "\n <fieldChName>地市</fieldChName>" + "\n <fieldContent>11156</fieldContent>" + "\n </fieldInfo>" + "\n <fieldInfo>" + "\n <fieldEnName>DealMan</fieldEnName>" + "\n <fieldChName>当前步骤处理人</fieldChName>" + "\n <fieldContent>孙子琪</fieldContent>" + "\n </fieldInfo>" + "\n </recordInfo>" + "\n</opDetail>"; } }
在服务侧,看到client提交的报文为
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:syncSheetState xmlns:ns1="http://service.eoms.chinamobile.com/SheetStateSync" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <ns1:serSupplier xsi:type="xsd:string">boco1</ns1:serSupplier> <ns1:serCaller xsi:type="xsd:string">boco1</ns1:serCaller> <ns1:callerPwd xsi:type="xsd:string">boco1</ns1:callerPwd> <ns1:callTime xsi:type="xsd:string">boco1</ns1:callTime> <ns1:opDetail xsi:type="xsd:string"><?xml version='1.0' encoding='GBK'?> <opDetail> <recordInfo> <fieldInfo> <fieldEnName>alarmId</fieldEnName> <fieldChName>网管告警ID</fieldChName> <fieldContent>BOCO_WNMS_3596995728_2365773550_2810909194_1946027486</fieldContent> </fieldInfo> <fieldInfo> <fieldEnName>sheetNo</fieldEnName> <fieldChName>EOMS工单ID</fieldChName> <fieldContent>FJ-051-130909-10011</fieldContent> </fieldInfo> <fieldInfo> <fieldEnName>sheetStatus</fieldEnName> <fieldChName>工单状态</fieldChName> <fieldContent>待受理</fieldContent> </fieldInfo> <fieldInfo> <fieldEnName>statusTime</fieldEnName> <fieldChName>状态时间</fieldChName> <fieldContent>2012-11-20 03:13:15</fieldContent> </fieldInfo> <fieldInfo> <fieldEnName>region_id</fieldEnName> <fieldChName>地市</fieldChName> <fieldContent>11156</fieldContent> </fieldInfo> <fieldInfo> <fieldEnName>DealMan</fieldEnName> <fieldChName>当前步骤处理人</fieldChName> <fieldContent>孙子琪</fieldContent> </fieldInfo> </recordInfo> </opDetail></ns1:opDetail> </ns1:syncSheetState> </soapenv:Body> </soapenv:Envelope>
相关推荐
以上步骤详细介绍了如何使用Spring 3 + CXF 3.4搭建WebService服务端,并通过Axis 1.4客户端进行调用的过程。通过这种方式,可以实现不同技术栈之间Web服务的有效交互。在实际应用中,还需要注意安全性和性能优化等...
需要注意的是,虽然这是一种可行的解决方案,但因为Axis1.4的年代久远,可能遇到一些兼容性和性能问题,所以在条件允许的情况下,推荐使用更新的Web服务框架,如Apache CXF或Spring Web Services的最新版本。
2. **开发指南**:《Axis1.4开发指南》是理解Axis1.4的入门资料,通常会涵盖安装配置、创建服务、发布服务、调用服务等步骤,还会讲解如何处理各种错误和异常,以及如何调试Web服务。 3. **jar包**:在开发过程中,...
在这个基于CXF的Web服务完整例子中,我们将深入探讨CXF的核心概念、配置、以及如何创建和调用Web服务。 1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache ...
使用Axis1.4,开发者可以轻松地发布Java类作为Web服务,并且可以自动生成客户端 stubs(代理类),这些代理类简化了调用远程服务的过程。只需几个简单的命令,就可以把Java类变成可发布的Web服务,或者根据WSDL文件...
Java Web服务(Web Service)是一种基于开放标准的、平台无关的通信协议,它允许不同系统...尽管现在有更新的Web服务框架如Apache CXF和Spring-WS,但了解Axis1.4对于理解Web服务的基础原理和历史发展仍然是有价值的。
本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...
即时发布方式使得开发者能够快速简单地通过JWS创建和发布服务。而定制发布方式则提供了更多的灵活性,允许通过编辑WSDD文件来详细配置WebService的属性和服务行为。同时,Axis也支持取消发布WebService。 ### WSDD...
描述中的“axis连接webservice所用的jar包”提到了Apache Axis,这是一个早期的Web服务客户端工具,用于调用CXF发布的Web服务。虽然CXF也可以作为客户端,但在这里可能是为了演示或兼容性的目的,使用Axis来消费服务...
静态调用需要依赖服务类,因为客户端调用CXF WebService接口的过程中需要服务器端提供服务。这可能会带来一些不便捷的地方,例如,如果同一个项目中没有提供服务类,那么静态调用将无法工作。 动态调用 动态调用是...
标题 "axis1.4 websercie开发包" 涉及到的是Apache Axis1.4,这是一个古老的但...尽管现代Web服务技术已经发展到如Spring-WS和Apache CXF等更高级的框架,但对于一些旧项目或特定需求,Axis1.4仍然是一个可靠的选择。
Axis1.4 开发指南是针对使用Axis框架进行Web服务开发的专业参考资料,主要适用于Java开发者。...通过学习这份指南,开发者可以有效地利用Axis1.4来创建、发布和消费Web服务,同时了解相关的最佳实践和技术细节。
要深入学习这个主题,可以参考博客“WebService:Axis客户端调用需要身份验证的CXF服务”。这个博客很可能详细解释了如何在实际代码中实现上述步骤,包括如何配置Axis客户端、如何处理认证头以及如何与CXF服务进行...
假设你已经下载了一个名为`webservice`的压缩包,里面可能包含了Axis2和CXF的相关jar包,以及示例代码或者配置文件。要创建一个基本的Web服务,你需要按照以下步骤操作: 1. **创建服务接口**:定义一个Java接口,...
本文介绍了如何使用Eclipse、Axis2以及Spring和CXF来创建和调用WebService。通过实际操作步骤,读者可以了解到构建WebService的基本流程和技术要点。无论是对于初学者还是有一定经验的开发者来说,都能够从中获得...
本示例探讨了两种常见的Java WebService实现方式:Apache Axis和Apache CXF,它们都是开源的SOAP(简单对象访问协议)和RESTful服务框架。以下是关于这两种技术的详细解释及其在实际应用中的使用。 Apache Axis是最...
axis调用第三方webservice接口所需的jar包,包括axis-1.4.jar,axis-jaxrpc-1.3.jar,axis-jaxrpc-1.4.jar,commons-discovery-0.5.jar,commons-logging-1.2.jar,cxf-rt-databinding-jaxb-3.3.1.jar,javax.mail-...
对方的webservice服务端使用axis1.4开发,参数有String[]类型,试了cxf、xfire等都无法生成客户端,只能使用axis4. 解压后lib包已经全了。修改xx.bat里webservice地址一项,执行xx.bat生成客户端文件。 生成之后,...
在本教程中,我们将深入探讨如何使用Spring Boot与Apache CXF整合来创建并提供Web服务。Spring Boot以其简化Java应用程序开发的特性而受到广泛欢迎,而CXF则是一个流行的开源框架,用于构建和消费Web服务。当我们...
3. **服务发布**:如果你是服务提供方,你需要发布一个服务接口。Spring支持基于注解的Web Service发布,如使用`@WebService`和`@WebServiceClient`。你也可以使用Spring-WS或Apache CXF等库来创建WSDL并部署服务。 ...