`
mrjeye
  • 浏览: 177690 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java通过Axis2调用WCF

    博客分类:
  • java
 
阅读更多
一.在http://axis.apache.org/axis2/java/core/download.cgi下载axis2(1.6:http://apache.etoak.com//axis/axis2/java/core/1.6.1/axis2-1.6.1-bin.zip)

二.解压到你觉得应该解压的目录
然后进入bin,执行axis2server.sh启动测试服务器,如果看到以下信息,表示启动成功.
mrjs-MacBook-Pro:bin mrj$ ./axis2server.sh 
 Using AXIS2_HOME: /Users/mrj/Downloads/axis2-1.6.1
 Using JAVA_HOME:  /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
[INFO] [SimpleAxisServer] Starting
[INFO] [SimpleAxisServer] Using the Axis2 Repository/Users/mrj/Downloads/axis2-1.6.1/repository
[SimpleAxisServer] Using the Axis2 Repository/Users/mrj/Downloads/axis2-1.6.1/repository
[SimpleAxisServer] Using the Axis2 Configuration File/Users/mrj/Downloads/axis2-1.6.1/conf/axis2.xml
[INFO] Clustering has been disabled
[INFO] Deploying module: addressing-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/addressing-1.6.1.mar
[INFO] Deploying module: metadataExchange-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/mex-1.6.1.mar
[INFO] Deploying module: mtompolicy-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/mtompolicy-1.6.1.mar
[INFO] Deploying module: ping-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/ping-1.6.1.mar
[INFO] Deploying module: script-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/scripting-1.6.1.mar
[INFO] Deploying module: soapmonitor-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/soapmonitor-1.6.1.mar
[INFO] Deploying Web service: version.aar - file:/Users/mrj/Downloads/axis2-1.6.1/repository/services/version.aar
[INFO] Listening on port 8080
[INFO] [SimpleAxisServer] Started
[SimpleAxisServer] Started


注:你可能需要给文件加上可执行的权限
sudo chmod a+rwx *


三.配置相应环境变量
    sudo vim /etc/profile


export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

export AXIS2_HOME=/Users/mrj/Downloads/axis2-1.6.1


source /etc/profile


四.使用wsdl生成java文件
进入axis2的bin目录(当然你可以配置环境变量)

如果你已将wsdl下载到本地:
./wsdl2java.sh -o javacode -uri /Users/mrj/Downloads/PadManage.xml


如果是一个web资源:
./wsdl2java.sh -o javacode -uri http://127.0.0.1:8080/axis2/services/Version?wsdl


注:-o指定文件生成目录,你还可以指定-r以生成单元测试类,关于更多的信息,请参数axis2帮助文档.

五.把生成的java文件目录copy到你的项目路径,刷新开发工具,此时你可以看到生成的java文件.
此时你可能会看到项目中有些错误,你只需要将下载来的axis2目录lib里面的jar包加入bulid path.

// -------------------------
附上对helloworld的单元测试
// -------------------------
package sample.axisversion.test;

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;
import org.junit.Test;

import sample.axisversion.VersionExceptionException;
import sample.axisversion.VersionStub;
import sample.axisversion.VersionStub.GetVersion;

/**
 * 
 * @author mrj
 *
 */
public class TestHelloAsix {

	@Test
	public void testGetVersion() {
		try {
			VersionStub versionStup = new VersionStub();
			GetVersion request = new GetVersion();
			
			System.out.println(versionStup.getVersion(request).get_return());
		} catch (AxisFault e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (VersionExceptionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}



控制台输出:
log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisOperation).
log4j:WARN Please initialize the log4j system properly.
Hi - the Axis2 version is 1.6.1



--------------------
同时jax-ws也是一个不错的东西,你可以在(http://jax-ws-commons.java.net/)下载到它的最新版本(JDK已经带了).
下面这条命令可以生成java代码
wsimport -s /Users/mrj/Desktop/ -extension -p mypkg http://192.168.1.100:8812/PadManage/?wsdl


可能需要用到的jar包:
webservices-rt.jar(**必须的一个)
-- helloworld程序不需要以下jar包,.
webservices-api.jar
webservices-extra-api.jar
webservices-extra.jar

分享到:
评论

相关推荐

    axis2调用WCF

    标题中的“axis2调用WCF”...总的来说,"axis2调用WCF"涉及到的是Java和.NET环境下的服务集成,通过SOAP协议实现跨平台的通信。理解并掌握这两个技术以及它们之间的交互方式,对于开发混合平台的分布式系统至关重要。

    java基于Axis2调用C#开发的web service获取xml结果

    本主题将深入探讨如何使用Java的Axis2框架调用由C#开发的Web服务来获取XML结果。以下是相关知识点的详细解释: 1. **Web Service**: Web服务是一种通过HTTP协议进行通信的应用程序接口(API),允许不同系统间的...

    Axis2完美教程java c#调用.doc

    【描述】中提到的“Axis2完美教程”是一份详尽的指南,旨在帮助读者掌握Apache Axis2框架的使用,特别是如何通过Java和C#客户端进行调用。该文档可能涵盖了Axis2的基本概念、安装与配置、服务创建、客户端开发以及跨...

    axis2 转java 需要的文件

    6. **客户端调用**:生成的客户端代码包含了调用WCF服务所需的所有必要类和方法,你可以直接在你的Java应用中使用这些类来与服务进行交互。 7. **测试和调试**:部署服务后,使用Java客户端代码进行测试,确保所有...

    Java如何基于wsimport调用wcf接口

    WCF(Windows Communication Foundation)是微软.NET框架的一部分,用于构建面向服务的应用程序,而Java作为跨平台的语言,通过标准的SOAP(Simple Object Access Protocol)协议可以与WCF服务进行通信。 以下是...

    java与wcf通信

    3. **Java访问WCF服务**:Java通过使用SOAP客户端库(如Apache CXF、Axis2)可以调用WCF服务。这涉及到理解WSDL(Web Service Description Language),它定义了服务接口和消息格式。 4. **C#客户端代码**:这部分...

    Axis WebService 实例源码

    2. **创建WebService**:使用Axis,你可以通过两种方式创建Web服务:使用WSDL(Web Services Description Language)文件或通过Java代码。在这个实例中,我们可能使用了后一种方法,即通过Java类定义服务接口和实现...

    java与wcf通讯

    本文档详细介绍了如何配置Java环境来访问WCF服务,特别是使用Apache Axis2作为Java客户端调用WCF服务的代理。 首先,进行WCF与Java通讯的环境搭建工作非常重要。为了实现这一目标,我们需要下载Apache Axis2的1.4.1...

    java程序调用.net/c#的webservice

    Java程序调用.NET/C#的Web服务是一种跨平台的交互方式,主要依赖于SOAP(Simple Object Access Protocol)协议,使得不同编程语言开发的应用程序能够相互通信。在本场景中,用户已经提供了一个.NET的Web服务,而我们...

    搜集网上的资料总结的XFire,Axis2,CXF的对比

    在Java Web项目中,调用.NET WCF发布的Web服务时,常常会遇到选择合适的Web服务客户端框架的问题。本文主要对比了三种流行的Java Web服务框架:XFire、Axis2和CXF,以帮助开发者做出最佳选择。 首先,CXF是一个由...

    Axis2手把手学习资料

    在Java客户端,你可以使用Axis2提供的API来调用Web服务。首先,需要生成对应的客户端代码,这通常通过WSDL(Web服务描述语言)完成。接着,实例化客户端对象并调用相应的方法即可。对于C#客户端,可以使用.NET的...

    JAVA与.NET的相互调用——通过Web服务实现相互调用[收集].pdf

    - Java客户端使用工具(如wsimport或Axis2)从.NET服务的WSDL生成Java客户端代码,然后通过这些代码调用.NET服务的方法。 4. **TCP/IP套接字和Remoting调用** - **TCP/IP套接字**:虽然比Web服务更为底层,但直接...

    java调用.NET的webservice源码

    总结起来,Java调用.NET的Web服务主要涉及XML、SOAP、WSDL等相关技术,以及使用JAX-WS、Apache Axis2或CXF等Java库生成客户端代理并进行调用。通过理解这些知识点,开发者可以构建起Java和.NET应用程序之间的桥梁,...

    Java调用以WSDL形式发布的web_service.doc

    - Apache Axis是一个流行的Java Web服务框架,它可以解析WSDL文件并生成客户端代码,简化调用过程。 - 在例子中,我们使用了Apache Axis的`Service`和`Call`类来创建和执行服务调用。 ```java // 创建Service...

    WebServie创建部署调用

    服务器应支持Web服务框架,如Java的Axis或.NET的WCF。 2. **发布服务**:将编译后的服务类和相关的WSDL文件上传到服务器。这通常涉及配置服务器的部署描述符(如web.xml)来暴露服务。 3. **测试服务**:部署后,...

    动态调用webservice(完整可运行)

    对于Java,可以使用Apache CXF或Axis2等库;对于.NET,可以使用SoapHttpClientProtocol类或者WCF(Windows Communication Foundation)服务。 总的来说,动态调用Web服务是一项重要的技能,尤其在需要与第三方服务...

    动态调用WebService例子 文档

    3. **Apache CXF与 Axis2**:这两个是Java中广泛使用的Web服务框架,它们支持动态调用。Apache CXF提供了强大的工具来动态生成客户端代码,而Axis2内置了动态客户端生成器,使得在运行时调用Web服务变得简单。 4. *...

Global site tag (gtag.js) - Google Analytics