项目实例:WebService axis1.4高级编程(服务端、客户端)

项目源码下载地址:http://download.csdn.net/detail/xiangxingrui1024/9720951


一、特别注意事项

1、webservice axis1.4在请求与响应参数方面,不支持List类型,但可以支持数组;如List<Student> 可以修改成Student[]写法;否则虽然服务可以提供,但具体使用调用时会报参数类型方面异常。

2、在提供的服务接口中,如有自定义实体bean、数组等复杂类型时,需要对其实体对象进行序列化和反序列化,虽然axis1.4支持绝大多数常用类型;如果未对自定义的实体Bean进行序列和反序列,在调用服务时,会报参数实体类型不匹配等异常错误。

二、实例项目结构图


1、目录说明:

entity:接口涉及到的实体Bean对象

service:服务接口

test:服务接口测试

2、文件说明:

deploy.bat:执行生成服务端配置的命令文件

deploy.wsdd:描述生成服务端配置文件

server-config.wsdd:服务端接口描述文件

3、操作步骤:

                 1)、创建project并导入axis1.4所需jar包;

                 2)、在web.xml配置axis;

                 3)、编程接口;

                 4)、配置deploy.wsdd文件;

                 5)、配置deploy.bat文件;

                 6)、启动项目,再执行deploy.bat文件,生成server-config.wsdd文件;

三、贴代码文件

1、IClaimsService.java代码


2、IClaimsServiceImpl.java代码


3、Teacher.java代码



4、Student.java代码


5、deploy.bat文件


6、deploy.wsdd文件


7、web.xml


8、server-config.wsdd文件(由于代码多,就不截图了,直接上代码)

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <globalConfiguration>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <parameter name="adminPassword" value="admin"/>
  <parameter name="attachments.Directory" value="E:\workspace\myeclipse\axisTest\WebRoot\WEB-INF\attachments"/>(自定生成时,会有该东东,实际使用中必须删除该元素!!!)
  <parameter name="dotNetSoapEncFix" value="true"/>
  <parameter name="enableNamespacePrefixOptimization" value="false"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
  <requestFlow>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="session"/>
   </handler>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="request"/>
    <parameter name="extension" value=".jwr"/>
   </handler>
  </requestFlow>
 </globalConfiguration>
 <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
 <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
 <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>

(通过deploy.wsdd文件自动生成的server-config.wsdd文件,下列红色元素为接口服务方法描述)

 <service name="myTestAxisWService" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="com.axis.service.impl.IClaimsServiceImpl"/>
  <beanMapping languageSpecificType="java:com.axis.entity.Student" qname="ns1:Student" xmlns:ns1="http://entity.axis.com"/>
  <beanMapping languageSpecificType="java:com.axis.entity.Teacher" qname="ns2:Teacher" xmlns:ns2="http://entity.axis.com"/>
 </service>


 <service name="AdminService" provider="java:MSG">
  <parameter name="allowedMethods" value="AdminService"/>
  <parameter name="enableRemoteAdmin" value="false"/>
  <parameter name="className" value="org.apache.axis.utils.Admin"/>
  <namespace>http://xml.apache.org/axis/wsdd/</namespace>
 </service>
 <service name="Version" provider="java:RPC">
  <parameter name="allowedMethods" value="getVersion"/>
  <parameter name="className" value="org.apache.axis.Version"/>
 </service>
 <transport name="http">
  <requestFlow>
   <handler type="URLMapper"/>
   <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
  </requestFlow>
  <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
  <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
  <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>
  <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
  <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
  <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
 </transport>
 <transport name="local">
  <responseFlow>
   <handler type="LocalResponder"/>
  </responseFlow>
 </transport>
</deployment>


四、最终获得的wsdl文件内容

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8082/axisTest/axisTest/myTestAxisWService"xmlns:intf="http://localhost:8082/axisTest/axisTest/myTestAxisWService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://entity.axis.com"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"targetNamespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService">
<!--
WSDL created by Apache Axis version: 1.4Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://entity.axis.com">
<import namespace="http://xml.apache.org/xml-soap"/>
<import namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="Teacher">
<sequence>
<element name="age" type="xsd:int"/>
<element name="birthday" nillable="true" type="xsd:dateTime"/>
<element name="code" nillable="true" type="xsd:string"/>
<element name="name" nillable="true" type="xsd:string"/>
<element name="sex" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Student">
<sequence>
<element name="age" type="xsd:int"/>
<element name="birthday" nillable="true" type="xsd:dateTime"/>
<element name="code" nillable="true" type="xsd:string"/>
<element name="name" nillable="true" type="xsd:string"/>
<element name="sex" nillable="true" type="xsd:string"/>
<element name="teacher" nillable="true" type="tns1:Teacher"/>
</sequence>
</complexType>
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xml.apache.org/xml-soap">
<import namespace="http://entity.axis.com"/>
<import namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="mapItem">
<sequence>
<element name="key" nillable="true" type="xsd:anyType"/>
<element name="value" nillable="true" type="xsd:anyType"/>
</sequence>
</complexType>
<complexType name="Map">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem"/>
</sequence>
</complexType>
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService">
<import namespace="http://xml.apache.org/xml-soap"/>
<import namespace="http://entity.axis.com"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_tns1_Student">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:Student[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOf_tns1_Teacher">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:Teacher[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="doTestFResponse">
<wsdl:part name="doTestFReturn" type="soapenc:string"/>
</wsdl:message>
<wsdl:message name="doTestCRequest">
<wsdl:part name="paramMap" type="apachesoap:Map"/>
</wsdl:message>
<wsdl:message name="doTestDRequest">
<wsdl:part name="teacher" type="tns1:Teacher"/>
</wsdl:message>
<wsdl:message name="doTestCResponse">
<wsdl:part name="doTestCReturn" type="apachesoap:Map"/>
</wsdl:message>
<wsdl:message name="doTestAResponse">
<wsdl:part name="doTestAReturn" type="tns1:Student"/>
</wsdl:message>
<wsdl:message name="doTestARequest">
<wsdl:part name="name" type="soapenc:string"/>
</wsdl:message>
<wsdl:message name="doTestFRequest">
<wsdl:part name="paramMap" type="apachesoap:Map"/>
</wsdl:message>
<wsdl:message name="doTestEResponse"> </wsdl:message>
<wsdl:message name="doTestERequest">
<wsdl:part name="teacherList" type="impl:ArrayOf_tns1_Teacher"/>
</wsdl:message>
<wsdl:message name="doTestDResponse">
<wsdl:part name="doTestDReturn" type="impl:ArrayOf_tns1_Student"/>
</wsdl:message>
<wsdl:message name="doTestBRequest">
<wsdl:part name="a" type="xsd:int"/>
<wsdl:part name="b" type="soapenc:string"/>
</wsdl:message>
<wsdl:message name="doTestBResponse">
<wsdl:part name="doTestBReturn" type="xsd:int"/>
</wsdl:message>
<wsdl:portType name="IClaimsServiceImpl">
<wsdl:operation name="doTestA" parameterOrder="name">
<wsdl:input message="impl:doTestARequest" name="doTestARequest"/>
<wsdl:output message="impl:doTestAResponse" name="doTestAResponse"/>
</wsdl:operation>
<wsdl:operation name="doTestB" parameterOrder="a b">
<wsdl:input message="impl:doTestBRequest" name="doTestBRequest"/>
<wsdl:output message="impl:doTestBResponse" name="doTestBResponse"/>
</wsdl:operation>
<wsdl:operation name="doTestC" parameterOrder="paramMap">
<wsdl:input message="impl:doTestCRequest" name="doTestCRequest"/>
<wsdl:output message="impl:doTestCResponse" name="doTestCResponse"/>
</wsdl:operation>
<wsdl:operation name="doTestD" parameterOrder="teacher">
<wsdl:input message="impl:doTestDRequest" name="doTestDRequest"/>
<wsdl:output message="impl:doTestDResponse" name="doTestDResponse"/>
</wsdl:operation>
<wsdl:operation name="doTestE" parameterOrder="teacherList">
<wsdl:input message="impl:doTestERequest" name="doTestERequest"/>
<wsdl:output message="impl:doTestEResponse" name="doTestEResponse"/>
</wsdl:operation>
<wsdl:operation name="doTestF" parameterOrder="paramMap">
<wsdl:input message="impl:doTestFRequest" name="doTestFRequest"/>
<wsdl:output message="impl:doTestFResponse" name="doTestFResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="myTestAxisWServiceSoapBinding" type="impl:IClaimsServiceImpl">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="doTestA">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="doTestARequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://impl.service.axis.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="doTestAResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="doTestB">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="doTestBRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://impl.service.axis.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="doTestBResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="doTestC">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="doTestCRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://impl.service.axis.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="doTestCResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="doTestD">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="doTestDRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://impl.service.axis.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="doTestDResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="doTestE">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="doTestERequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://impl.service.axis.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="doTestEResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="doTestF">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="doTestFRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://impl.service.axis.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="doTestFResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8082/axisTest/axisTest/myTestAxisWService" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="IClaimsServiceImplService">
<wsdl:port binding="impl:myTestAxisWServiceSoapBinding" name="myTestAxisWService">
<wsdlsoap:address location="http://localhost:8082/axisTest/axisTest/myTestAxisWService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>


五、依赖的jar包



六、客户端测试

1、Client.java代码文件

package com.axis.test;


import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


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.axis.entity.Student;
import com.axis.entity.Teacher;


public class Client {


public static void main(String[] args) throws Exception{
// test1();
// test2();
// test3();
// test4();
// test5();
test6();
}
/**
* 测试doTestD服务接口
* @param 传递实体Bean(单个)
* @return 返回集合实体Bean(多个)
* @throws Exception
*/
public static void test1()throws Exception{
String wsdlAddress = "http://localhost:8082/axisTest/axisTest/myTestAxisWService?wsdl";//wsdl地址
Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(wsdlAddress);
QName inType = new QName("http://entity.axis.com", "Teacher");//第一个参数为空间名地址,第二个为实体序列/反序列名
        call.registerTypeMapping(Teacher.class, inType, BeanSerializerFactory.class, BeanDeserializerFactory.class);  
        QName outType = new QName("http://entity.axis.com", "Student");
        call.registerTypeMapping(Student.class, outType, BeanSerializerFactory.class, BeanDeserializerFactory.class);  
        call.setOperationName("doTestD");//调用的服务接口方法名
        call.addParameter("teacher", XMLType.XSD_ANYTYPE, ParameterMode.IN);//传递的参数名(可随便取)
        call.setReturnClass(Student[].class);//返回的是集合Bean时,必须定义javaBean为数组,如javaBean[]
        Teacher teacher = new Teacher();
        teacher.setAge(1);
        teacher.setBirthday(new Date());
        Student[] info = (Student[]) call.invoke(new Object[]{teacher});
System.out.println("--bean[]-"+info);
}
/**
* 测试doTestA服务接口
* @param 传递实体Bean(单个)
* @return 返回实体Bean(单个 )
* @throws Exception
*/
public static void test2()throws Exception{
String wsdlAddress = "http://localhost:8082/axisTest/axisTest/myTestAxisWService?wsdl";//wsdl地址
Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(wsdlAddress);
        QName outType = new QName("http://entity.axis.com", "Student");
        call.registerTypeMapping(Student.class, outType, BeanSerializerFactory.class, BeanDeserializerFactory.class);  
        call.setOperationName("doTestA");//调用的服务接口方法名
        call.addParameter("name", XMLType.XSD_ANYTYPE, ParameterMode.IN);//传递的参数名(可随便取)
        call.setReturnClass(Student.class);//服务方法返回类型
        Student info = (Student) call.invoke(new Object[]{"参数为单个字符串"});
System.out.println("--bean-"+info);
}
/**
* 测试doTestF服务接口
* @param 传递对象Map
* @return 返回字符串
* @throws Exception
*/
public static void test3()throws Exception{
String wsdlAddress = "http://localhost:8082/axisTest/axisTest/myTestAxisWService?wsdl";//wsdl地址
Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(wsdlAddress);
        QName outType = new QName("http://entity.axis.com", "Student");
        call.registerTypeMapping(Student.class, outType, BeanSerializerFactory.class, BeanDeserializerFactory.class);  
        call.setOperationName("doTestF");//调用的服务接口方法名
        call.addParameter("paramMap", XMLType.XSD_ANYTYPE, ParameterMode.IN);//传递的参数名(可随便取)
        call.setReturnClass(String.class);//服务方法返回类型
        Map<String, Student> paramMap = new HashMap<String, Student>();
        Student sd = new Student();
        sd.setAge(0);
        paramMap.put("student1", sd);
        String str = (String) call.invoke(new Object[]{paramMap});
System.out.println("--str-"+str);
}
/**
* 测试doTestC服务接口
* @param 传递对象Map
* @return 返回Map
* @throws Exception
*/
public static void test4()throws Exception{
String wsdlAddress = "http://localhost:8082/axisTest/axisTest/myTestAxisWService?wsdl";//wsdl地址
Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(wsdlAddress);
        QName outType = new QName("http://entity.axis.com", "Student");
        call.registerTypeMapping(Student.class, outType, BeanSerializerFactory.class, BeanDeserializerFactory.class);  
        call.setOperationName("doTestC");//调用的服务接口方法名
        call.addParameter("paramMap", XMLType.XSD_ANYTYPE, ParameterMode.IN);//传递的参数名(可随便取)
        call.setReturnClass(Map.class);//服务方法返回类型
        Map<String, Object> paramMap = new HashMap<String, Object>();
        paramMap.put("str", "随便值");
        Map<String, Student> str = (Map<String, Student>) call.invoke(new Object[]{paramMap});
System.out.println("--map-"+str);
}
/**
* 测试doTestE服务接口
* @param 传递对象List<Teacher>
* @throws Exception
*/
public static void test5()throws Exception{
String wsdlAddress = "http://localhost:8082/axisTest/axisTest/myTestAxisWService?wsdl";//wsdl地址
Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(wsdlAddress);
        QName outType = new QName("http://entity.axis.com", "Teacher");
        call.registerTypeMapping(Teacher.class, outType, BeanSerializerFactory.class, BeanDeserializerFactory.class);  
        call.setOperationName("doTestE");//调用的服务接口方法名
        List<Teacher> infoList = new ArrayList<Teacher>();
        Teacher info = new Teacher();
        info.setAge(12);
        infoList.add(info);
        call.invoke(new Object[]{infoList});
        System.out.println("-----无返回类型-----");
}
/**
* 测试doTestB服务接口
* @param 传递int and String
* @return 返回int 
* @throws Exception
*/
public static void test6()throws Exception{
String wsdlAddress = "http://localhost:8082/axisTest/axisTest/myTestAxisWService?wsdl";//wsdl地址
Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(wsdlAddress);
        call.setOperationName("doTestB");//调用的服务接口方法名
        call.addParameter("a", XMLType.XSD_ANYTYPE, ParameterMode.IN);//传递的参数名(可随便取)
        call.addParameter("b", XMLType.XSD_ANYTYPE, ParameterMode.IN);//传递的参数名(可随便取)
        call.setReturnClass(int.class);//服务方法返回类型
        int number = (Integer) call.invoke(new Object[]{111,"字符串"});
System.out.println("--int-"+number);
}
}


































  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Spring Boot整合Axis1.4实现WebService服务端,可以按照以下步骤进行: 1. 在pom.xml文件中添加Axis1.4依赖: ``` <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> ``` 2. 创建一个WebService接口,并在接口上添加@WebService注解: ``` @WebService public interface UserService { String sayHello(String name); } ``` 3. 创建一个WebService接口的实现类,并在实现类上添加@WebService(endpointInterface = "com.example.demo.UserService")注解: ``` @WebService(endpointInterface = "com.example.demo.UserService") public class UserServiceImpl implements UserService { @Override public String sayHello(String name) { return "Hello, " + name + "!"; } } ``` 4. 在Spring Boot的配置文件application.properties中添加Axis1.4的配置: ``` # Axis1.4配置 axis.servletPath=/services/* ``` 5. 创建一个AxisServlet的注册类,并在类上添加@Configuration和@EnableWebMvc注解: ``` @Configuration @EnableWebMvc public class AxisServletRegistration { @Bean public ServletRegistrationBean<AxisServlet> axisServlet() { ServletRegistrationBean<AxisServlet> registration = new ServletRegistrationBean<>(new AxisServlet(), "/services/*"); registration.addInitParameter("axis.servicesPath", "/WEB-INF/services"); registration.addInitParameter("axis.wsddPath", "/WEB-INF/server-config.wsdd"); return registration; } } ``` 6. 启动Spring Boot应用程序,访问http://localhost:8080/services/UserService?wsdl,可以看到WebService服务端已经成功启动。 以上就是Spring Boot整合Axis1.4实现WebService服务端的全部步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值