jsp上传到webservice_Java WebService入门实例

Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。

Web Service的关键技术和规则:

1.XML:描述数据的标准方法.

2.SOAP:表示信息交换的协议(简单对象访问协议).

3.WSDL:Web服务描述语言.

4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描述商务的协议。

一、利用JDK web服务api实现,这里使用基于SOAP message的Web Service:

1.首先创建一个Web Services项目,作为Web services Endpoint.

2.创建一个HelloService.java类

package com.yjpeng.hello;

import javax.jws.WebService;

import javax.jws.WebMethod;

import javax.xml.ws.Endpoint;

@SOAPBinding(style = SOAPBinding.Style.RPC)

@WebService

public class HelloService {

@WebMethod

public String sayHello(String message){

return "Hello ," + message;

}

public static void main(String[] args) {

//create and publish an endPoint

HelloService hello = new HelloService();

Endpoint endPoint = Endpoint.publish("http://localhost:8080/helloService", hello);

}

}

package com.yjpeng.hello;

import javax.jws.WebService;

import javax.jws.WebMethod;

import javax.xml.ws.Endpoint;

@WebService

public class HelloService {

@WebMethod

public String sayHello(String message){

return "Hello ," + message;

}

public static void main(String[] args) {

//create and publish an endPoint

HelloService hello = new HelloService();

Endpoint endPoint = Endpoint.publish("http://localhost:8080/helloService", hello);

}

}

3.使用apt编译HelloService.java(例如: apt -d bin(bin存放编译后的文件目录) scr/com/yjpeng/hello/HelloService.java)后,会生成jaxws目录。

4.使用java com.yjpeng.hello.HelloService执行HelloService.java文件,在浏览器中输入http://localhost:8080/helloService?wsdl出现如下图

5.使用wsimport命令生成客户端:wsimport -p com.yjpeng.webservice -keep http://localhost:8080/helloService?wsdl 这时会在当前目录中生成如下文件:

6.编写好客户端文件HelloClient.java

package com.yjpeng.hello;

import com.yjpeng.webservice.HelloServiceService;

public class HelloClient {

public static void main(String[] args) {

HelloServiceService helloServiceService = new HelloServiceService();

com.yjpeng.webservice.HelloService helloService = helloServiceService.getHelloServicePort();

System.out.println(helloService.sayHello("你好"));

}

}

package com.yjpeng.hello;

import com.yjpeng.webservice.HelloServiceService;

public class HelloClient {

public static void main(String[] args) {

HelloServiceService helloServiceService = new HelloServiceService();

com.yjpeng.webservice.HelloService helloService = helloServiceService.getHelloServicePort();

System.out.println(helloService.sayHello("你好"));

}

}

运行结果在控制台输出 hello,你好  证明利用JDK web服务API实现web service成功!

二、使用xfire框架,我这里使用的是MyEclipse集成的xfire进行测试,利用xfire开发WebService可以有三种方法:

a.一种是从JavaBean中生成。

b.一种是从wsdl文件中生成。

c.一种是自己建立webservice。

具体实现步骤如下:

1.用Myeclipse建立webService工程(注意:Web Service&J2EE Details中的Framework选XFire),目录结构如下:

2.创建IHello.java接口

package com.yjpeng.hello;

public interface IHello {

public String sayHello(String message);

}

package com.yjpeng.hello;

public interface IHello {

public String sayHello(String message);

}

3.创建IHelloImpl.java实现IHello.java接口

package com.yjpeng.hello;

public class IHelloImpl implements IHello {

public String sayHello(String message) {

return message;

}

}

package com.yjpeng.hello;

public class IHelloImpl implements IHello {

public String sayHello(String message) {

return message;

}

}

4.修改Service.xml文件,加入以下代码

HelloService

com.yjpeng.hello.IHello

com.yjpeng.hello.IHelloImpl

literal

application

6.然后在展开HelloService后面的wsdl可以看到

7.创建一个客户端HelloClient.java类

import java.net.MalformedURLException;

import java.net.URL;

import org.codehaus.xfire.XFireFactory;

import org.codehaus.xfire.client.Client;

import org.codehaus.xfire.client.XFireProxyFactory;

import org.codehaus.xfire.service.Service;

import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.yjpeng.hello.IHello;

public class HelloClient {

public static void main(String[] args) {

Service s = new ObjectServiceFactory().create(IHello.class);

XFireProxyFactory xf = new XFireProxyFactory(XFireFactory.newInstance().getXFire());

String url="http://192.168.122.128:8080/TestWebServices/services/HelloService";

IHello hello;

try {

hello = (IHello)xf.create(s, url);

System.out.println(hello.sayHello("你好"));

} catch (MalformedURLException e) {

e.printStackTrace();

}

try {

//这个是在java端调用.net写的远程Web Service 如果调用本机写的只需要把URL中的地址换成本机能访问的地址即可

Client c = new Client(new URL("http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"));

Object[] o = c.invoke("qqCheckOnline", new String[]{"271751507"});

System.out.println(o.length);

} catch (Exception e) {

e.printStackTrace();

}

}

}

import java.net.MalformedURLException;

import java.net.URL;

import org.codehaus.xfire.XFireFactory;

import org.codehaus.xfire.client.Client;

import org.codehaus.xfire.client.XFireProxyFactory;

import org.codehaus.xfire.service.Service;

import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.yjpeng.hello.IHello;

public class HelloClient {

public static void main(String[] args) {

Service s = new ObjectServiceFactory().create(IHello.class);

XFireProxyFactory xf = new XFireProxyFactory(XFireFactory.newInstance().getXFire());

String url="http://192.168.122.128:8080/TestWebServices/services/HelloService";

IHello hello;

try {

hello = (IHello)xf.create(s, url);

System.out.println(hello.sayHello("你好"));

} catch (MalformedURLException e) {

e.printStackTrace();

}

try {

//这个是在java端调用.net写的远程Web Service 如果调用本机写的只需要把URL中的地址换成本机能访问的地址即可

Client c = new Client(new URL("http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"));

Object[] o = c.invoke("qqCheckOnline", new String[]{"271751507"});

System.out.println(o.length);

} catch (Exception e) {

e.printStackTrace();

}

}

}

运行HelloClient.java类可以输出 你好            1.

三、使用axis1.4开发webservice方法

首先下载axis1.4包和tomcat服务器,并将解压后的axis1.4包下面的webapps下的axis目录复制到tomcat服务器的webapps文件夹中。axis支持三种Web Service的部署和开发,分别为:

a.Dynamic Invocation Interface(DII)

b.Stubs 方式

c.Dynamic Proxy方式

1.编写DII(Dynamic Invocation Interface)方式Web Service

a.编写服务程序HelloClient.java

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

b.将HelloClient.java文件拷贝到axis_home下,重命名为HelloClient.jws.

d.编写访问服务的客户端TestHelloClient.java需要导入相应的axis.jar包,在下载的axis的WEB-INF/lib/目录下。

package com.yjpeng.webservice;

import java.net.URL;

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

public class TestHelloClient {

public static void main(String[] args){

try{

String endpoint = "http://localhost:8080/axis/HelloClient.jws";

Service service = new Service();

Call call = (Call)service.createCall();

call.setOperationName(new QName(endpoint, "getName"));

call.setTargetEndpointAddress(new URL(endpoint));

String result = (String) call.invoke(new Object[]{"张三"});

System.out.println(result);

}catch (Exception e) {

e.printStackTrace();

}

}

}

package com.yjpeng.webservice;

import java.net.URL;

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

public class TestHelloClient {

public static void main(String[] args){

try{

String endpoint = "http://localhost:8080/axis/HelloClient.jws";

Service service = new Service();

Call call = (Call)service.createCall();

call.setOperationName(new QName(endpoint, "getName"));

call.setTargetEndpointAddress(new URL(endpoint));

String result = (String) call.invoke(new Object[]{"张三"});

System.out.println(result);

}catch (Exception e) {

e.printStackTrace();

}

}

}

运行TestHelloClient.java在控制台输出hell,张三,测试成功.

2.编写Dynamci Proxy方式访问服务

a.编写部署服务端程序,用上边DII方式使用的HelloClient.java

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

b.编写代理接口HelloClientInterface.java需要扩展java.rmi.Remote类

package com.yjpeng.dynamic.proxy;

import java.rmi.Remote;

import java.rmi.RemoteException;

public interface HelloClientInterface extends Remote {

public String getName(String name) throws RemoteException;

}

package com.yjpeng.dynamic.proxy;

import java.rmi.Remote;

import java.rmi.RemoteException;

public interface HelloClientInterface extends Remote {

public String getName(String name) throws RemoteException;

}

c.编写访问服务的客户端TestHelloClient.java

package com.yjpeng.dynamic.proxy;

import java.net.URL;

import javax.xml.namespace.QName;

import javax.xml.rpc.Service;

import javax.xml.rpc.ServiceFactory;

public class TestHelloClient {

public static void main(String[] args){

try{

String wsdlUrl = "http://localhost:8080/axis/HelloClient.jws?wsdl";

String nameSpaceUrl = "http://localhost:8080/axis/HelloClient.jws";

String serviceName = "HelloClientService";

String portName = "HelloClient";

ServiceFactory serviceFactory = ServiceFactory.newInstance();

Service afService = serviceFactory.createService(new URL(wsdlUrl), new QName(nameSpaceUrl, serviceName));

HelloClientInterface proxy = (HelloClientInterface)afService.getPort(new QName(nameSpaceUrl, portName),

HelloClientInterface.class);

System.out.println(proxy.getName("张三"));

}catch (Exception e) {

e.printStackTrace();

}

}

}

package com.yjpeng.dynamic.proxy;

import java.net.URL;

import javax.xml.namespace.QName;

import javax.xml.rpc.Service;

import javax.xml.rpc.ServiceFactory;

public class TestHelloClient {

public static void main(String[] args){

try{

String wsdlUrl = "http://localhost:8080/axis/HelloClient.jws?wsdl";

String nameSpaceUrl = "http://localhost:8080/axis/HelloClient.jws";

String serviceName = "HelloClientService";

String portName = "HelloClient";

ServiceFactory serviceFactory = ServiceFactory.newInstance();

Service afService = serviceFactory.createService(new URL(wsdlUrl), new QName(nameSpaceUrl, serviceName));

HelloClientInterface proxy = (HelloClientInterface)afService.getPort(new QName(nameSpaceUrl, portName),

HelloClientInterface.class);

System.out.println(proxy.getName("张三"));

}catch (Exception e) {

e.printStackTrace();

}

}

}

运行TestHelloClient.java在控制台输出hell,张三,测试成功.

四、使用axis2开发webservice

研究中....

五、在java web项目中开放一个webservice接口实例

1.引入需要的jar包

2.创建一个接口类IAddNumbers.java

package com.yjpeng.webservice;

public interface IAddNumbers {

public int addNumbers(int a, int b);

}

package com.yjpeng.webservice;

public interface IAddNumbers {

public int addNumbers(int a, int b);

}

3.创建一个AddNumberImpl.java实现IAddnumbers.java接口类

package com.yjpeng.webservice;

import javax.jws.WebService;

import com.sun.xml.ws.transport.http.servlet.WSServlet;

@WebService(targetNamespace="http://webservice.yjpeng.com", serviceName="AddNumberImplService",

portName="AddNumberImpl")

public class AddNumberImpl implements IAddNumbers {

public int addNumbers(int a, int b) {

return a + b;

}

}

package com.yjpeng.webservice;

import javax.jws.WebService;

import com.sun.xml.ws.transport.http.servlet.WSServlet;

@WebService(targetNamespace="http://webservice.yjpeng.com", serviceName="AddNumberImplService",

portName="AddNumberImpl")

public class AddNumberImpl implements IAddNumbers {

public int addNumbers(int a, int b) {

return a + b;

}

}

4.在WEN-INF目录下创建一个sun-jaxws.xml文件

xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">

implementation="com.yjpeng.webservice.AddNumberImpl"

url-pattern="/addNumberImpl"/>

xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">

implementation="com.yjpeng.webservice.AddNumberImpl"

url-pattern="/addNumberImpl"/>

5.在web.xml文件中增加

AddNumberService

com.sun.xml.ws.transport.http.servlet.WSServlet

1

AddNumberService

/addNumberImpl

com.sun.xml.ws.transport.http.servlet.WSServletContextListener

AddNumberService

com.sun.xml.ws.transport.http.servlet.WSServlet

1

AddNumberService

/addNumberImpl

com.sun.xml.ws.transport.http.servlet.WSServletContextListener

相关:

Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。

Web Service的关键技术和规则:

1.XML:描述数据的标准方法.

2.SOAP:表示信息交换的协议(简单对象访问协议).

3.WSDL:Web服务描述语言.

4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描述商务的协议。

一、利用JDK web服务api实现,这里使用基于SOAP message的Web Service:

1.首先创建一个Web Services项目,作为Web services Endpoint.

2.创建一个HelloService.java类

package com.yjpeng.hello;

import javax.jws.WebService;

import javax.jws.WebMethod;

import javax.xml.ws.Endpoint;

@WebService

public class HelloService {

@WebMethod

public String sayHello(String message){

return "Hello ," + message;

}

public static void main(String[] args) {

//create and publish an endPoint

HelloService hello = new HelloService();

Endpoint endPoint = Endpoint.publish("http://localhost:8080/helloService", hello);

}

}

package com.yjpeng.hello;

import javax.jws.WebService;

import javax.jws.WebMethod;

import javax.xml.ws.Endpoint;

@WebService

public class HelloService {

@WebMethod

public String sayHello(String message){

return "Hello ," + message;

}

public static void main(String[] args) {

//create and publish an endPoint

HelloService hello = new HelloService();

Endpoint endPoint = Endpoint.publish("http://localhost:8080/helloService", hello);

}

}

3.使用apt编译HelloService.java(例如: apt -d bin(bin存放编译后的文件目录) scr/com/yjpeng/hello/HelloService.java)后,会生成jaxws目录。

4.使用java com.yjpeng.hello.HelloService执行HelloService.java文件,在浏览器中输入http://localhost:8080/helloService?wsdl出现如下图

5.使用wsimport命令生成客户端:wsimport -p com.yjpeng.webservice -keep http://localhost:8080/helloService?wsdl 这时会在当前目录中生成如下文件:

6.编写好客户端文件HelloClient.java

package com.yjpeng.hello;

import com.yjpeng.webservice.HelloServiceService;

public class HelloClient {

public static void main(String[] args) {

HelloServiceService helloServiceService = new HelloServiceService();

com.yjpeng.webservice.HelloService helloService = helloServiceService.getHelloServicePort();

System.out.println(helloService.sayHello("你好"));

}

}

package com.yjpeng.hello;

import com.yjpeng.webservice.HelloServiceService;

public class HelloClient {

public static void main(String[] args) {

HelloServiceService helloServiceService = new HelloServiceService();

com.yjpeng.webservice.HelloService helloService = helloServiceService.getHelloServicePort();

System.out.println(helloService.sayHello("你好"));

}

}

运行结果在控制台输出 hello,你好  证明利用JDK web服务API实现web service成功!

二、使用xfire框架,我这里使用的是MyEclipse集成的xfire进行测试,利用xfire开发WebService可以有三种方法:

a.一种是从JavaBean中生成。

b.一种是从wsdl文件中生成。

c.一种是自己建立webservice。

具体实现步骤如下:

1.用Myeclipse建立webService工程(注意:Web Service&J2EE Details中的Framework选XFire),目录结构如下:

2.创建IHello.java接口

package com.yjpeng.hello;

public interface IHello {

public String sayHello(String message);

}

package com.yjpeng.hello;

public interface IHello {

public String sayHello(String message);

}

3.创建IHelloImpl.java实现IHello.java接口

package com.yjpeng.hello;

public class IHelloImpl implements IHello {

public String sayHello(String message) {

return message;

}

}

package com.yjpeng.hello;

public class IHelloImpl implements IHello {

public String sayHello(String message) {

return message;

}

}

4.修改Service.xml文件,加入以下代码

  HelloService      com.yjpeng.hello.IHello        com.yjpeng.hello.IHelloImpl        literal  application

6.然后在展开HelloService后面的wsdl可以看到

7.创建一个客户端HelloClient.java类

import java.net.MalformedURLException;

import java.net.URL;

import org.codehaus.xfire.XFireFactory;

import org.codehaus.xfire.client.Client;

import org.codehaus.xfire.client.XFireProxyFactory;

import org.codehaus.xfire.service.Service;

import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.yjpeng.hello.IHello;

public class HelloClient {

public static void main(String[] args) {

Service s = new ObjectServiceFactory().create(IHello.class);

XFireProxyFactory xf = new XFireProxyFactory(XFireFactory.newInstance().getXFire());

String url="http://192.168.122.128:8080/TestWebServices/services/HelloService";

IHello hello;

try {

hello = (IHello)xf.create(s, url);

System.out.println(hello.sayHello("你好"));

} catch (MalformedURLException e) {

e.printStackTrace();

}

try {

//这个是在java端调用.net写的远程Web Service 如果调用本机写的只需要把URL中的地址换成本机能访问的地址即可

Client c = new Client(new URL("http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"));

Object[] o = c.invoke("qqCheckOnline", new String[]{"271751507"});

System.out.println(o.length);

} catch (Exception e) {

e.printStackTrace();

}

}

}

import java.net.MalformedURLException;

import java.net.URL;

import org.codehaus.xfire.XFireFactory;

import org.codehaus.xfire.client.Client;

import org.codehaus.xfire.client.XFireProxyFactory;

import org.codehaus.xfire.service.Service;

import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.yjpeng.hello.IHello;

public class HelloClient {

public static void main(String[] args) {

Service s = new ObjectServiceFactory().create(IHello.class);

XFireProxyFactory xf = new XFireProxyFactory(XFireFactory.newInstance().getXFire());

String url="http://192.168.122.128:8080/TestWebServices/services/HelloService";

IHello hello;

try {

hello = (IHello)xf.create(s, url);

System.out.println(hello.sayHello("你好"));

} catch (MalformedURLException e) {

e.printStackTrace();

}

try {

//这个是在java端调用.net写的远程Web Service 如果调用本机写的只需要把URL中的地址换成本机能访问的地址即可

Client c = new Client(new URL("http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"));

Object[] o = c.invoke("qqCheckOnline", new String[]{"271751507"});

System.out.println(o.length);

} catch (Exception e) {

e.printStackTrace();

}

}

}

运行HelloClient.java类可以输出 你好            1.

三、使用axis1.4开发webservice方法

首先下载axis1.4包和tomcat服务器,并将解压后的axis1.4包下面的webapps下的axis目录复制到tomcat服务器的webapps文件夹中。axis支持三种Web Service的部署和开发,分别为:

a.Dynamic Invocation Interface(DII)

b.Stubs 方式

c.Dynamic Proxy方式

1.编写DII(Dynamic Invocation Interface)方式Web Service

a.编写服务程序HelloClient.java

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

b.将HelloClient.java文件拷贝到axis_home下,重命名为HelloClient.jws.

d.编写访问服务的客户端TestHelloClient.java需要导入相应的axis.jar包,在下载的axis的WEB-INF/lib/目录下。

package com.yjpeng.webservice;

import java.net.URL;

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

public class TestHelloClient {

public static void main(String[] args){

try{

String endpoint = "http://localhost:8080/axis/HelloClient.jws";

Service service = new Service();

Call call = (Call)service.createCall();

call.setOperationName(new QName(endpoint, "getName"));

call.setTargetEndpointAddress(new URL(endpoint));

String result = (String) call.invoke(new Object[]{"张三"});

System.out.println(result);

}catch (Exception e) {

e.printStackTrace();

}

}

}

package com.yjpeng.webservice;

import java.net.URL;

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

public class TestHelloClient {

public static void main(String[] args){

try{

String endpoint = "http://localhost:8080/axis/HelloClient.jws";

Service service = new Service();

Call call = (Call)service.createCall();

call.setOperationName(new QName(endpoint, "getName"));

call.setTargetEndpointAddress(new URL(endpoint));

String result = (String) call.invoke(new Object[]{"张三"});

System.out.println(result);

}catch (Exception e) {

e.printStackTrace();

}

}

}

运行TestHelloClient.java在控制台输出hell,张三,测试成功.

2.编写Dynamci Proxy方式访问服务

a.编写部署服务端程序,用上边DII方式使用的HelloClient.java

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

public class HelloClient

{

public String getName(String name){

return "hello," + name;

}

}

b.编写代理接口HelloClientInterface.java需要扩展java.rmi.Remote类

package com.yjpeng.dynamic.proxy;

import java.rmi.Remote;

import java.rmi.RemoteException;

public interface HelloClientInterface extends Remote {

public String getName(String name) throws RemoteException;

}

package com.yjpeng.dynamic.proxy;

import java.rmi.Remote;

import java.rmi.RemoteException;

public interface HelloClientInterface extends Remote {

public String getName(String name) throws RemoteException;

}

c.编写访问服务的客户端TestHelloClient.java

package com.yjpeng.dynamic.proxy;

import java.net.URL;

import javax.xml.namespace.QName;

import javax.xml.rpc.Service;

import javax.xml.rpc.ServiceFactory;

public class TestHelloClient {

public static void main(String[] args){

try{

String wsdlUrl = "http://localhost:8080/axis/HelloClient.jws?wsdl";

String nameSpaceUrl = "http://localhost:8080/axis/HelloClient.jws";

String serviceName = "HelloClientService";

String portName = "HelloClient";

ServiceFactory serviceFactory = ServiceFactory.newInstance();

Service afService = serviceFactory.createService(new URL(wsdlUrl), new QName(nameSpaceUrl, serviceName));

HelloClientInterface proxy = (HelloClientInterface)afService.getPort(new QName(nameSpaceUrl, portName),

HelloClientInterface.class);

System.out.println(proxy.getName("张三"));

}catch (Exception e) {

e.printStackTrace();

}

}

}

package com.yjpeng.dynamic.proxy;

import java.net.URL;

import javax.xml.namespace.QName;

import javax.xml.rpc.Service;

import javax.xml.rpc.ServiceFactory;

public class TestHelloClient {

public static void main(String[] args){

try{

String wsdlUrl = "http://localhost:8080/axis/HelloClient.jws?wsdl";

String nameSpaceUrl = "http://localhost:8080/axis/HelloClient.jws";

String serviceName = "HelloClientService";

String portName = "HelloClient";

ServiceFactory serviceFactory = ServiceFactory.newInstance();

Service afService = serviceFactory.createService(new URL(wsdlUrl), new QName(nameSpaceUrl, serviceName));

HelloClientInterface proxy = (HelloClientInterface)afService.getPort(new QName(nameSpaceUrl, portName),

HelloClientInterface.class);

System.out.println(proxy.getName("张三"));

}catch (Exception e) {

e.printStackTrace();

}

}

}

运行TestHelloClient.java在控制台输出hell,张三,测试成功.

四、使用axis2开发webservice

研究中....

五、在java web项目中开放一个webservice接口实例

1.引入需要的jar包

2.创建一个接口类IAddNumbers.java

package com.yjpeng.webservice;

public interface IAddNumbers {

public int addNumbers(int a, int b);

}

package com.yjpeng.webservice;

public interface IAddNumbers {

public int addNumbers(int a, int b);

}

3.创建一个AddNumberImpl.java实现IAddnumbers.java接口类

package com.yjpeng.webservice;

import javax.jws.WebService;

import com.sun.xml.ws.transport.http.servlet.WSServlet;

@WebService(targetNamespace="http://webservice.yjpeng.com", serviceName="AddNumberImplService",

portName="AddNumberImpl")

public class AddNumberImpl implements IAddNumbers {

public int addNumbers(int a, int b) {

return a + b;

}

}

package com.yjpeng.webservice;

import javax.jws.WebService;

import com.sun.xml.ws.transport.http.servlet.WSServlet;

@WebService(targetNamespace="http://webservice.yjpeng.com", serviceName="AddNumberImplService",

portName="AddNumberImpl")

public class AddNumberImpl implements IAddNumbers {

public int addNumbers(int a, int b) {

return a + b;

}

}

4.在WEN-INF目录下创建一个sun-jaxws.xml文件

xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">

implementation="com.yjpeng.webservice.AddNumberImpl"

url-pattern="/addNumberImpl"/>

xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">

implementation="com.yjpeng.webservice.AddNumberImpl"

url-pattern="/addNumberImpl"/>

5.在web.xml文件中增加

AddNumberService

com.sun.xml.ws.transport.http.servlet.WSServlet

1

AddNumberService

/addNumberImpl

com.sun.xml.ws.transport.http.servlet.WSServletContextListener

AddNumberService

com.sun.xml.ws.transport.http.servlet.WSServlet

1

AddNumberService

/addNumberImpl

com.sun.xml.ws.transport.http.servlet.WSServletContextListener

相关:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值