java webservice数组_java webservice的多种实现方法汇总

本文详细介绍了Java中实现Web Service的多种方法,包括基于EJB容器管理、Web层容器模式、XFire、Axis1.4以及Axis2。通过具体的代码示例和步骤解析,展示了如何创建、发布和调用这些Web Service,涵盖了从简单的POJO到使用不同工具和服务配置的全过程。
摘要由CSDN通过智能技术生成

一、基于EJB容器管理webservice:

1.首先建立一个Web services EndPoint:

packagecn.test.service.impl;importjava.util.ArrayList;importjava.util.List;importjavax.jws.WebMethod;importjavax.jws.WebService;importcn.test.Person;importcn.test.service.HelloWorld;

@WebServicepublic class HelloWorldImpl implementsHelloWorld {

@WebMethodpublic voidsay() {

System.out.println(" hello service");

}

@WebMethodpublicPerson getPersonById( String id) {

System.out.println(" id = "+id);return new Person("aaa", "123", 5);

}

@WebMethodpublic ListgetAll() {

List list = new ArrayList();for (int i = 0; i < 5; i++) {

list.add(new Person("100"+i, "kk"+i, 12+i));

}returnlist;

}

@WebMethodpublicString insert(Person p) {

System.out.println(p);return p.getId()+"java";

}

}

2. 进入src目录下使用apt编译Hello.java(例:apt -d [存放编译后的文件目录] Hello.java ) ,会生成 jaws目录。例如:D:\dianzi\Test\src>apt -d . cn/test/service/impl/HelloWorldImpl.java

3.使用java Hello.Hello运行,然后将浏览器指向http://localhost:8080/hello?wsdl就会出现下列显示

3217513.html

4.使用wsimport 生成客户端

使用如下:D:\dianzi\Test\src>wsimport -p cn.client -keep http://localhost:8080/helloWorld?wsdl

这时,会在当前目录中生成如下文件:

3217513.htmled8b6a310cbbc87fbe303f6ca8b28a1d.png

5.客户端测试:

public classT {public static voidmain(String[] args) {

HelloWorldImplService service= newHelloWorldImplService();

HelloWorldImpl helloWorld=(HelloWorldImpl) service.getHelloWorldImplPort();

System.out.println(helloWorld.getAll().size());

System.out.println(helloWorld.getPersonById(""));

}

}

6、不用生成代码,通过jboss服务器进行管理:

例如下面的类写好之后,发布到服务器上,通过地址   http://127.0.0.1/root/CompanyService?wsdl 就可以查看发布情况,其中“contextRoot”表示根目录,urlPattern表示匹配路径。

@Stateless

@WebService

@WebContext(contextRoot= "/root", urlPattern = "/CompanyService")

@SOAPBinding(style= SOAPBinding.Style.RPC,use=SOAPBinding.Use.LITERAL, parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)public classCompanyWSBean implements CompanyWS {

Logger logger=Logger.getLogger(CompanyWSBean.class);

@EJBprivateCompanyServiceLocal companyServiceLocal;

@WebMethod

@WebResult(partName= "return")publicTBLCompany find(String id) {try{returncompanyServiceLocal.find(id);

}catch(Exception e) {

logger.error(e);

}return null;

}

}

二、将第一种webservice移动到 WEB层,就是通过WEB容器模式管理:

1、准备pojo对像:接口和实现类

开发步骤如下:

建立一个POJO端点--在web.xml中--------将这个POJO端点配置成一个Servlet-----------将这个POJO端点打包成一个应用(war包或ear)

packagecn.test.ws.web.intf;importcom.cjonline.foundation.evisa.entity.TBLOperator;public interfaceHelloWorld {publicString say(String s);publicString eat(String s);publicTBLOperator findOperator();

}

packagecn.test.ws.web.impl;importjavax.jws.WebMethod;importjavax.jws.WebService;importcn.test.ws.web.intf.HelloWorld;importcom.cjonline.comm.util.EJBAssistant;importcom.cjonline.foundation.evisa.entity.TBLOperator;importcom.cjonline.foundation.evisa.exception.ServiceException;importcom.cjonline.foundation.evisa.service.intf.OperatorServiceRemote;

@WebServicepublic class HelloWorldImpl implementsHelloWorld{private OperatorServiceRemote userService =EJBAssistant.getEJB("OperatorServiceBean/remote", OperatorServiceRemote.class);

@WebMethodpublicString say(String s) {

System.out.println(" web say : "+s);return " web say : "+s;

}

@WebMethodpublicString eat(String s) {

System.out.println(" web eat : "+s);return " web eat : "+s;

}

@WebMethodpublicTBLOperator findOperator(){try{return userService.findAll1().get(0);

}catch(ServiceException e) {

e.printStackTrace();

}return null;

}

}

2、在web.xml中将它配置成一个Servlet:

HelloService

cn.test.ws.web.impl.HelloWorldImpl

HelloService

/hello

3、进入到jbossws管理服务中,通过地址 http://lenovo-pc//hello?wsdl可以查看发布的信息,就可以调用方法。

三、使用xfire,我这里使用的是myeclipse集成的xfire进行测试的:

利用xfire开发WebService,可以有三种方法:

1一种是从javabean 中生成;

2 一种是从wsdl文件中生成;

3 还有一种是自己建立webservice

步骤如下:

用myeclipse建立webservice工程,目录结构如下:

3217513.html

首先建立webservice接口,代码如下:

1

4f1150b881333f12a311ae9ef34da474.pngpackagecom.myeclipse.wsExample;24f1150b881333f12a311ae9ef34da474.png//Generated by MyEclipse34f1150b881333f12a311ae9ef34da474.png41fa987a29c6482f53d401256f96355eb.pngpublicinterfaceIHelloWorldService{5d18c02628675d0a2c816449d98bda930.png6d18c02628675d0a2c816449d98bda930.pngpublicString example(String message);7d18c02628675d0a2c816449d98bda930.png88f1ba5b45633e9678d1db480c16cae3f.png}

接着实现这个借口:

1

4f1150b881333f12a311ae9ef34da474.pngpackagecom.myeclipse.wsExample;24f1150b881333f12a311ae9ef34da474.png//Generated by MyEclipse34f1150b881333f12a311ae9ef34da474.png41fa987a29c6482f53d401256f96355eb.pngpublicclassHelloWorldServiceImplimplementsIHelloWorldService{5d18c02628675d0a2c816449d98bda930.png697e794c86028c5f5b5461ae5ef440a4c.pngpublicString example(String message){7d18c02628675d0a2c816449d98bda930.pngreturnmessage;8ecedf933ec37d714bd4c2545da43add2.png    }9d18c02628675d0a2c816449d98bda930.png108f1ba5b45633e9678d1db480c16cae3f.png}

修改service.xml 文件,加入以下代码:

1

4f1150b881333f12a311ae9ef34da474.png24f1150b881333f12a311ae9ef34da474.pngHelloWorldService34f1150b881333f12a311ae9ef34da474.png44f1150b881333f12a311ae9ef34da474.png            com.myeclipse.wsExample.IHelloWorldService54f1150b881333f12a311ae9ef34da474.png64f1150b881333f12a311ae9ef34da474.png74f1150b881333f12a311ae9ef34da474.png            com.myeclipse.wsExample.HelloWorldServiceImpl84f1150b881333f12a311ae9ef34da474.png94f1150b881333f12a311ae9ef34da474.png104f1150b881333f12a311ae9ef34da474.pngliteral114f1150b881333f12a311ae9ef34da474.pngapplication124f1150b881333f12a311ae9ef34da474.png

把整个项目部署到tomcat服务器中 ,打开浏览器,输入http://localhost:8989/HelloWorld/services/HelloWorldService?wsdl,可以看到如下:

3217513.html

然后再展开HelloWorldService后面的wsdl可以看到:

3217513.html

客户端实现如下:

1

4f1150b881333f12a311ae9ef34da474.pngpackagecom.myeclipse.wsExample.client;24f1150b881333f12a311ae9ef34da474.png34f1150b881333f12a311ae9ef34da474.pngimportjava.net.MalformedURLException;44f1150b881333f12a311ae9ef34da474.pngimportjava.net.URL;54f1150b881333f12a311ae9ef34da474.png64f1150b881333f12a311ae9ef34da474.pngimportorg.codehaus.xfire.XFireFactory;74f1150b881333f12a311ae9ef34da474.pngimportorg.codehaus.xfire.client.Client;84f1150b881333f12a311ae9ef34da474.pngimportorg.codehaus.xfire.client.XFireProxyFactory;94f1150b881333f12a311ae9ef34da474.pngimportorg.codehaus.xfire.service.Service;104f1150b881333f12a311ae9ef34da474.pngimportorg.codehaus.xfire.service.binding.ObjectServiceFactory;114f1150b881333f12a311ae9ef34da474.png124f1150b881333f12a311ae9ef34da474.pngimportcom.myeclipse.wsExample.IHelloWorldService;134f1150b881333f12a311ae9ef34da474.png141fa987a29c6482f53d401256f96355eb.pngpublicclassHelloWorldClient{1597e794c86028c5f5b5461ae5ef440a4c.pngpublicstaticvoidmain(String[] args)throwsMalformedURLException, Exception{16d18c02628675d0a2c816449d98bda930.png//TODO Auto-generated method stub17d18c02628675d0a2c816449d98bda930.pngService s=newObjectServiceFactory().create(IHelloWorldService.class);18d18c02628675d0a2c816449d98bda930.pngXFireProxyFactory xf=newXFireProxyFactory(XFireFactory.newInstance().getXFire());19d18c02628675d0a2c816449d98bda930.pngString url="http://localhost:8989/HelloWorld/services/HelloWorldService";20d18c02628675d0a2c816449d98bda930.png21d18c02628675d0a2c816449d98bda930.pngtry2297e794c86028c5f5b5461ae5ef440a4c.png{23d18c02628675d0a2c816449d98bda930.png24d18c02628675d0a2c816449d98bda930.png            IHelloWorldService hs=(IHelloWorldService) xf.create(s,url);25d18c02628675d0a2c816449d98bda930.png            String st=hs.example("zhangjin");26d18c02628675d0a2c816449d98bda930.png            System.out.print(st);27ecedf933ec37d714bd4c2545da43add2.png        }28d18c02628675d0a2c816449d98bda930.pngcatch(Exception e)2997e794c86028c5f5b5461ae5ef440a4c.png{30d18c02628675d0a2c816449d98bda930.png            e.printStackTrace();31ecedf933ec37d714bd4c2545da43add2.png        }32ecedf933ec37d714bd4c2545da43add2.png    }33d18c02628675d0a2c816449d98bda930.png348f1ba5b45633e9678d1db480c16cae3f.png}354f1150b881333f12a311ae9ef34da474.png

这里再说点题外话,有时候我们知道一个wsdl地址,比如想用java客户端引用.net 做得webservice,使用myeclipse引用,但是却出现无法通过验证的错误,这时我们可以直接在类中引用,步骤如下:

1

1fa987a29c6482f53d401256f96355eb.pngpublicstaticvoidmain(String[] args)throwsMalformedURLException, Exception{2d18c02628675d0a2c816449d98bda930.png//TODO Auto-generated method stub3d18c02628675d0a2c816449d98bda930.pngService s=newObjectServiceFactory().create(IHelloWorldService.class);4d18c02628675d0a2c816449d98bda930.png        XFireProxyFactory xf=newXFireProxyFactory(XFireFactory.newInstance().getXFire());5d18c02628675d0a2c816449d98bda930.png6d18c02628675d0a2c816449d98bda930.png7d18c02628675d0a2c816449d98bda930.png//远程调用.net开发的webservice8d18c02628675d0a2c816449d98bda930.pngClient c=newClient(newURL("http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"));997e794c86028c5f5b5461ae5ef440a4c.png        Object[] o=c.invoke("qqCheckOnline",newString[]{"531086641","591284436"});10d18c02628675d0a2c816449d98bda930.png11d18c02628675d0a2c816449d98bda930.png//调用.net本机开发的webservice12d18c02628675d0a2c816449d98bda930.pngClient c1=newClient(newURL("http://localhost/zj/Service.asmx?wsdl"));1397e794c86028c5f5b5461ae5ef440a4c.pngObject[] o1=c1.invoke("HelloWorld",newString[]{});14d18c02628675d0a2c816449d98bda930.png158f1ba5b45633e9678d1db480c16cae3f.png}

四、使用axis1.4调用webservice方法

前提条件:下载axis1.4包和tomcat服务器   ,并将axis文件夹复制到tomcat服务器的webapp文件夹中

这里我就说一下最简单的方法:

首先建立一个任意的java类(例如:HelloWorld.java),复制到axis文件夹下,将其扩展名改为jws,然后重新启动tomcat,在浏览器中输入http://localhost:8989/axis/HelloWorld.jws?wsdl,就会得到一个wsdl文件,其客户端调用方法如下:

1

4f1150b881333f12a311ae9ef34da474.pngimportjavax.xml.rpc.Service;24f1150b881333f12a311ae9ef34da474.pngimportjavax.xml.rpc.ServiceException;34f1150b881333f12a311ae9ef34da474.pngimportjavax.xml.rpc.ServiceFactory;44f1150b881333f12a311ae9ef34da474.png54f1150b881333f12a311ae9ef34da474.pngimportjava.net.MalformedURLException;64f1150b881333f12a311ae9ef34da474.pngimportjava.net.URL;74f1150b881333f12a311ae9ef34da474.pngimportjava.rmi.RemoteException;84f1150b881333f12a311ae9ef34da474.png94f1150b881333f12a311ae9ef34da474.pngimportjavax.xml.namespace.QName;104f1150b881333f12a311ae9ef34da474.png111fa987a29c6482f53d401256f96355eb.pngpublicclassTestHelloWorld{12d18c02628675d0a2c816449d98bda930.png13d18c02628675d0a2c816449d98bda930.png1497e794c86028c5f5b5461ae5ef440a4c.pngpublicstaticvoidmain(String[] args)throwsMalformedURLException, ServiceException, RemoteException{15d18c02628675d0a2c816449d98bda930.png//TODO Auto-generated method stub16d18c02628675d0a2c816449d98bda930.png17d18c02628675d0a2c816449d98bda930.png        String wsdlUrl="http://localhost:8989/axis/HelloWorld.jws?wsdl";18d18c02628675d0a2c816449d98bda930.png        String nameSpaceUri="http://localhost:8989/axis/HelloWorld.jws";19d18c02628675d0a2c816449d98bda930.png        String serviceName="HelloWorldService";20d18c02628675d0a2c816449d98bda930.png        String portName="HelloWorld";21d18c02628675d0a2c816449d98bda930.png22d18c02628675d0a2c816449d98bda930.png        ServiceFactory serviceFactory=ServiceFactory.newInstance();23d18c02628675d0a2c816449d98bda930.png        Service afService=serviceFactory.createService(newURL(wsdlUrl),newQName(nameSpaceUri, serviceName));24d18c02628675d0a2c816449d98bda930.png        HelloWorldInterface proxy=(HelloWorldInterface)afService.getPort(newQName(nameSpaceUri, portName),HelloWorldInterface.class);25d18c02628675d0a2c816449d98bda930.png        System.out.println("return value is"+proxy.getName("john") ) ;26d18c02628675d0a2c816449d98bda930.png27ecedf933ec37d714bd4c2545da43add2.png    }28d18c02628675d0a2c816449d98bda930.png298f1ba5b45633e9678d1db480c16cae3f.png}304f1150b881333f12a311ae9ef34da474.png

五、使用axis2开发webservice

使用axis2 需要先下载

axis2-1.4.1-bin.zip

axis2-1.4.1-war.zip

同理,也需要将axis2复制到webapp目录中

在axis2中部署webservice有两种方法,

第一种是pojo方式,这种方式比较简单,但是有一些限制,例如部署的类不能加上包名

第二种方式是利用xml发布webservice,这种方法比较灵活,不需要限制类的声明

下面分别说明使用方法:

1.pojo方式:在Axis2中不需要进行任何的配置,就可以直接将一个简单的POJO发布成WebService。其中POJO中所有的public方法将被发布成WebService方法。先实现一个pojo类:

1

1fa987a29c6482f53d401256f96355eb.pngpublicclassHelloWorld{2d18c02628675d0a2c816449d98bda930.pngpublicString getName(String name)397e794c86028c5f5b5461ae5ef440a4c.png{4d18c02628675d0a2c816449d98bda930.pngreturn"你好"+name;5ecedf933ec37d714bd4c2545da43add2.png    }6d18c02628675d0a2c816449d98bda930.pngpublicintadd(inta,intb)797e794c86028c5f5b5461ae5ef440a4c.png{8d18c02628675d0a2c816449d98bda930.pngreturna+b;9ecedf933ec37d714bd4c2545da43add2.png    }108f1ba5b45633e9678d1db480c16cae3f.png}114f1150b881333f12a311ae9ef34da474.png

由于这两个方法都是public类型,所以都会发布成webservice。编译HelloWorld类后,将HelloWorld.class文件放到%tomcat%\webapps\axis2\WEB-INF\pojo目录中(如果没有pojo目录,则建立该目录),然后打开浏览器进行测试:输入一下url:

会列出所有webservice

3217513.html 

这是其中的两个webservice列表,接着,在客户端进行测试:

首先可以写一个封装类,减少编码,代码如下:

1

4f1150b881333f12a311ae9ef34da474.pngpackageMZ.GetWebService;24f1150b881333f12a311ae9ef34da474.pngimportjavax.xml.namespace.QName;34f1150b881333f12a311ae9ef34da474.png44f1150b881333f12a311ae9ef34da474.pngimportorg.apache.axis2.AxisFault;54f1150b881333f12a311ae9ef34da474.pngimportorg.apache.axis2.addressing.EndpointReference;64f1150b881333f12a311ae9ef34da474.pngimportorg.apache.axis2.client.Options;74f1150b881333f12a311ae9ef34da474.pngimportorg.apache.axis2.rpc.client.RPCServiceClient;84f1150b881333f12a311ae9ef34da474.png94f1150b881333f12a311ae9ef34da474.png101fa987a29c6482f53d401256f96355eb.pngpublicclassGetWSByAxis2{11d18c02628675d0a2c816449d98bda930.pngprivatestaticString EndPointUrl;12d18c02628675d0a2c816449d98bda930.pngprivatestaticString QUrl="http://ws.apache.org/axis2";13d18c02628675d0a2c816449d98bda930.pngprivateQName opAddEntry;14d18c02628675d0a2c816449d98bda930.pngpublicString WSUrl;15d18c02628675d0a2c816449d98bda930.pngpublicRPCServiceClient setOption()throwsAxisFault1697e794c86028c5f5b5461ae5ef440a4c.png{17d18c02628675d0a2c816449d98bda930.png          RPCServiceClient serviceClient=newRPCServiceClient();18d18c02628675d0a2c816449d98bda930.png          Options options=serviceClient.getOptions();19d18c02628675d0a2c816449d98bda930.png          EndpointReference targetEPR=newEndpointReference(WSUrl);20d18c02628675d0a2c816449d98bda930.png          options.setTo(targetEPR);21d18c02628675d0a2c816449d98bda930.pngreturnserviceClient;22ecedf933ec37d714bd4c2545da43add2.png      }23d18c02628675d0a2c816449d98bda930.png2497e794c86028c5f5b5461ae5ef440a4c.pngpublicQName getQname(String Option){25d18c02628675d0a2c816449d98bda930.png26d18c02628675d0a2c816449d98bda930.pngreturnnewQName (QUrl,Option);27ecedf933ec37d714bd4c2545da43add2.png      }28d18c02628675d0a2c816449d98bda930.png//返回String29d18c02628675d0a2c816449d98bda930.pngpublicString getStr(String Option)throwsAxisFault3097e794c86028c5f5b5461ae5ef440a4c.png{31d18c02628675d0a2c816449d98bda930.png          RPCServiceClient serviceClient=this.setOption();32d18c02628675d0a2c816449d98bda930.png33d18c02628675d0a2c816449d98bda930.png          opAddEntry=this.getQname(Option);34d18c02628675d0a2c816449d98bda930.png35d18c02628675d0a2c816449d98bda930.png         String str=(String) serviceClient.invokeBlocking(opAddEntry,3697e794c86028c5f5b5461ae5ef440a4c.pngnewObject[]{},newClass[]{String.class})[0];37d18c02628675d0a2c816449d98bda930.pngreturnstr;38ecedf933ec37d714bd4c2545da43add2.png     }39d18c02628675d0a2c816449d98bda930.png//返回一维String数组40d18c02628675d0a2c816449d98bda930.pngpublicString[] getArray(String Option)throwsAxisFault4197e794c86028c5f5b5461ae5ef440a4c.png{42d18c02628675d0a2c816449d98bda930.png          RPCServiceClient serviceClient=this.setOption();43d18c02628675d0a2c816449d98bda930.png44d18c02628675d0a2c816449d98bda930.png          opAddEntry=this.getQname(Option);45d18c02628675d0a2c816449d98bda930.png46d18c02628675d0a2c816449d98bda930.png         String[] strArray=(String[]) serviceClient.invokeBlocking(opAddEntry,4797e794c86028c5f5b5461ae5ef440a4c.pngnewObject[]{},newClass[]{String[].class})[0];48d18c02628675d0a2c816449d98bda930.pngreturnstrArray;49ecedf933ec37d714bd4c2545da43add2.png     }50d18c02628675d0a2c816449d98bda930.png//从WebService中返回一个对象的实例51d18c02628675d0a2c816449d98bda930.pngpublicObject getObject(String Option,Object o)throwsAxisFault5297e794c86028c5f5b5461ae5ef440a4c.png{53d18c02628675d0a2c816449d98bda930.png        RPCServiceClient serviceClient=this.setOption();54d18c02628675d0a2c816449d98bda930.png         QName qname=this.getQname(Option);5597e794c86028c5f5b5461ae5ef440a4c.png         Object object=serviceClient.invokeBlocking(qname,newObject[]{},newClass[]{o.getClass()})[0];56d18c02628675d0a2c816449d98bda930.pngreturnobject;57ecedf933ec37d714bd4c2545da43add2.png     }58d18c02628675d0a2c816449d98bda930.png59d18c02628675d0a2c816449d98bda930.png/       读者可以自己封装数据类型,如int,byte,float等数据类型608f1ba5b45633e9678d1db480c16cae3f.png}614f1150b881333f12a311ae9ef34da474.png

客户端调用方法:

4f1150b881333f12a311ae9ef34da474.pngMZ.GetWebService.GetWSByAxis2 ws=newMZ.GetWebService.GetWSByAxis2();

4f1150b881333f12a311ae9ef34da474.pngws.WSUrl="http://localhost:8989/axis2/services/HelloWorld";

4f1150b881333f12a311ae9ef34da474.pngHelloWorld hello=(HelloWorld)ws.getObject("getName", HelloWorld.class);

4f1150b881333f12a311ae9ef34da474.png            

4f1150b881333f12a311ae9ef34da474.png           

4f1150b881333f12a311ae9ef34da474.png System.out.println(hello.getName("zhangjin"));

4f1150b881333f12a311ae9ef34da474.png

2.使用service.xml发布webservice,这种方式和直接放在pojo目录中的POJO类不同。要想将MyService类发布成Web Service,需要一个services.xml文件,这个文件需要放在META-INF目录中,该文件的内容如下:

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png        HelloWorld webservice

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png        service.HelloWorld  

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngclass="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>4f1150b881333f12a311ae9ef34da474.pngclass="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

其中元素用于发布Web Service,一个元素只能发布一个WebService类,name属性表示WebService名,如下面的URL可以获得这个WebService的WSDL内容:

1

4f1150b881333f12a311ae9ef34da474.png24f1150b881333f12a311ae9ef34da474.png34f1150b881333f12a311ae9ef34da474.png       HelloWorld service44f1150b881333f12a311ae9ef34da474.png54f1150b881333f12a311ae9ef34da474.png64f1150b881333f12a311ae9ef34da474.png        service.HelloWorld74f1150b881333f12a311ae9ef34da474.png84f1150b881333f12a311ae9ef34da474.png94f1150b881333f12a311ae9ef34da474.png104f1150b881333f12a311ae9ef34da474.png114f1150b881333f12a311ae9ef34da474.png124f1150b881333f12a311ae9ef34da474.pngclass="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>144f1150b881333f12a311ae9ef34da474.png154f1150b881333f12a311ae9ef34da474.png164f1150b881333f12a311ae9ef34da474.png

如果要发布多个webservice,可以在文件两段加上...发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值