Funktionsprinzip des Webdienstes
Anfragen von anderen Systemen weitergeleitet, leichte unabhängige Kommunikationstechnologie. Ja: Ein Softwaredienst, der über das Web über SOAP bereitgestellt, mithilfe einer WSDL-Datei beschrieben und über UDDI registriert wird.
XML: (Extensible Markup Language) Erweiterbare Markup-Sprache. Für die kurzfristige temporäre Datenverarbeitung und das World Wide Web ist es die Grundlage von Soap.
Soap: (Simple Object Access Protocol) Simple Object Access Protocol. Es ist das Kommunikationsprotokoll des XML-Webdienstes. Wenn der Benutzer Ihr WSDL-Beschreibungsdokument über UDDI findet, kann er eine oder mehrere Operationen in dem von Ihnen erstellten Webdienst über SOAP aufrufen. SOAP ist eine Spezifikation zum Aufrufen von Methoden in Form von XML-Dokumenten. Es kann verschiedene zugrunde liegende Schnittstellen wie HTTP(S) oder SMTP unterstützen.
WSDL: (Web Services Description Language) Eine WSDL-Datei ist ein XML-Dokument, das eine Reihe von SOAP-Nachrichten und deren Austausch beschreibt. In den meisten Fällen automatisch von der Software generiert und verwendet.
UDDI (Universal Description, Discovery, and Integration) ist ein neues Projekt, das sich hauptsächlich an Webdienstanbieter und Benutzer richtet. Bevor Benutzer einen Webdienst aufrufen können, müssen sie feststellen, welche Geschäftsmethoden im Dienst enthalten sind, die aufgerufene Schnittstellendefinition finden und Software auf der Serverseite kompilieren. UDDI ist ein Mechanismus, der das System anleitet, den entsprechenden Dienst basierend auf zu finden Beschreibungsdokument. UDDI verwendet den SOAP-Messaging-Mechanismus (Standard-XML/HTTP), um Registrierungsinformationen zu veröffentlichen, zu bearbeiten, zu durchsuchen und zu finden. Es verwendet das XML-Format, um verschiedene Arten von Daten zu kapseln und an das Registrierungszentrum zu senden, oder das Registrierungszentrum gibt die erforderlichen Daten zurück.
2. Aufrufprinzip
◆ Webdienstanbieter-Design Implementieren Veröffentlichen Sie den Webdienst, veröffentlichen Sie den korrekt debuggten Webdienst über den Webdienstvermittler und registrieren Sie ihn im UDDI-Registrierungszentrum (veröffentlichen).
◆ Der Webdienstanforderer fordert bestimmte Dienste vom Webdienstvermittler an fragt das UDDI-Registrierungszentrum entsprechend der Anfrage ab und findet Dienste, die die Anfrage für den Anforderer erfüllen (Erkennung)
◆ Der Webdienst-Vermittler gibt die Webdienstbeschreibungsinformationen, die die Bedingungen erfüllen, an den Webdienst-Anforderer zurück. Die Beschreibungsinformationen werden in WSDL geschrieben und können von verschiedenen Maschinen gelesen werden, die Webdienste unterstützen (Discovery)
◆ Verwenden Sie die vom Webdienstvermittler zurückgegebenen Beschreibungsinformationen, um die entsprechende SOAP-Nachricht zu generieren und an diese zu senden der Webdienstanbieter implementiert den Webdienstaufruf; (Bindung)
◆ Der Webdienstanbieter führt den entsprechenden Webdienst gemäß der SOAP-Nachricht aus und gibt das Dienstergebnis an den Webdienstanforderer zurück. (Bindung)
3. Aufrufmethode:
Eine einfache und flexible Methode zum dynamischen Aufrufen von WebService unter Net (C#). )
Es gibt 3 Möglichkeiten, den Webservice aufzurufen
1). httpget
3). Es können strukturierte Daten übergeben werden, die ersten beiden jedoch nicht.
Übrigens verwendet Soap endlich HTTP, um XM zu übertragen
Webservice-Instanz
1. Verwenden Sie CXF, um einen Webservice-Server zu entwickeln :
Jede Webdienstkomponente erfordert 2 Teile: Schnittstelle und Implementierungsklasse:
Schritte:
2. Entwickeln Sie eine Webservice-Geschäftsschnittstelle und verwenden Sie @WebService, um die Methode zu ändern.
3. Schreiben Sie eine Implementierungsklasse für diese Methode. Die Methode muss auch mit @WebService geändert werden. Im Folgenden werden die zu implementierende Schnittstelle und der Dienstname angegeben. 4. Stellen Sie die Funktion des Webdienstes bereit:package com.ywx; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(String name); }
package com.ywx.impl; import java.util.Date; import javax.jws.WebService; import com.ywx.HelloWorld; @WebService(endpointInterface="com.ywx.HelloWorld",serviceName="HelloWorldWs")//指定webservice所实现的接口以及服务名称 public class HellowWorlds implements HelloWorld{ @Override public String sayHi(String name) { return name+"您好!现在时间是:"+new Date(); } }
二、使用CXF开发Web Service客户端:
步骤:
1、新建一个客户端工程
2、调用CXF提供的wsdl2java工具或使用eclipse/myeclipse的new Web Service生成客户端代码(这里使用第二种方式):
输入wsdl链接:
点击next:
选择生成客户端代码的位置:
点击finish,生成客户端代码如下:
3、在客户端写测试类测试:
package com.ywx.test; import java.rmi.RemoteException; import com.ywx.HelloWorldProxy; public class TestService { public static void main(String args[]){ HelloWorldProxy h = new HelloWorldProxy(); try { String s = h.sayHi("yangwenxue"); System.out.println("调webservice:"+s); } catch (RemoteException e) { e.printStackTrace(); } } }
运行结果(传入一个参数,调用Web Service返回的字符串结果如下):
其调用生成的格式已经有服务端定义好了,看上面贴出来的代码或者下面的截图说明:
Web Service服务端和客户端工程结果截图如下:
更多Funktionsprinzip und Beispiele von Webservices相关文章请关注PHP中文网!