Java Web Services Developer Pack 1.6
Supported Platforms
What's New in Java WSDP 1.6?
Redistributable Components
Nonredistributable Components
Environment Variables
Using Ant That Comes with Java WSDP on Linux
Uninstalling Java WSDP 1.6
Known IssuesThe JavaTM Web Services Developer Pack (Java WSDP) is an all-in-one download containing key technologies to simplify building of web services using the Java 2 Platform. For release notes for these technologies see:
This release of the Java WSDP has been tested in various configurations with J2SE 1.4.2 and J2SE 5.0 on the following platforms:
- SolarisTM 9 Operating System
- SolarisTM 10 Operating System
- Windows 2003 Server Professional Edition
- Windows XP Professional Edition
- Windows 2000 Professional Edition
- Red Hat Linux 9.0
- Red Hat Linux AS 3.0
- Fast Infoset 1.0 FCS acceleration technology built on ASN.1 standards
- Service Registry early access release for SOA web services, built on ebXML 3.0 Registry with full UDDI 3.0 support
- XML Web Services Security 2.0 early access
- Sun Java Streaming XML Parser 1.0 EA release, a high performance implementation of JSR 173
- JAXP 1.3.1 FCS release
- XML Digital Signatures 1.0 FCS release
- Bug fixes, refreshed core components (JAX-RPC, JAXB, JAXR, and more)
Redistribution of the entire Java WSDP is subject to this license.
The following Java WSDP components are individually redistributable. Redistribution of a component entails the redistribution of all files comprising the component and any dependent components.
Redistributable Component Files JAXP jaxp-api.jar
,dom.jar
,sax.jar
,xalan.jar
,xercesImpl.jar
JAXB [1] JAXB JAR files ( jaxb-api.jar
,jaxb-impl.jar
,jaxb-libs.jar
,jaxb-xjc.jar
), JAXP 1.1 or higher JAR files (jaxp-api.jar
,sax.jar
,dom.jar
,xalan.jar
), JWSDP Shared JAR files (jax-qname.jar
,namespace.jar
,xsdlib.jar
,relaxngDataype.jar
)JAX-RPC jaxrpc-api.jar
,jaxrpc-impl.jar
,jaxrpc-spi.jar
,relaxngDatatype.jar
,xsdlib.jar
, JAXP, SAAJ,jcert.jar
,jnet.jar
,jsse.jar
,FastInfoset.jar
,jsr173_api.jar
SAAJ saaj-api.jar
,saaj-impl.jar
,jaxp-api.jar
,dom.jar
,sax.jar
,xalan.jar
,xercesImpl.jar
,activation.jar
,mail.jar
,servlet.jar
,FastInfoset.jar
,jsr173_api.jar
JAXR jaxr-api.jar
,jaxr-impl.jar
,jaxb-api.jar
,jaxb-impl.jar
,jaxb-libs.jar
,saaj-api.jar
,saaj-impl.jar
,jaxp-api.jar
,dom.jar
,sax.jar
,xercesImpl.jar
,activation.jar
,jaas.jar
,mail.jar
,namespace.jar
,relaxngDatatype.jar
,xsdlib.jar
XML Digital Signature[2] xmldsig.jar
,xmlsec.jar
Fast Infoset FastInfoset.jar
,dom.jar
,sax.jar
,jsr173_api.jar
[1] If the application will not be doing any compilation at runtime, the jaxb-xjc.jar
file does not need to be redistributed with the application.[2] If the application is to be used with J2SE 1.4.2, the dom.jar
,xercesImpl.jar
,xalan.jar
,sax.jar
, andjaxp-api.jar
files need to be redistributed with the application.
The following Java WSDP components are not redistributable. These components can be used for designing, developing, and testing purposes only.
Nonredistributable Component Files Service Registry all Java XML & Web Services Security all Sun Java Streaming XML Parser all JSTL all WS-I Sample Application all
In J2SE SDK 1.4, JAXP 1.2 is included in the
rt.jar
file. Unless the "java.endorsed.dirs" mechanism is used to override the JAXP APIs in thert.jar
file with thejaxp-api.jar
file from Java WSDP 1.6, the JAXP 1.2 APIs from J2SE SDK 1.4 will be used. These APIs are incompatible with the JAXP 1.3 implementation classes and, if they are used in this situation, an exception will be thrown.The "java.endorsed.dirs" property must be set to include both the
JAXP_HOME/lib
directory, which contains thejaxp-api.jar
file and theJAXP_HOME/lib/endorsed
directory, which contains the implementation JAR files. Although only the JAXP API JAR file is really needed with J2SE SDK 1.4, the same "java.endorsed.dirs" property setting can be used for both J2SE 5.0, where you do need to override the JAXP 1.3 implementation classes, and J2SE SDK 1.4.2.
If you are using Java WSDP 1.6 with J2SE 5.0, you should be using the JAXP 1.3.1 JAR files from JWSDP 1.6, not the JAXP 1.3 JAR files from J2SE 5.0. Since the JAXP classes have been renamed to "com.sun..." in both JDK 5 and Java WSDP 1.6, we need to override the built-in classes. The APIs are the same (both are version 1.3) but version 1.3.1 implementation classes that ship with Java WSDP 1.6 include some bug fixes that are not included in the version 1.3 implementation classes that ship with J2SE 5.0.
On Linux systems, even if you set your ANT_HOME and PATH environment variables to point to the version of Ant that is installed with the Java WSDP 1.6, when you run the Java WSDP's Ant scripts, your system will look in the
/etc/ant.conf
configuration file and execute the version of Ant that is configured there. In this case, the default entry is/usr/share/ant
. If you want to use the version of ANT that is shipped with Java WSDP, comment out the line that configures Ant in the/etc/ant.conf
configuration file and your ANT_HOME and PATH environment variable settings will be used.
The Service Registry software is not supported on Sun Java System Web Server 6.1. If you want to try out the Service Registry software, please use one of the other containers (Sun Java System Application Server 8.1 or Tomcat for Java WSDP).
Fast Infoset is turned off (content negotiation is set to none) by default in Java WSDP 1.6. See the Fast Infoset User's Manual for information about turning on content negotiation.
The
JAVA_HOME
environment variable is set to point to the version of the J2SE SDK you specify during installation. If you change your J2SE SDK installation, you will need to edit your<JWSDP_HOME>\jwsdp-shared\bin\setenv.bat
batch file or<JWSDP_HOME>/jwsdp-shared/bin/setenv.sh
and reset theJAVA_HOME
environment variable.All other custom system properties can be set in the file
<JWSDP_HOME>/conf/jwsdp.properties
as follows:http.proxyHost=webcache http.proxyPort=8080You can override any of the properties in your file
<JWSDP_HOME>/conf/jwsdp.properties
by using the-D...
argument to any of the start scripts. For example,Unix:
catalina.sh -Dhttp.proxyHost=webcache -Dhttp.proxyPort=8080
Microsoft Windows:
catalina -Dhttp.proxyHost=webcache -Dhttp.proxyPort=8080
If you are running a console installation with J2SE 5.0, the installation will exit if the DISPLAY variable hasn't been set. Make sure that you set the DISPLAY variable before you start the console installation.
At some point, you may need to uninstall Java WSDP 1.6:
- On Microsoft Windows, select Start --> Programs --> Java(TM) Web Services Developer Pack 1.6 --> Uninstall.
- On Solaris and Linux, run the
<JWSDP_HOME>/uninstall.sh
script.If you ran one of the integration scripts after you installed the Java WSDP, you must rerun the script using the
revert.<container>.changes
target before you uninstall the Java WSDP.
wscompile
in Application Server Is Not Equivalent with
wscompile
in Java WSDP 1.6After installing Java WSDP 1.6 into the Sun Java System Application Server 8.1, the
wscompile
script in<sjsas.root>/bin
doesn't support the-security
option, whereas, thewscompile
script under<jwsdp.home>/jaxrpc/bin
does support the-security
option.
In the
domain.xml
file, in the<java-config ...>
element, the<jvm-options>
element sets thejava.endorsed.dirs
property as follows:
-Djava.endorsed.dirs=${com.sun.aas.installRoot}/lib/jwsdp-tools-lib:${com.sun.aas.installRoot}/lib/endorsed sfssdfs
On Windows, the ":" separator is incorrect. It should be ";". Because of this, the JAXP 1.3.1 JAR files from the
<sjsas.home>/lib/endorsed
directory are not loaded and, instead, the JAXP 1.2.6 JAR files from J2SE SDK 1.4 are used. This affects the signature function in XWSS. The problem only applies to the Windows platform when you use the Sun Java System Application Server as the container and use J2SE SDK 1.4.x.You can easily work around the problem by stopping the server, and manually editing the
domain.xml
file.
index.html
File Omits
derbytools.jar
in ClasspathIn Section 3.2.3, Step 3, which describes how to create a database, doesn't include the
derbytools.jar
file in the classpath, which is required.
You do not have to be a registered user to use the publishing functions with the Service Registry Web UI Tool. You have permission to perform all operations as the default Registry Operator. You may ignore the documentation about registering and creating user accounts.
By default, the Web UI has versioning turned off. You can turn it on by checking the box in the Web UI. This feature was turned off because there are a number of versioning bugs:
- Versioned RegistryPackage Loses Its Contents (Bug ID 6248218)
Problem Summary: In the JAXR provider, if you change a Registry Package so as to create a new version of the object, all the package contents disappear from the new version.- Classification Is Added to Both Old and New Versions of Object (Bug ID 6248293)
Problem Summary: In general, adding an attribute to an object creates a new version of the object that contains the previous attributes of the object plus the changes, but leaves the previous version of the object unchanged. Adding a Classification does not work this way. If you add a classification to version 1.1 of the object, then save the object, the classification now exists in both version 1.1 and version 1.2. (This happens in either the Web Console or the JAXR provider.)- Adding Classification, ExternalIdentifier, or Slot Has Side Effect of Deleting External Link (Bug ID 6248418)
Problem Summary: In the JAXR provider, if you add a Slot, a Classification, or an ExternalIdentifier to an object that has an ExternalLink, the ExternalLink disappears from the new version of the object.
When you load the Service Registry in the Application Sever and use the Web UI, the Application Server's
server.log
file shows a number of messages about the connection to the database not being made and about serialization/deserialization problems that you can ignore.
The Derby database used by the Service Registry, which is installed in code>${user.home}, is run in embedded mode. You cannot connect to the database through any other client when the service registry is running with Derby in embedded mode.
- The Attachments sample has incorrect
jwsdphome
property. In thebuild.properties
files you should change thejwsdphome
setting to${buildhome}/../../../
.- The
samples.html
document includes a%ant deploy-war
task that is not required as long as the pre-packaged WAR file is not changed. This step is required regardless, since the WAR file is not autodeployed on the container.
The JAX-RPC Release Notes installed with Java WSDP 1.6 have the wrong release number. It should be 1.1.3. The tools documentation has not been updated to describe the new
-security
option.
FastInfoset makes little or no impact when:
- There is no binding, using the
wscompile
option -f:nodatabinding
- Complex schema that results in the use of
SOAPElement
for non-supported schema features, such asxsd:choice
There is a problem with authentication when FastInfoset is enabled and EJBs are used as WebService endpoints. This is because "EJBWebServiceDispatcher" is rejecting all the messages that are not of type "text/xml". As a result, applications using "EJB Webservices endpoints" may fail when FastInfoset is used.
The classpath separator on
line number 3 of
<jwsdp.home>\xws-security\samples\buildconfig\tomcat-config.xml
needs to be changed from ":" to ";" .
Unix:
<property name="java.endorsed.dirs"
value="${tomcat.home}/jaxp/lib/endorsed:${tomcat.home}/jaxp/lib/"/>
Windows:
<property name="java.endorsed.dirs"
value="${tomcat.home}/jaxp/lib/endorsed;${tomcat.home}/jaxp/lib/"/>
<xwss:Target>/<xwss:EncryptionTarget>
elements
within an
<xwss:RequireEncryption>
element should
match the order of corresponding
<xenc:DataReference>
's
in the <xenc:ReferenceList>
of the incoming Message if
the Type of the <xenc:EncryptedData>
for any of the
<xenc:DataReference>
's is
"http://www.w3.org/2001/04/xmlenc#Element".
DataEncryptionMethod
, according to the
XWS-Security configuration schema, is
"http://www.w3.org/2001/04/xmlenc#aes128-cbc",
for backward compatibility reasons, the XWS-Security
implementation
still uses
"http://www.w3.org/2001/04/xmlenc#tripledes-cbc"
as the default DataEncryptionMethod.
Please send feedback on the Java Web Services Developer Pack to users@jwsdp.dev.java.net.
Copyright © 2005 Sun Microsystems, Inc. All rights reserved.