Java 调用webservice接口测试

Java环境:Eclipse4.4.1   Jdk1.6   Cxf2.7

1、WebService 服务端文件:

文件组成很简单:webservice接口ICc  和 接口类实现CcImpl

ICc 接口代码如下:

package com.yp.webservice;

import javax.jws.WebMethod;
import javax.jws.WebService;

/**
 *
 * @author yakcy
 * @version v1.0.0
 * @date 2014-11-7
 *
 */
@WebService(name="ICc",targetNamespace="http://test.com")
public interface ICc
{
	@WebMethod
	void showMessages();
}

CcImpl 接口实现代码如下:

package com.yp.webservice;

import javax.jws.WebMethod;
import javax.jws.WebService;

/**
 *
 * @author yakcy
 * @version v1.0.0
 * @date 2014-11-7
 *
 */

@WebService(name = "ICc", targetNamespace = "http://test.com", endpointInterface = "com.yp.webservice.ICc")
public class CcImpl implements ICc {
	@WebMethod
	@Override
	public void showMessages() {
		System.out.println("Everthing is OK...");
	}

}

2、服务端配置:applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
	license agreements. See the NOTICE file distributed with this work for additional
	information regarding copyright ownership. The ASF licenses this file to
	you under the Apache License, Version 2.0 (the "License"); you may not use
	this file except in compliance with the License. You may obtain a copy of
	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
	by applicable law or agreed to in writing, software distributed under the
	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
	OF ANY KIND, either express or implied. See the License for the specific
	language governing permissions and limitations under the License. -->
<!-- START SNIPPET: beans -->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

	<jaxws:endpoint id="Cc" implementor="com.yp.webservice.CcImpl"
		address="/Cc" />  

	<bean id="client" class="com.yp.webservice.ICc" factory-bean="clientFactory"
		factory-method="create" />
	<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
		<property name="serviceClass" value="com.yp.webservice.ICc" />
		<property name="address" value="http://localhost:8080/ypms/services/Cc" />
	</bean>

</beans>
<!-- END SNIPPET: beans -->

3、webservice客户端(新建一个java 项目,将webservice服务端代码打包成jar导入到客户端项目)文件如下:

webServiceTest代码如下:

public class WebServiceTest {

	public static void main(String[] args) {

		ApplicationContext context = new ClassPathXmlApplicationContext(
				new String[] { "applicationContext.xml" });
		ICc client = (ICc) context.getBean("client"); <span style="color:#FF0000;">//如果webservice接口中出现过自定义类,必须将源码添加到客户端中,否则创建client会报找不到</span>
		client.showMessages();
	}
}

备注:<span style="color:#FF0000;"><span style="background-color: rgb(255, 255, 255);">客户端的applicationContext.xml内容与服务端一致</span></span>

4、先发布webservice接口,生成WSDl文件(在浏览器中输入:http://localhost:8080/ypms/services/Cc?wsdl,如下所示:

备注以上内容可能不同,只要能看到自己写的方法就可以了

5、运行客户端代码,结果如下:

总结:

这样webservice调用就成功了, 其实客户端可以通过在Eclipse安装Xfire插件,添加WDSL路径自动生成webservice客户端代码,不过遇到个问题很久没解决如下:

问题:关于带參的方法调用导致成意外元素

如果有遇到过解决了的朋友可以分享下。。。

时间: 2024-10-12 20:23:39

Java 调用webservice接口测试的相关文章

Java调用WebService 接口 实例

这里给大家介绍一下,Java调用webservice的一个实例的过程. 本项目不能运行,因为接口地址不可用. 这里只是给大家介绍一个过程,同时留作自己的笔记.如果要学习,可以参照别人的实例.比较好. ①选择项目根目录的src ,右键,new --> webservice client 然后输入地址: http://172.18.100.52:456/hello?wsdl 必须要加wsdl结尾,这样才是一个webservice的接口. finlish.这时候刷新项目.可以看到项目下/src/com

Java调用WebService

Java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用.理论上是一样的,只不过用Eclipse自动生成代码省事些. 1.编写代码方式: package com.yudun.test; import java.rmi.RemoteException;import org.apache.axis.client.Call;import org.apache.axis

java调用webservice接口方法

webservice的 发布一般都是运用WSDL(web service descriptive language)文件的款式来发布的,在WSDL文件里边,包含这个webservice暴露在外面可供运用的接口.今日查找到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包含许多方面的free webservice provider,utilities->global weather就

Java调用WebService的方法总结

1.使用命令wsimport自动生成java代码 wsimport是jdk自带的,可以根据wsdl文档生成客户端调用代码的工具.  wsimport.exe位于JAVA_HOME\bin目录下. 常用参数为: •-d<目录>  - 将生成.class文件.默认参数. •-s<目录> - 将生成.java文件. •-p<生成的新包名> -将生成的类,放于指定的包下. •(wsdlurl) - http://server:port/service?wsdl,必须的参数. 示

(转)java 调用webservice的各种方法总结

原文地址:http://www.blogjava.net/zjhiphop/archive/2009/04/29/webservice.html 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!!    由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一起来研究研究webservice的各种使用方法.    一.利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务     1.首先建立一个Web serv

java 调用webservice的各种方法总结

一.利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务 1.首先建立一个Web services EndPoint: Java代码 package Hello; import javax.jws.WebService; import javax.jws.WebMethod; import javax.xml.ws.Endpoint; @WebService public class Hello { @WebMethod public String hell

java调用webservice的四种方式

webservice: 就是应用程序之间跨语言的调用 wwww.webxml.com.cn 1.xml 2.    wsdl: webservice description language web服务描述语言 通过xml格式说明调用的地址方法如何调用,可以看错webservice的说明书 3.soap simple object access protoacl (简单对象访问协议) 限定了xml的格式 soap 在http(因为有请求体,所以必须是post请求)的基础上传输xml数据 请求和响

JAVA调用webservice方法(axis)

项目需求上需要调用另一个合作伙伴的webservice接口,之前用的是sax的调用方式,开始摸索这个,感觉这个也挺简单的,现在把自己的实现过程分享给大家,写的不好的地方,望大家勿喷. 详细代码如下: package com.ancs.oa; import java.util.Date; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.En

Java调用WebService之Axis实现

import org.apache.axis.client.Call; import org.apache.axis.client.Service; /** * @ClassName: TestAxis * @Description: TODO(描述这个类的作用) * @author Roy_70 * @date 2017年4月18日 上午9:16:26 * */ public class TestAxis { public static void main(String []args){ St