方式1:
可以看到在WSDL中会有一个
<wsdl:portType name="CarShop">
......................
</wsdl:portType>
<service name="CarShopService">
<port name="CarShopPort" binding="tns:CarShopBinding">
<soap:address location="http://cccc.eb.com/xmlapi/shop/car/v1"/>
</port>
</service>
通过编译会自动生成所有的类型,其中有一个名为CarShopService的一个class,这就代表我们发布的服务。
如下是字节码文件的头:
@javax.xml.ws.WebServiceClient(name="CarShopService",
targetNamespace="urn:expedia:wsapi:car:v1",
wsdlLocation="com.expedia.wsapi.car.v1.wsdl")
public class com.wsapi.car.v1.CarShopService extends javax.xml.ws.Service {
通过以下这个代码我们可以在任意的地方访问这个服务。
WebServiceClient annotation =
CarShopService.class.getAnnotation(WebServiceClient.class);
wsdlUrl = new URL(CarShopService.class.getResource(
CarShopService.class.getSimpleName() + ".class"),
annotation.wsdlLocation());
qName = new QName(annotation.targetNamespace(), annotation.name());
m_service = new CarShopService(wsdlUrl, qName);
m_port = m_service.getCarShopPort();
方式2:
URL createOrderURL = new URL(m_client.getEndpoint() + "?wsdl");
QName qName = new QName("urn:com:shop:car:v1", "CarShopService");
CarShopServiceo cs = new CarShopService(buyCarURL, buyCarQName);
CarShopPort port = cs.get****();
m_client.getEndpoint():是获取这个Service部署在哪里,例如:
http://localhost:8080/CarShopService
这里就不再贴代码了。
两种方式都要创建服务,然后获取这个服务中的具体服务提供者(port).运用起来也很方便,让我们在任意的地方,只要有这个web服务存在,我们就可以通过这2种方式,去访问并调用。
分享到:
相关推荐
JAX-WS(Java API for XML Web Services)是一种用于开发基于XML的Web服务的Java API。它是JAX-RPC的后继者,提供了一种更简洁的方式来实现Web服务,与之前的版本相比,它使用了基于注解的编程模型,并与Java 5及更...
JAX-WS是Java平台上的一个标准API,它允许开发者创建和消费基于SOAP的Web服务,而WSDL是一种XML格式,用于定义Web服务的接口,包括服务的位置、操作以及如何调用这些操作。 在开始之前,我们需要了解几个关键概念:...
JAX-WS 2.0 主要应用于以下几种场景: 1. **企业级应用集成**:在不同系统之间构建安全、可靠的通信通道,实现业务流程自动化。 2. **跨平台服务交互**:由于支持多种标准协议,因此非常适合于构建能够与不同平台...
Web服务(Web Service)是一种基于互联网的、采用标准XML(Extensible Markup Language)进行通信的软件,它允许不同系统间的应用程序进行交互。JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,...
它提供了一种简单、面向对象的方式来创建和访问Web服务。`jaxws-api`工具是JAX-WS的核心组成部分,它包含了一系列的接口和类,使得开发人员可以轻松地在Java应用中实现SOAP(Simple Object Access Protocol)通信。 ...
JAX-RPC是Java平台上的一个标准,它提供了一种简单的方式来调用远程Web服务,就像调用本地方法一样。这个库在开发基于Web服务的应用程序时起着至关重要的作用,特别是在那些需要与不同系统进行集成的复杂项目中。 ...
Java JAX-WS 提供了一种高效且灵活的方式来创建和使用Web服务。它包括以下几个核心组件: 1. **Service Endpoint Interface (SEI)**:定义服务的公共接口,这是客户端与服务交互的起点。 2. **WSDL (Web Services ...
通过这些文件,开发者可以深入了解JAX-WS 2.2a-mrel4-eval-api的使用方式、类库结构以及API的详细信息,从而更好地进行Web服务的开发和维护。在实际工作中,结合这些文档和示例,开发者可以更高效地利用JAX-WS构建和...
JAX-WS支持RPC/encoded风格的服务调用,同时也支持文档/文本风格的调用方式。此外,JAX-WS还支持WSDL文件的自动生成,简化了服务的发布过程。 - **示例代码**: ```java package net.ilkj.soap.server; ...
REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,强调状态转换,使Web服务的调用更加简洁高效。 在JAX-RS中,你可以使用注解来定义资源类和方法,这些类和方法对应...
"WebServiceDemoGH1.zip"是一个基于Java的WebService演示项目,它利用JAX-WS创建了一个可以通过SOAP协议访问的服务,并可以在IDEA中开发和调试。Tomcat作为服务器运行这个服务,允许跨平台的通信。理解这些知识点,...
C#通常使用.NET Framework开发,而Java Web服务则基于JAX-WS(Java API for XML Web Services)或JAX-RS(Java API for RESTful Web Services)标准。为了实现C#与Java之间的互操作,我们需要依赖于互操作性技术,如...
本篇文章将详细介绍Java中调用WebService的几种常见方法,并提供相应的源代码示例。 1. **SOAP(Simple Object Access Protocol)调用**: SOAP是WebService的主要通信协议,基于XML格式的数据交换。在Java中,...
这个实例教程中,我们了解了Java Web服务的三种规范(JAXM&SAAJ、JAX-WS、JAX-RS)以及它们的基本用途。我们也学习了如何使用Myeclipse10和Tomcat服务器创建和部署一个简单的WebService实例。开发过程中,我们手动...
**SOAP(Simple Object Access Protocol)**,简单对象访问协议,是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。SOAP允许不同操作系统、编程语言和网络环境下的应用程序通过HTTP、TCP或其他传输...
Web Service是一种基于WSDL(Web Services Description Language)定义的服务接口,使用SOAP(Simple Object Access Protocol)作为传输协议,通过HTTP协议进行通信。WSDL文件描述了服务提供的操作和消息格式,而...
在Java中,通常使用JAX-WS(Java API for XML Web Services)来处理SOAP消息,它提供了一种标准的方式来创建和消费Web服务。 4. **SOAP服务实现**:在Java中,可以通过实现一个接口或者继承特定的类来创建SOAP服务...
在IT行业中,Web服务是一种通过网络提供和使用功能的方式,它允许不同的应用程序之间进行通信和数据交换。在本示例中,我们关注的是基于Java技术栈的WebService客户端接口调用。下面将详细介绍这个主题,包括相关...
在客户端,有几种方式可以调用Web服务: 1. 使用JAX-WS的`Service`类:通过WSDL URL动态生成客户端代理类,然后通过代理类调用服务方法。 2. 生成客户端代码:使用工具(如wsimport或Apache CXF的wsdl2java)从...
Java中的SOAP实现通常依赖于JAX-WS(Java API for XML Web Services)框架,它提供了一种简单的方式来创建和消费SOAP服务。JAX-WS包括几个关键组件:Service端点接口(SEI)、服务实现、WSDL(Web服务描述语言)和...