先分享第一种方案.我已实现.
先编写服务端
SayHello.java
public class SayHello {
public String getName(String name) {
return "你好:" + name ;
}
}
然后编写deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="SayHello" provider="java:RPC">
<parameter name="className" value="com.xlh.service.SayHello"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
再把 下载http://xml.apache.org axis中的包和下面的web.xml考到你的项目中.
再编写一个deploy.bat
set Axis_Lib=D:\jxkh\test\WebRoot\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8888/test/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
执行deploy.bat 显示执行成功
后在ie上输入 http://localhost:8888/test/services
就会显示你的接口.
服务端发布没有问题.
在客服端
(1)
把axis下的包考到你的客户端下.
SayHelloClient.java
package com.xlh.study;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class AxisClient {
/**
* @param args
* @throws ServiceException
*/
public static void main(String[] args) throws ServiceException {
// TODO Auto-generated method stub
//指定service的URL
String endpoint = "http://localhost:8888/test/services/SayHello" ;
Service service = new Service() ;
Call call = (Call)service.createCall() ; //通过service创建call对象
try {
call.setTargetEndpointAddress(new java.net.URL(endpoint) ) ;
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
call.setOperationName("getName") ;
try {
String str = (String)call.invoke(new Object[]{"你好"}) ;
System.out.println(str) ;
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
执行没有问题.
可是第二种方案是.
生成客户端client stub文件
在浏览器上访问服务器端的服务,可以下载到WSDL文件,通过Axis的相关工具,可以自动从WSDL文件中生成Web Service的客户端代码
这里不明白.
怎么下载WSDL?怎么通过Axis工具呢.求教?
可以使用axis提供的Java2WSDL功能生成所要发布类的 WSDL,步骤如下:
1.在你的eclipse或myeclipse的项目中找到你引入的 axis.jar包,打开它,在其里面找到 org.apache.axis.wsdl下面的Java2WSDL类,然后以 Java application方式运行一下它
2.打开菜单栏“run”-->“Debug”,在弹出框的左边找到“Java Application”项,在其里面你会看到“Java2WSDL”子项,点击它---> 在右面“Main”选项下有:“Project -- ''你的项目名称'' , Main class -- ''org.apache.axis.wsdl.Java2WSDL''”,这些信息是自动进去的,不需要改动;打开“Arguments”选项,在其下“Program arguments”中输入:
Java代码
-d -l"http://127.0.0.1:8080/TestWebService/services/SayHello" -o "sayHello.wsdl" com.test.SayHello
-d -l"http://127.0.0.1:8080/TestWebService/services/SayHello" -o "sayHello.wsdl" com.test.SayHello
然后点击"Debug"按钮,就可以生成你要的wsdl文件了。
下面说下参数的意思:
-d 这个选项是要生成 deploy.wsdd 和 undeploy.wsdd
-l 这个选项是要生成webService将来要访问的地址,我做了个假设:http://127.0.0.1:8080/TestWebService/services/SayHello
-o 这个选项是要生成wsdl文件,我假设了一个文件名:sayHello.wsdl
com.test.SayHello 这个就是我们要发布的类,可以更换成你的发布类
相关推荐
webService通过axis编辑wsdl文件生成代码
axis2根据wsdl生成java客户端代码 D:\Software\axis2-1.6.2\bin>wsdl2java.bat -uri http://10.33.30.216:9099/facs/services/ResourceSynchroWebService?wsdl -o E:\wsdloutput -p com.util wsdl2java.bat -uri ...
1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...
在 Axis2 中,我们可以使用WSDL2Java工具从一个给定的WSDL文件自动生成Java客户端代码。这个过程包括以下步骤: 1. **下载与安装**: 首先,你需要下载Axis2 1.6.2的发行版,这里提供的是"axis2-1.6.2"的压缩包。...
抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...
标题 "Axis 自动生成WebService" 涉及到的是在IT行业中创建和使用Web服务的一个关键工具——Axis。Web服务是一种基于互联网的软件应用,允许不同系统之间的数据交换,通常使用XML作为数据格式,SOAP协议进行通信。...
根据对方提供的webservice地址,你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl....
然后使用Axis的wsdl2java工具,从Java类生成WSDL文件和服务实现类。最后,使用.axis_home目录下的wsdeploy工具部署服务到服务器。 5. 调试和测试WebService: Axis提供了一个内置的SOAP客户端,称为SoapUI,可以...
本文将围绕“手动生成WSDL代理类”的主题,详细解析如何利用WSDL.exe工具,通过简单的操作步骤,为Web Service创建代理类,从而简化开发过程中的服务调用。 #### WSDL代理类的意义 代理类,顾名思义,是在客户端...
- **消息bean**:代表WSDL中定义的消息结构,通常为Java Bean类。 - **SOAP绑定类**(或Stub类):用于实际的服务调用,封装了SOAP消息的构建和发送。 在服务端,你需要实现服务接口并部署到应用服务器。客户端则...
使用Axis的`wsdl2java`命令,根据你的Java类生成WSDL(Web Service Description Language)文件。在命令行中输入: ``` wsdl2java -server -d . HelloWorld.java ``` 这将在当前目录下生成一个`HelloWorldService`...
Axis提供了从WSDL(Web服务描述语言)到Java代码的生成,以及从Java类到WSDL的逆向工程,使得开发Web服务变得简单。 要将SpringBoot与Axis结合,我们需要以下步骤: 1. **创建SpringBoot项目**:首先,我们需要一...
使用cxf wsdl2java生成webservice客户端命令
axis1.4生成访问客户端代码
标题中的“webservice axis开发示例”是指使用Apache Axis框架创建和使用Web服务的实践案例。Apache Axis提供了一套工具和服务,简化了Web服务开发过程,包括编译WSDL(Web服务描述语言)文件为Java代码、生成客户端...
使用 Axis 的 wsdl2java 工具,你可以根据服务的 WSDL 文件生成客户端所需的 Stub 类。 - **调用服务**:使用生成的 Stub 类,客户端可以像调用本地方法一样调用 WebService 方法。你需要实例化 Stub 类,然后调用...
Axis在Web服务领域中扮演着关键角色,因为它简化了SOAP(简单对象访问协议)消息处理和WSDL(Web服务描述语言)的生成。 【标签】"axis发布webs"进一步确认了这个教程的核心内容是关于使用Axis工具发布Web服务。Web...
### 基于Axis框架与WSDL格式的WebService开发指南 #### 一、概述 本文档旨在介绍如何基于Apache Axis框架构建一个简单的WebService,并通过WSDL(Web Services Description Language)来实现服务的发布与调用。...
在这个"WebService Axis1.4接口服务序列/反序列复杂项目实例"中,我们将深入探讨如何在 Axis1.4 中处理复杂的参数、自定义实体对象的序列化与反序列化,以及客户端的复杂调用。 首先,让我们理解序列化和反序列化的...