部署webservice的服务端
web.xml
<!-- webservice服务端 -->
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
cxf-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<!-- 默认扫描的包路径 -->
<context:component-scan base-package="com.ishopping.webservice.*" />
<jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />
<jaxws:endpoint id="wsMyorder" implementor="#myorder" address="/Myorder" />
</beans>
服务器接口
package com.ishopping.webservice.service;
import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String say(String name);
public String getText();
}
服务实现类
package com.ishopping.webservice.impl;
import javax.jws.WebService;
import org.springframework.stereotype.Component;
import com.ishopping.webservice.service.HelloWorld;
@Component("hello")//这个和cxf-servlet.xml中implementor="#hello" 关联
@WebService(endpointInterface = "com.ishopping.webservice.service.HelloWorld")//接口路径
public class HelloWorldImpl implements HelloWorld{
public TestDao testDao;
public String say(String name) {
return name;
}
@Override
public String getText() {
System.out.println("fffff");
return "成功";
}
}
启动服务器,如果不出意外的话将会看到这个
输入路径
然后客户端调用
第一种通过spring来调用
//读取配置文件
ApplicationContext ctx =
new ClassPathXmlApplicationContext("ClientBeans.xml");
//get到接口类型并调用
HelloWorld hello = (HelloWorld)ctx.getBean("helloClient");
String str = hello.getText();
System.err.println(str);
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd">
<jaxws:client id="helloClient"
<!--服务地址-->
address="http://www.goudzd.com:8088/goudzd/webservice/Helloworld"
<!--客服端调用类-->
serviceClass="com.ishopping.webservice.service.HelloWorld">
</jaxws:client>
</beans>
注意的是HelooWorld接口必须和服务器路径一致
第二种:通过CXF调用
commons-logging-1.1.1.jar
cxf-2.3.3.jar
servlet-api.jar
wsdl4j-1.6.2.jar
XmlSchema-1.4.7.jar
需要用到的包
JaxWsProxyFactoryBean soapFactoryBean = new JaxWsProxyFactoryBean();
soapFactoryBean.setAddress("http://www.goudzd.com:8088/goudzd/webservice/HelloWorld?wsdl");
soapFactoryBean.setServiceClass(HelloWorld.class);
HelloWorld order =(HelloWorld) soapFactoryBean.create();
String str = order.say("dddddddd");
注意的是HelooWorld接口必须和服务器路径一致
第三种 通过soap链接
需要用到的包
ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar
注意红框的地方
//里面地址对应上面图片的namespace
SoapObject request = new SoapObject("http://service.webservice.ishopping.com/", "getText");
//这个是配置参数
// request.addProperty("Fahrenheit",txtFar.getText().toString());
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;
try {
//对应图片上的soap:address
HttpTransportSE androidHttpTransport = new HttpTransportSE("http://10.0.98.19:8088/goudzd/webservice/HelloWorld");
//call的第一个参数对应图片上的soapAction=""
androidHttpTransport.call("", envelope);
SoapObject result = (SoapObject)envelope.bodyIn;
//这里我获取第一个数据
System.out.println(result.getProperty(0).toString());
} catch (Exception e) {
e.printStackTrace();
}
下面是需要的包
- 大小: 23.6 KB
- 大小: 64.7 KB
- 大小: 132.4 KB
分享到:
相关推荐
用camel-cxf调用webservice和发布一个webservice接口例子,首先启动QueryServiceMain主函数启动webservice接口,然后启动测试类TestWebservice。例子主要是实现java代码实现camel调用webservice接口
在本文中,我们将深入探讨如何使用C#语言在Windows Forms(WinForm)应用程序中调用Web服务,以实现一个经典的示例:获取互联网上的天气预报信息。这个例子适合于使用Visual Studio 2005或2008开发环境。 首先,让...
本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。Web Service是一种基于XML(可扩展标记语言)的标准化方法,用于在不同应用程序之间共享...
本文将深入探讨在Java环境中调用WebService的五种主要方式:Axis、CXF、HttpClient、MyEclipse反向生成以及XFire。 1. Axis:Apache Axis是最早且广泛使用的SOAP库,用于创建和消费Web服务。使用Axis调用WebService...
Web服务是一种基于网络的、可互操作的软件接口,它允许不同系统之间的数据交换和功能调用。在C#中,创建和使用Web服务是非常常见的任务,尤其在分布式应用程序开发中。本篇将深入探讨C# Web服务的基本概念、创建过程...
Webservice服务创建、调用,多种方式调用
当我们无法直接引用特定的jar包或者面临jar包冲突时,通过HTTP POST方式调用WebService成为了一种有效的解决方案。本文将深入探讨如何在Java环境中,利用HTTP POST方法调用WebService,并解决可能遇到的问题。 首先...
在这个基于CXF的Web服务完整例子中,我们将深入探讨CXF的核心概念、配置、以及如何创建和调用Web服务。 1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache ...
Java调用C#的WebService是跨平台间通信的一种常见方式,尤其在企业级应用中,可能需要集成不同语言开发的服务。本示例介绍如何在Java环境中利用Xfire库来调用C#编写的WebService服务。 首先,理解WebService的核心...
C# _.NET_动态调用webservice的三种方式 在本文中,我们将讨论如何动态调用WebService的三种方式。在某些情况下,我们可能需要在程序运行期间动态调用一个未知的服务。这可以通过使用.NET Framework的System.Web....
Web服务(Web Service)是一种基于互联网的、使用标准XML(Extensible Markup Language)进行通信的软件服务,允许不同系统间的应用程序进行交互。本实例主要关注的是如何调用Web Service接口,我们将探讨相关的关键...
- WSDL(Web Services Description Language):定义了Web服务的接口,描述了服务的位置以及如何调用这些服务。 - SOAP(Simple Object Access Protocol):用于交换结构化和类型化的信息,是Web服务的主要消息...
通过这个“较完整的Webservice例子”,开发者可以学习到Web Service的基本概念,XFire框架的使用,以及如何在实际项目中构建和调用Web Service。同时,对于源码的分析和调试,将进一步加深对Web Service原理的理解。
代码在Linux5.6 64下编译通过,代码中调用http://www.cs.fsu.edu/~engelen/calc.wsdl提供的WebService接口。文件中相应的文件由gSOAP工具生成,详细操作说明请看我的博客。
### WebService服务的三种调用方式 在现代软件开发中,WebService作为一种标准的服务提供机制,在分布式系统中的应用非常广泛。本文将详细介绍基于SOAP协议的远程WebService服务的三种常见调用方式,帮助开发者根据...
在IT行业中,开发人员经常需要在不同的系统之间交换数据和服务,这时Web Service就扮演了重要的角色。本示例聚焦于如何使用...随着经验的积累,开发者还可以学习更高级的主题,如异步调用、安全性处理以及优化性能等。
在WinForm应用程序中调用WebService是一项常见的任务,它允许客户端应用程序与远程服务器上的服务进行交互,从而实现数据交换和功能扩展。以下是如何在WinForm中实现这一操作的详细步骤及涉及的相关知识点: 1. **...
在VC++中调用WebService服务是一项常见的任务,尤其在跨平台通信、系统集成或扩展应用程序功能时。WebService是一种基于Web的、松耦合的服务,它使用标准的HTTP协议进行通信,并通过XML(eXtensible Markup Language...
通过Webservice方式提供U8的API调用,可避免客户端安装用友U8才能调用到U8API,完整的调用源码..实现其他语言开发的平台可以调用U8 API生成单据以及处理单据的审核等. 需引用: UFIDA.U8.MomServiceCommon.dll UFIDA....