- 浏览: 104737 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
di1984HIT:
学习了,学习了~
Spring注解注入 -
cleen:
ERROR: Unsupported version numb ...
【2010.2.7】SVN版本问题:This client is too old to work with working copy -
崔志军:
解决问题,很好
【2010.2.7】SVN版本问题:This client is too old to work with working copy -
夜曲6763:
lz,我也遇到这个问题,按你说的在命令执行那行后,就只打开那个 ...
【2010.2.7】SVN版本问题:This client is too old to work with working copy -
bee1314:
新来的开发兄弟碰到这个问题,用博主的方法解决问题,谢谢!
【2010.2.7】SVN版本问题:This client is too old to work with working copy
ITMS和97/BOSS交互工单,用WebService,摸索着搞定,记录如下。
一、下载Axis,http://ws.apache.org/axis/index.html,项目中用的1.4
二、环境设置:本机jdk版本-1.5.0_07,Tomcat-5.5
解压下载到的axis-bin-1_4.tar.gz
JAVA_HOME C:\Program Files\Java\jdk1.5.0_07
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
AXIS_HOME D:\dev\axis-1_4
AXIS_LIB %AXIS_HOME%\lib
AXISCLASSPATH %AXIS_LIB%\axis.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\commons-discovery-0.2.jar
三、验证安装:
将axis-bin-1_4.tar.gz项目包中webapps下的axis拷入到Tomcat-webapps,启动Tomcat。
浏览器打开http://localhost:8882/axis/。如下:
·Validation 可对安装配置校验。
必选jar包必须都有,如缺失会有提示。
·List 显示已提供的WebService接口,wsdl为接口描述。
其它略。
四、Axis的发布方式:(前两种调用方式来自网络)
Axis支持三种web service的部署和开发,分别为:
1、Dynamic Invocation Interface (DII)
2、Dynamic Proxy方式
3、Stubs方式
这里先介绍其中比较简单的两种,这两种在实际的工程开发中应用并不多见,但容易学习,第三种是在工程中经常用到的,将在下一篇中做介绍:
1,Dynamic Invocation Interface动态调用接口
这个也称之为即时发布,是Axis的特色之一,使用即时发布使用户只需有提供服务的Java类的源代码,即可将其迅速发布成Web服务。每当用户调用这类服务的时候,Axis会自动进行编译,即使服务器重启了也不必对其做任何处理,使用非常简单快捷。
使用即时发布首先需要一个实现服务功能的Java源文件,将其扩展名改为.jws(Java Web Service的缩写),然后将该文件放到“……\webapps\axis”目录下即可。
第一个程序简单的返回HELLO WORLD!
HelloWorld.java
将HelloWorld.java拷贝到%TOMCAT_HOME%\webapps\axis下,然后将其改名为HelloWorld.jws,这样AXIS就自然将其发布了。现在写个客户端程序访问一下:
TestClient.java
注意项目中要导入其自带的AXIS包(当然应该把其中JAR文件替换一下),可以看到程序返回了 "HELLO WORLD!"
可以看到在AXIS里发布服务其实是一件很容易的事,这是因为这个服务很简单的原因。。
局限性:必须知道服务端的源码,这个...尴尬,一般项目里只提供url给客户端调用
2,Dynamic Proxy动态代理方式
1、将HelloWorld.java编译成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes下
2、在%TOMCAT_HOME%\webapps\axis\WEB-INF下新建deploy.wsdd文件,即SOAP服务发布描述文件deploy.wsdd
在DOS下转换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:
你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/servlet/AxisServlet,你就会看到你的服务已发布
同样用客户端程序访问一下:(注意和上边的差别!!)
HelloClient.java
对于有自定义的参数的客户端调用方式如下:
3,Stubs方式
工程应用当中的web service的参数和通回值通常都是一个数据Bean类,因此前面介绍的两种发布AXIS的web service方法在工程应用当中并不多见,下面介绍Stub发布方法,开发步骤如下:
1、编写服务端程序ITMSWorkSheetMgt.java
2、将Axis集成到工程,在工程的web.xml配置文件中加入以下AXIS配置
3、wsdl2java ,Ant编译
4、生成客户端代码目录如下:包含客户端client stub文件、deploy.wsdd(发布service)和undeploy.wsdd(删除service)
看一下deploy.wsdd(部署service用到)
5、发布服务:
进入web-inf,deploy.wsdd放入此目录,执行命令
AdminClient 首先会在axis.jar所在应用下的WEB-INF文件夹下创建一个webservice配置文件server-config.wsdd,并且根据wsdd文件的配置将我们的webservice加入到这个配置文件中。如果server-config.wsdd已经存在则不会创建,会修改这个文件将新的service 配置到server-config.wsdd文件中。
即:会在WEB-INF下生成server-config.wsdd文件,这个就是axis的服务配置文件,对外提供service描述。
现在访问访问http://localhost:8080/工程名/services就可以看到此工程发布的所有的web service
6、客户端调用:
服务端和客户端的代码、配置就是如此。
一、下载Axis,http://ws.apache.org/axis/index.html,项目中用的1.4
二、环境设置:本机jdk版本-1.5.0_07,Tomcat-5.5
解压下载到的axis-bin-1_4.tar.gz
JAVA_HOME C:\Program Files\Java\jdk1.5.0_07
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
AXIS_HOME D:\dev\axis-1_4
AXIS_LIB %AXIS_HOME%\lib
AXISCLASSPATH %AXIS_LIB%\axis.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\commons-discovery-0.2.jar
三、验证安装:
将axis-bin-1_4.tar.gz项目包中webapps下的axis拷入到Tomcat-webapps,启动Tomcat。
浏览器打开http://localhost:8882/axis/。如下:
·Validation 可对安装配置校验。
必选jar包必须都有,如缺失会有提示。
·List 显示已提供的WebService接口,wsdl为接口描述。
其它略。
四、Axis的发布方式:(前两种调用方式来自网络)
Axis支持三种web service的部署和开发,分别为:
1、Dynamic Invocation Interface (DII)
2、Dynamic Proxy方式
3、Stubs方式
这里先介绍其中比较简单的两种,这两种在实际的工程开发中应用并不多见,但容易学习,第三种是在工程中经常用到的,将在下一篇中做介绍:
1,Dynamic Invocation Interface动态调用接口
这个也称之为即时发布,是Axis的特色之一,使用即时发布使用户只需有提供服务的Java类的源代码,即可将其迅速发布成Web服务。每当用户调用这类服务的时候,Axis会自动进行编译,即使服务器重启了也不必对其做任何处理,使用非常简单快捷。
使用即时发布首先需要一个实现服务功能的Java源文件,将其扩展名改为.jws(Java Web Service的缩写),然后将该文件放到“……\webapps\axis”目录下即可。
第一个程序简单的返回HELLO WORLD!
HelloWorld.java
public class HelloWorld { public String sayHello() { return "HELLO WORLD!"; } }
将HelloWorld.java拷贝到%TOMCAT_HOME%\webapps\axis下,然后将其改名为HelloWorld.jws,这样AXIS就自然将其发布了。现在写个客户端程序访问一下:
TestClient.java
import org.apache.axis.client.Call; import org.apache.axis.client.Service; import javax.xml.rpc.ParameterMode; public class TestClient { public static void main(String [] args) throws Exception { String endpoint = "http://localhost:" +"8080"+ "/axis/HelloWorld.jws";//指明服务所在位置 Service service = new Service(); //创建一个Service实例,注意是必须的! Call call = (Call) service.createCall();//创建Call实例,也是必须的! call.setTargetEndpointAddress( new java.net.URL(endpoint) );//为Call设置服务的位置 call.setOperationName( "sayHello" );//注意方法名与HelloWorld.java中一样!! String res = (String) call.invoke( new Object[] {} );//返回String,没有传入参数 System.out.println( res ); } }
注意项目中要导入其自带的AXIS包(当然应该把其中JAR文件替换一下),可以看到程序返回了 "HELLO WORLD!"
可以看到在AXIS里发布服务其实是一件很容易的事,这是因为这个服务很简单的原因。。
局限性:必须知道服务端的源码,这个...尴尬,一般项目里只提供url给客户端调用
2,Dynamic Proxy动态代理方式
1、将HelloWorld.java编译成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes下
2、在%TOMCAT_HOME%\webapps\axis\WEB-INF下新建deploy.wsdd文件,即SOAP服务发布描述文件deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="HelloWorld" provider="java:RPC"> <parameter name="className" value="HelloWorld"/> <parameter name="allowedMethods" value="sayHello"/> </service> </deployment>
在DOS下转换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/servlet/AxisServlet,你就会看到你的服务已发布
同样用客户端程序访问一下:(注意和上边的差别!!)
HelloClient.java
import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class HelloClient { public static void main(String [] args) throws Exception { String endpoint = "http://localhost:" +"8080"+ "/axis/services/HelloWorld";//注意!差别仅仅在这里!! Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName("sayHello" ); String res = (String) call.invoke( new Object[] {} ); System.out.println( res ); } }
对于有自定义的参数的客户端调用方式如下:
String endpoint = "http://192.168.0.3/DataManager/services/User"; Service service= new Service(); Call call= (Call)service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endpoint)); call.setOperationName("addUser"); //前面都一样,但是这里加了一段注册参数类型的说明,如果有多个自定义参数只需要要复制这段代码, //再修改参数就行了。 QName qn = new QName("urn:beanservice", "User"); call.registerTypeMapping(User.class, qn, new BeanSerializerFactory(User.class, qn), new BeanDeserializerFactory(User.class, qn)); User user = new User(); user.setClass_("U"); user.setName_("annlee"); user.setEmail_("1@163.com"); user.setSeq_(new Integer(65546)); user.setPassword_("password"); user.setEnabled_("Y"); user.setDisplayname_("李飞虎"); String result=(String )call.invoke(new Object[]{user});
3,Stubs方式
工程应用当中的web service的参数和通回值通常都是一个数据Bean类,因此前面介绍的两种发布AXIS的web service方法在工程应用当中并不多见,下面介绍Stub发布方法,开发步骤如下:
1、编写服务端程序ITMSWorkSheetMgt.java
/** * ITMSWorkSheetMgt.java * * This file was auto-generated from WSDL * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. */ package com.shtel.worksheet; import java.util.Date; import org.apache.log4j.Logger; import com.pai.bossItf.bo.ITMSWorkSheet; import com.pai.bossItf.bo.MgtResponse; import com.shtel.worksheet.common.AppException; import com.shtel.worksheet.common.Contants; import com.shtel.worksheet.dao.WorkSheetDao; import com.shtel.worksheet.model.WorksheetInfo; public class ITMSWorkSheetMgt { Logger logger = Logger.getLogger(ITMSWorkSheetMgt.class); public MgtResponse addITMSWorkSheet(ITMSWorkSheet itmsWorkSheet) { logger.debug("Invoke addITMSWorkSheet..."); // 返回结果 MgtResponse response = new MgtResponse(); logger.debug("addITMSWorkSheet:actionType=["+ itmsWorkSheet.getActionType() + "]");// 业务类型 logger.debug("addITMSWorkSheet:adNumber=[" + itmsWorkSheet.getAdNumber()+ "]");// AD编号 logger.debug("addITMSWorkSheet:crmQuoteNo=["+ itmsWorkSheet.getCrmQuoteNo() + "]");// crm订单号 logger.debug("addITMSWorkSheet:orderType=["+ itmsWorkSheet.getOrderType() + "]");// 工单类型 logger.debug("addITMSWorkSheet:requireTime=["+ itmsWorkSheet.getRequireTime() + "]");// 用户要求完工日期 logger.debug("addITMSWorkSheet:sht_applicationTime=["+ itmsWorkSheet.getSht_applicationTime() + "]");// 开工单日期 logger.debug("addITMSWorkSheet:sht_sequenceNo=["+ itmsWorkSheet.getSht_sequenceNo() + "]");// 工单序号 if (itmsWorkSheet.getWorkItem() != null) { int len = itmsWorkSheet.getWorkItem().length; for (int i = 0; i < len; i++) { logger.debug("addITMSWorkSheet:workItem[" + i + "]=[" + itmsWorkSheet.getWorkItem()[i] + "]"); } } // 工单序号不能为空 if (itmsWorkSheet.getSht_sequenceNo() == null || "".equals(itmsWorkSheet.getSht_sequenceNo())) { response.setResultCode(Contants.ERR_ORDERNO_NULL); response.setResultMessage(Contants.STR_ORDERNO_NULL); return response; } // CRM流水号不能为空 if (itmsWorkSheet.getCrmQuoteNo() == null || "".equals(itmsWorkSheet.getCrmQuoteNo())) { // TODO 补充 response.setResultCode(""); response.setResultMessage(""); } // 开工单日期不能为空 if (itmsWorkSheet.getSht_applicationTime() == null || "".equals(itmsWorkSheet.getSht_applicationTime())) { response.setResultCode(Contants.ERR_ORDERTIME_NULL); response.setResultMessage(Contants.STR_ORDERTIME_NULL); return response; } // 业务类型不能为空 if (itmsWorkSheet.getActionType() == null || "".equals(itmsWorkSheet.getActionType())) { response.setResultCode(Contants.ERR_ORDERREMARK_NULL); response.setResultMessage(Contants.STR_ORDERREMARK_NULL); return response; } // AD编号不能为空 if (itmsWorkSheet.getAdNumber() == null || "".equals(itmsWorkSheet.getAdNumber())) { response.setResultCode(Contants.ERR_ADNO_NULL); response.setResultMessage(Contants.STR_ADNO_NULL); return response; } // 工单类型不能为空 if (itmsWorkSheet.getOrderType() == null || "".equals(itmsWorkSheet.getOrderType())) { response.setResultCode(Contants.ERR_ORDERTYPE_NULL); response.setResultMessage(Contants.STR_ORDERTYPE_NULL); return response; } /** ****** SAVE WORKSHEET ****** */ try { Date opTime = new Date(); WorksheetInfo workSheet = new WorksheetInfo(); workSheet.orderRemark = itmsWorkSheet.getActionType(); workSheet.adNo = itmsWorkSheet.getAdNumber(); workSheet.orderNo = itmsWorkSheet.getSht_sequenceNo(); workSheet.orderLsh = itmsWorkSheet.getCrmQuoteNo(); workSheet.orderTime =itmsWorkSheet.getSht_applicationTime(); workSheet.userTargetDate = itmsWorkSheet.getRequireTime(); workSheet.orderType = itmsWorkSheet.getOrderType(); workSheet.opTime = opTime; workSheet.status = Contants.STATUS_BEFORE_SG; workSheet.workItemList = itmsWorkSheet.getWorkItem(); WorkSheetDao.saveItems(workSheet); response.setResultCode(Contants.OPER_SUCCESS); response.setResultMessage(Contants.STR_OPER_SUCCESS); } catch (AppException e) { response.setResultCode(Contants.ERR_DATABASE_ERROR); response.setResultMessage(Contants.STR_DATABASE_ERROR); logger.error("addITMSWorkSheet: Database insert error",e); } return response; } }
2、将Axis集成到工程,在工程的web.xml配置文件中加入以下AXIS配置
<!-- AXis Servlet Mapping --> <servlet> <servlet-name>AxisServlet</servlet-name> <display-name>Apache-Axis Servlet</display-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
3、wsdl2java ,Ant编译
<target name="WSDL2JAVA"> <path id="class.path"> <fileset dir="${axis.home}/lib"> <include name="**/*.jar" /> </fileset> </path> <mkdir dir="${wsclient.src.dir}" /> <taskdef resource="axis-tasks.properties" classpathref="class.path" /> <axis-wsdl2java output="${wsclient.src.dir}" serverside="true" skeletondeploy="true" testcase="false" verbose="true" url="${wsdl.dir}/ITMSWorkSheetMgt.wsdl"> <mapping namespace="http://bo.bossItf.pai.com" package="com.pai.bossItf.bo" /> </axis-wsdl2java> </target>
4、生成客户端代码目录如下:包含客户端client stub文件、deploy.wsdd(发布service)和undeploy.wsdd(删除service)
看一下deploy.wsdd(部署service用到)
<!-- Use this file to deploy some handlers/chains and services --> <!-- Two ways to do this: --> <!-- java org.apache.axis.client.AdminClient deploy.wsdd --> <!-- after the axis server is running --> <!-- or --> <!-- java org.apache.axis.utils.Admin client|server deploy.wsdd --> <!-- from the same directory that the Axis engine runs --> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- Services from ITMSWorkSheetMgtService WSDL service --> <service name="ITMSWorkSheetMgt" provider="java:RPC" style="wrapped" use="literal"> <parameter name="wsdlTargetNamespace" value="http://bo.bossItf.pai.com"/> <parameter name="wsdlServiceElement" value="ITMSWorkSheetMgtService"/> <parameter name="schemaQualified" value="http://bo.bossItf.pai.com"/> <parameter name="wsdlServicePort" value="ITMSWorkSheetMgt"/> <parameter name="className" value="com.pai.bossItf.bo.ITMSWorkSheetMgtSoapBindingSkeleton"/> <parameter name="wsdlPortType" value="ITMSWorkSheetMgt"/> <parameter name="typeMappingVersion" value="1.2"/> <parameter name="allowedMethods" value="*"/> <typeMapping xmlns:ns="http://bo.bossItf.pai.com" qname="ns:WorkItem" type="java:com.pai.bossItf.bo.WorkItem" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> <typeMapping xmlns:ns="http://bo.bossItf.pai.com" qname="ns:MgtResponse" type="java:com.pai.bossItf.bo.MgtResponse" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> <typeMapping xmlns:ns="http://bo.bossItf.pai.com" qname="ns:ITMSWorkSheet" type="java:com.pai.bossItf.bo.ITMSWorkSheet" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" /> <arrayMapping xmlns:ns="http://bo.bossItf.pai.com" qname="ns:ArrayOfWorkItem" type="java:com.pai.bossItf.bo.WorkItem[]" innerType="cmp-ns:WorkItem" xmlns:cmp-ns="http://bo.bossItf.pai.com" encodingStyle="" /> </service> </deployment>
5、发布服务:
进入web-inf,deploy.wsdd放入此目录,执行命令
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd
AdminClient 首先会在axis.jar所在应用下的WEB-INF文件夹下创建一个webservice配置文件server-config.wsdd,并且根据wsdd文件的配置将我们的webservice加入到这个配置文件中。如果server-config.wsdd已经存在则不会创建,会修改这个文件将新的service 配置到server-config.wsdd文件中。
即:会在WEB-INF下生成server-config.wsdd文件,这个就是axis的服务配置文件,对外提供service描述。
<!-- caoxh 接口机接收工单 20101119 --> <service name="ITMSWorkSheetMgt" provider="java:RPC" style="wrapped" use="literal"> <parameter name="allowedMethods" value="*" /> <parameter name="typeMappingVersion" value="1.2" /> <parameter name="wsdlPortType" value="ITMSWorkSheetMgt" /> <parameter name="className" value="com.shtel.worksheet.ITMSWorkSheetMgt" /> <parameter name="wsdlServicePort" value="ITMSWorkSheetMgt" /> <parameter name="schemaQualified" value="http://bo.bossItf.pai.com" /> <parameter name="wsdlTargetNamespace" value="http://bo.bossItf.pai.com" /> <parameter name="wsdlServiceElement" value="ITMSWorkSheetMgtService" /> <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns5:WorkItem" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.pai.bossItf.bo.WorkItem" xmlns:ns5="http://bo.bossItf.pai.com" /> <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns6:MgtResponse" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.pai.bossItf.bo.MgtResponse" xmlns:ns6="http://bo.bossItf.pai.com" /> <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns7:ITMSWorkSheet" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.pai.bossItf.bo.ITMSWorkSheet" xmlns:ns7="http://bo.bossItf.pai.com" /> <arrayMapping innerType="ns8:WorkItem" languageSpecificType="java:com.pai.bossItf.bo.WorkItem[]" qname="ns8:ArrayOfWorkItem" xmlns:ns8="http://bo.bossItf.pai.com" /> </service>
现在访问访问http://localhost:8080/工程名/services就可以看到此工程发布的所有的web service
6、客户端调用:
/** * 客户端stub调用webservice接口 * * @param worksheet */ public static OrderMessageInfo addWorksheet(ITMSWorkSheet worksheet) { OrderMessageInfo orderState = new OrderMessageInfo(); MgtResponse response = new MgtResponse(); ITMSWorkSheetMgtSoapBindingStub binding = null; ITMSWorkSheetMgtServiceLocator locator = new ITMSWorkSheetMgtServiceLocator(); String webServiceUrl = "http://ip:port/project/services/ITMSWorkSheetMgt"; try { binding = (ITMSWorkSheetMgtSoapBindingStub) locator .getITMSWorkSheetMgt(new URL(webServiceUrl)); response = binding.addITMSWorkSheet(worksheet); if (response != null) { logger.info("response.code:" + response.getResultCode()); logger.info("response.message:" + response.getResultMessage()); orderState.setOrderState(Integer.parseInt(response .getResultCode())); orderState.setOrderStateDesc(response.getResultMessage()); } } catch (MalformedURLException e) { logger.error("Creates a URL object from the String(webServiceURL) Error", e); } catch (ServiceException e) { logger.error("getSOAP_HTTP_Port Error", e); } catch (RemoteException e) { logger.error("Invoked WebService Method(SZJT_ReturnResult) Error", e); } return orderState; }
服务端和客户端的代码、配置就是如此。
相关推荐
在"WebService之axis2案例"中,我们有两个关键部分:服务端(WebService_server)和客户端(WebService_client)。服务端是提供Web服务的应用程序,它定义了对外公开的接口和业务逻辑,这些接口可以通过SOAP(Simple...
在"webservice之axis实例,axis复杂对象"这个主题中,我们将关注以下核心知识点: 1. **SOAP与WSDL**: SOAP是一种轻量级的消息协议,用于在Web上交换结构化的和类型化的信息。WSDL则是一种XML格式,用来描述Web...
Webservice之Axis高级编程 Axis2是目前比较流行的WebService引擎。WebService被应用在很多不同的场景。例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用。这样可以有效地集成多种...
### WebService之Axis2经典教程 #### 一、概述 随着信息技术的发展,Web Service作为一种重要的分布式计算模式,已经成为实现服务导向架构(SOA)的关键技术之一。Axis2作为一款流行的Web Service引擎,不仅具备高...
WebService之Axis2实例是Web服务开发中的一个重要环节,它基于SOAP协议,允许不同平台和语言间的应用程序进行通信。本文将详细介绍Axis2实例的创建、配置和运行,以及如何利用Eclipse IDE、JDK 1.7和Tomcat 7.0进行...
以下是关于"java webservice之axis2与spring集成(二)"的详细知识点讲解: 1. **Spring框架**: Spring是Java领域的一个开源框架,主要用于简化企业级应用的开发。它提供了一个全面的编程和配置模型,特别强调了...
### WebService之Axis2教程知识点总结 #### 一、Axis2简介及应用场景 - **Axis2定义**:Axis2是一款高性能、轻量级且灵活的Web服务引擎,它基于Apache软件基金会开发,作为Apache Axis 1.x的下一代产品,不仅支持...
SpringBoot以其便捷的启动和配置方式,已经成为Java开发中的首选框架之一。而 Axis 是一个流行的Apache项目,用于创建和部署Web服务,它提供了强大的SOAP处理能力。通过整合SpringBoot与Axis,我们可以快速构建高效...
标题中的“webservice之axis2”指的是使用Axis2来实现Web服务。 在描述中,我们看到了实现Web服务的步骤,包括服务端和服务端客户端的创建。以下是对这些步骤的详细解释: 1. **创建Web服务工程**:首先,我们需要...
【标题】"webservice之axis2方式开发总结" 在IT行业中,Web服务是不同系统间进行数据交换和功能调用的重要手段,而Axis2是Apache软件基金会提供的一个强大的Web服务框架,专门用于构建和部署Web服务。本篇将对基于...
### WebService之Axis的复杂对象传输方案 #### 一、概述 在Web服务领域,Axis是一种广泛使用的开源工具包,它支持SOAP协议,并且能够帮助开发者轻松地创建和调用Web服务。对于复杂的业务场景,往往需要在客户端和...
WebService之Axis2的使用是构建基于SOAP协议的Web服务的重要技术。Axis2是Apache软件基金会开发的一个开源项目,它是Axis1.x的升级版,提供了更高效、更灵活的服务架构。本篇文章将深入探讨如何利用Axis2来创建和...
这个标题“webservice之axis所需的全部的包”指的是一个包含Axis运行所需的全部库文件的压缩包集合。 Axis的核心功能包括: 1. **Web服务客户端生成**:Axis可以从WSDL(Web Service Description Language)文件...
**WebService之Axis2介绍与入门** 在Web服务领域,Axis2是Apache软件基金会开发的一个开源Web服务框架,它是Axis1.x的升级版本,提供了一种更高效、更灵活的方式来创建和部署Web服务。本篇文章将深入探讨Axis2的...
本人总结的关于webservice之axis2引擎的开发文档,其实是以备自己日后使用的,现在贡献出来供大家学习,参考。我人深感因为没有资源分而不能获得文档的苦恼。学习的权利是平等的。所以,我的文档就不设资源分了。...
【WebService之Axis2的使用(四)】 在Web服务领域,Axis2是Apache软件基金会开发的一个用于构建和部署Web服务的高性能、灵活的框架。它基于Axis1,并且提供了更加强大和高效的特性,比如模块化架构、更好的性能...
在Java世界中,当我们需要通过WebService传递复杂的数据结构时,例如一个对象或javabean,AXIS提供了很好的支持。javabean是一种Java类,遵循特定的命名和设计规则,用于封装数据和提供访问这些数据的方法,它们常...