This repository has been archived by the owner on Oct 14, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Automatically exported from code.google.com/p/java-ws-discovery
License
nateridderman/java-ws-discovery
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A Java implementation of the WS-Discovery specification draft (http://schemas.xmlsoap.org/ws/2005/04/discovery/). This is version 0.1 and the first release of this library. Please check http://code.google.com/p/java-ws-discovery/ for future updates. ** License ** This program is free software: you can redistribute it and/or modify it under the terms of the Lesser GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public License for more details. You should have received a copy of the Lesser GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. ** About the files ** WS-Discovery Contains the actual WS-Discovery implementation. The other directories are examples. WSDiscoveryGUI A simple GUI for publishing and discovering services. WSDiscoveryExamples Some examples of how the WS-discovery implementation can be used to publish and find services. WSPublisherExample How to publish a Web Service description. CalculatorWSClientExample A WS-client that tries to find CalculatorWSServer by using WS-Discovery and invoke it. Requires that WSPublisherExample running and that CalculatorWSServer is deployed. CalculatorWSServer A simple Web Service. Deploy this before running WSPublisherExample and CalculatorWSClientExample. ** Requirements ** All the examples requires the WsDiscovery.jar-file that can be found in WS-Discovery/dist after building WS-Discovery. The Web Services and the examples interacting with them, need a Java 1.6 environment to compile properly. The project files were created in NetBeans 6.5. More verbose logging in the WS-Discovery library can be enabled by adjusting ws_discovery.WsDiscoveryConstants.loggerLevel, i.e. by setting it to FINEST. ** Known limitations ** - Proxy client/server mode is currently untested and may not work properly. - The specification draft does not specify how a proxy server should be implemented, so proxy server mode is most likely incompatible with other WS-Discovery implementations. - Matching algorithms for LDAP and UUID are not implemented. They can easily be added by completing the classes ws_discovery.servicedirectory.matcher.MatchScopeLDAP and ws_discovery.servicedirectory.matcher.MatchScopeUUID. - WS-Security signatures are not supported. ** Adding matching algorithms ** Matching algorithms are used in WS-Discovery when probing for new services. The sender of the probe specifies which matching algorithm should be used when the receiver is looking for matching services. If the matching algorithm is unsupported the receiver will simply discard the probe. The WS-Discovery specification defaults to the matching algorithm specified in RFC2396, which basically matches the elements in the URI one element at a time (http://a.b.c/Service/ will match http://a.b.c/Service/MyService, but http://a.b.c/Serv will not). By creating custom matching algorithms the WS-Discoveryprotocol can be extended to support more advanced service discovery mechanisms. Matching algorithms can be added to the implementation by writing new classes that implement the IMatchType interface and adding them to the ws_discovery.servicedirectory.MatchBy enumerator. ** Adding transport protocols ** Currently only SOAP-over-UDP and a variant of SOAP-over-UDP using gzip-compression is implemented. Other transport protocols can be added by creating a class that implements the ITransportType interface. The new class must be added to the ws_discovery.transport.TransportType enumerator. To activate the new transport protocol, change WsDiscoveryConstants.transportType. ws_discovery.network.transport.soapudp.zlib.SOAPOverUDPzlib is an example of how SOAP-over-UDP can be extended to support compression. It should be relatively easy to add other compression-methods, like Efx. When compression is enabled the implementation is not compatible with the WS-Discovery specification draft. Magnus Skjegstad ([email protected]), 22.01.09
About
Automatically exported from code.google.com/p/java-ws-discovery
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published