JBossWS SVN: r2265 - branches/jbossws-1.2.0/build/hudson/hudson-home/jobs/JBWS-Tests-TC-5.5.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 16:36:12 -0500 (Sat, 03 Feb 2007)
New Revision: 2265
Modified:
branches/jbossws-1.2.0/build/hudson/hudson-home/jobs/JBWS-Tests-TC-5.5/config.xml
Log:
dont sleep after start
Modified: branches/jbossws-1.2.0/build/hudson/hudson-home/jobs/JBWS-Tests-TC-5.5/config.xml
===================================================================
--- branches/jbossws-1.2.0/build/hudson/hudson-home/jobs/JBWS-Tests-TC-5.5/config.xml 2007-02-03 21:32:49 UTC (rev 2264)
+++ branches/jbossws-1.2.0/build/hudson/hudson-home/jobs/JBWS-Tests-TC-5.5/config.xml 2007-02-03 21:36:12 UTC (rev 2265)
@@ -33,7 +33,6 @@
# start jbossas
#
$TOMCAT_INSTANCE/bin/catalina.sh start
-sleep 10
#
# execute tests
18 years, 1 month
JBossWS SVN: r2264 - branches/jbossws-1.2.0/integration-tomcat.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 16:32:49 -0500 (Sat, 03 Feb 2007)
New Revision: 2264
Modified:
branches/jbossws-1.2.0/integration-tomcat/build.xml
Log:
Check for jbossws-thirdparty.jar in init
Modified: branches/jbossws-1.2.0/integration-tomcat/build.xml
===================================================================
--- branches/jbossws-1.2.0/integration-tomcat/build.xml 2007-02-03 21:18:27 UTC (rev 2263)
+++ branches/jbossws-1.2.0/integration-tomcat/build.xml 2007-02-03 21:32:49 UTC (rev 2264)
@@ -25,10 +25,9 @@
<property name="tomcat.output.classes14.dir" value="${tomcat.output.dir}/classes14"/>
<property name="tomcat.output.lib.dir" value="${tomcat.output.dir}/lib"/>
- <available property="jbossws.thirdparty.available" file="${tomcat.output.lib.dir}/jbossws-thirdparty.jar"/>
-
<target name="tomcat-init" depends="prepare, thirdparty">
<fail message="Not available: ${tomcat.home}/server/lib/catalina.jar" unless="tomcat.available"/>
+ <available property="jbossws.thirdparty.available" file="${tomcat.output.lib.dir}/jbossws-thirdparty.jar"/>
</target>
<!-- ================================================================== -->
18 years, 1 month
JBossWS SVN: r2263 - branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 16:18:27 -0500 (Sat, 03 Feb 2007)
New Revision: 2263
Modified:
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMUtils.java
Log:
Use JBossWSEntityResolver
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMUtils.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMUtils.java 2007-02-03 20:46:08 UTC (rev 2262)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMUtils.java 2007-02-03 21:18:27 UTC (rev 2263)
@@ -37,7 +37,6 @@
import javax.xml.parsers.ParserConfigurationException;
import org.jboss.logging.Logger;
-import org.jboss.util.xml.JBossEntityResolver;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -68,7 +67,7 @@
factory.setValidating(false);
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
- builder.setEntityResolver(new JBossEntityResolver());
+ builder.setEntityResolver(new JBossWSEntityResolver());
return builder;
}
catch (ParserConfigurationException e)
18 years, 1 month
JBossWS SVN: r2262 - in branches/jbossws-1.2.0/jbossws-tests: src/main/java/org/jboss/test/ws and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 15:46:08 -0500 (Sat, 03 Feb 2007)
New Revision: 2262
Modified:
branches/jbossws-1.2.0/jbossws-tests/build.xml
branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/JBossWSTestHelper.java
Log:
Fix tomcat test integration
Modified: branches/jbossws-1.2.0/jbossws-tests/build.xml
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/build.xml 2007-02-03 20:16:45 UTC (rev 2261)
+++ branches/jbossws-1.2.0/jbossws-tests/build.xml 2007-02-03 20:46:08 UTC (rev 2262)
@@ -227,6 +227,9 @@
</target>
<target name="tomcat-classpath" depends="common-classpath" if="jbossws.integration.target.tomcat">
+
+ <fail message="jdk-1.5 is required for Tomcat integration" unless="HAVE_JDK_1.5"/>
+
<!-- The test client classpath -->
<path id="test.client.classpath">
<path refid="jbossws.classpath"/>
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/JBossWSTestHelper.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/JBossWSTestHelper.java 2007-02-03 20:16:45 UTC (rev 2261)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/JBossWSTestHelper.java 2007-02-03 20:46:08 UTC (rev 2262)
@@ -169,7 +169,7 @@
integrationTarget = jbossVersion;
}
}
- catch (Exception ex)
+ catch (Throwable th)
{
// ignore, we are not running on jboss-4.2 or greater
}
18 years, 1 month
JBossWS SVN: r2261 - in branches/jbossws-1.2.0: integration-jboss40 and 1 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 15:16:45 -0500 (Sat, 03 Feb 2007)
New Revision: 2261
Modified:
branches/jbossws-1.2.0/build/ant-import/build-release.xml
branches/jbossws-1.2.0/integration-jboss40/build.xml
branches/jbossws-1.2.0/jbossws-tests/build.xml
Log:
Fix jdk14 build and samples
Modified: branches/jbossws-1.2.0/build/ant-import/build-release.xml
===================================================================
--- branches/jbossws-1.2.0/build/ant-import/build-release.xml 2007-02-03 19:55:44 UTC (rev 2260)
+++ branches/jbossws-1.2.0/build/ant-import/build-release.xml 2007-02-03 20:16:45 UTC (rev 2261)
@@ -79,7 +79,6 @@
<fileset dir="${jboss40.output.lib.dir}">
<include name="jbossws40-jdk14.sar"/>
<include name="jbossws14-client.jar"/>
- <include name="jboss-jaxws14.jar"/>
</fileset>
</copy>
<copy tofile="${jbossws14.repository.dir}/component-info.xml" file="${etc.dir}/jbossws-component-info.xml" filtering="true" overwrite="true">
@@ -193,7 +192,6 @@
</fileset>
<fileset dir="${jboss40.output.lib.dir}">
<include name="jbossws14-client.jar"/>
- <include name="jboss-jaxws14.jar"/>
</fileset>
</copy>
<mkdir dir="${build.bin.dist}/lib/jboss-jdk14/jbossws40-jdk14.sar"/>
Modified: branches/jbossws-1.2.0/integration-jboss40/build.xml
===================================================================
--- branches/jbossws-1.2.0/integration-jboss40/build.xml 2007-02-03 19:55:44 UTC (rev 2260)
+++ branches/jbossws-1.2.0/integration-jboss40/build.xml 2007-02-03 20:16:45 UTC (rev 2261)
@@ -196,21 +196,13 @@
-->
<target name="jboss40-jars14" depends="jboss40-jars,jboss40-retro">
- <!-- Build jboss-jaxws14.jar -->
- <mkdir dir="${jboss40.output.lib.dir}"/>
- <jar jarfile="${jboss40.output.lib.dir}/jboss-jaxws14.jar" manifest="${etc.dir}/default.mf">
- <fileset dir="${jboss40.output.classes14.dir}">
- <include name="javax/jws/**"/>
- <include name="javax/xml/ws/**"/>
- </fileset>
- </jar>
-
<!-- Build jbossws14-core.jar -->
<mkdir dir="${jboss40.output.lib.dir}"/>
<jar jarfile="${jboss40.output.lib.dir}/jbossws14-core.jar" manifest="${etc.dir}/default.mf">
<fileset dir="${jboss40.output.classes14.dir}">
<include name="org/jboss/ws/**"/>
- <exclude name="org/jboss/ws/integration/**"/>
+ <include name="javax/jws/**"/>
+ <include name="javax/xml/ws/**"/>
</fileset>
<fileset dir="${core.dir}/src/main/resources">
<include name="schema/**"/>
@@ -233,9 +225,10 @@
<include name="javax/xml/soap/**"/>
</fileset>
<fileset dir="${jboss40.output.classes14.dir}">
+ <include name="org/jboss/ws/**"/>
+ <exclude name="org/jboss/ws/core/server/**"/>
<include name="javax/xml/ws/**"/>
<include name="javax/jws/**"/>
- <include name="org/jboss/ws/**"/>
</fileset>
<fileset dir="${core.resources.dir}/jbossws.sar">
<include name="META-INF/standard-jaxrpc-client-config.xml"/>
@@ -262,7 +255,6 @@
<include name="jbossws14-jboss40-integration.jar"/>
<include name="jbossws-context.war"/>
<include name="jbossws14-core.jar"/>
- <include name="jboss-jaxws14.jar"/>
</fileset>
<fileset dir="${thirdparty.dir}">
<include name="jaxb-api.jar"/>
Modified: branches/jbossws-1.2.0/jbossws-tests/build.xml
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/build.xml 2007-02-03 19:55:44 UTC (rev 2260)
+++ branches/jbossws-1.2.0/jbossws-tests/build.xml 2007-02-03 20:16:45 UTC (rev 2261)
@@ -160,12 +160,11 @@
<pathelement location="${tomcat.output.lib.dir}/jbossws-tomcat-integration.jar"/>
</path>
<path id="jbossws.classpath.jdk14">
- <pathelement location="${core.output.lib.dir}/jbossws14-core.jar"/>
- <pathelement location="${core.output.lib.dir}/jbossws14-client.jar"/>
- <pathelement location="${core.output.lib.dir}/jboss-jaxws14.jar"/>
<pathelement location="${core.output.lib.dir}/jboss-jaxrpc.jar"/>
<pathelement location="${core.output.lib.dir}/jboss-saaj.jar"/>
- <pathelement location="${jboss40.output.lib.dir}/jbossws-jboss40-integration.jar"/>
+ <pathelement location="${jboss40.output.lib.dir}/jbossws14-jboss40-integration.jar"/>
+ <pathelement location="${jboss40.output.lib.dir}/jbossws14-client.jar"/>
+ <pathelement location="${jboss40.output.lib.dir}/jbossws14-core.jar"/>
</path>
<path id="jbossws.classpath" refid="${jbossws.classpath}"/>
18 years, 1 month
JBossWS SVN: r2260 - in branches/jbossws-1.2.0: jbossws-core/src/main/java/org/jboss/ws/core/soap and 4 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 14:55:44 -0500 (Sat, 03 Feb 2007)
New Revision: 2260
Modified:
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java
branches/jbossws-1.2.0/jbossws-tests/build.xml
branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java
Log:
Rollback XML escape optimization
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java 2007-02-03 16:04:18 UTC (rev 2259)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java 2007-02-03 19:55:44 UTC (rev 2260)
@@ -140,7 +140,7 @@
completeHost = reqProtocol + "://" + hostAndPort;
}
- String newLocation = completeHost + reqPath + "?wsdl&resource=" + newResourcePath;
+ String newLocation = completeHost + reqPath + "?wsdl&resource=" + newResourcePath;
locationAttr.setNodeValue(newLocation);
log.trace("Mapping import from '" + orgLocation + "' to '" + newLocation + "'");
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-02-03 16:04:18 UTC (rev 2259)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-02-03 19:55:44 UTC (rev 2260)
@@ -108,7 +108,7 @@
{
Element srcElement = (Element)it.next();
//registerNamespacesLocally(srcElement);
- String xmlFragment = DOMWriter.printNode(srcElement, false, true);
+ String xmlFragment = DOMWriter.printNode(srcElement, false);
Name name = new NameImpl(srcElement.getLocalName(), srcElement.getPrefix(), srcElement.getNamespaceURI());
SOAPContentElement destElement = new SOAPHeaderElementImpl(name);
@@ -202,7 +202,7 @@
DOMUtils.copyAttributes(destElement, srcElement);
- String xmlFragment = DOMWriter.printNode(srcElement, false, true);
+ String xmlFragment = DOMWriter.printNode(srcElement, false);
destElement.setXMLFragment(xmlFragment);
}
}
@@ -215,7 +215,7 @@
DOMUtils.copyAttributes(destElement, srcElement);
- String xmlFragment = DOMWriter.printNode(srcElement, false, true);
+ String xmlFragment = DOMWriter.printNode(srcElement, false);
destElement.setXMLFragment(xmlFragment);
}
else if (style == null)
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java 2007-02-03 16:04:18 UTC (rev 2259)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java 2007-02-03 19:55:44 UTC (rev 2260)
@@ -67,6 +67,7 @@
import java.util.Iterator;
import java.util.Map;
+import org.jboss.logging.Logger;
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
@@ -82,6 +83,7 @@
*/
public class DOMWriter
{
+ private static Logger log = Logger.getLogger(DOMWriter.class);
// Print writer
private PrintWriter out;
// True, if canonical output
@@ -100,8 +102,6 @@
private Node rootNode;
// True if we want namespace completion
private boolean completeNamespaces = true;
- // True if we want escaped XML text content
- private boolean escapeCharacters = true;
public DOMWriter(Writer w)
{
@@ -144,7 +144,7 @@
/**
* Print a node with explicit prettyprinting.
* The defaults for all other DOMWriter properties apply.
- * Special characters will not be escaped.
+ *
*/
public static String printNode(Node node, boolean prettyprint)
{
@@ -153,19 +153,6 @@
return strw.toString();
}
- /**
- * Print a node with explicit prettyprinting.
- * Special characters can be escaped. This is idiot proof
- * but can be very expensive.
- *
- */
- public static String printNode(Node node, boolean prettyprint, boolean escape)
- {
- StringWriter strw = new StringWriter();
- new DOMWriter(strw).setPrettyprint(prettyprint).setEscapeCharacters(escape).print(node);
- return strw.toString();
- }
-
public boolean isCanonical()
{
return canonical;
@@ -181,11 +168,6 @@
return this;
}
- public DOMWriter setEscapeCharacters(boolean b)
- {
- this.escapeCharacters = b;
- return this;
- }
/**
* Set wheter subelements should have their namespaces completed.
* Setting this to false may lead to invalid XML fragments.
@@ -305,7 +287,7 @@
Attr attr = attrs[i];
String atPrefix = attr.getPrefix();
String atName = attr.getNodeName();
- String atValue = escapeCharacters ? normalize(attr.getNodeValue(), canonical) : attr.getNodeValue();
+ String atValue = normalize(attr.getNodeValue(), canonical);
if (atPrefix != null && !atPrefix.equals("xmlns") && !atPrefix.equals("xml"))
{
@@ -412,7 +394,7 @@
// print text
case Node.TEXT_NODE:
{
- String text = escapeCharacters ? normalize(node.getNodeValue(), canonical) : node.getNodeValue();
+ String text = normalize(node.getNodeValue(), canonical);
if (prettyprint == false || text.trim().length() > 0)
out.print(text);
break;
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java 2007-02-03 16:04:18 UTC (rev 2259)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java 2007-02-03 19:55:44 UTC (rev 2260)
@@ -170,6 +170,7 @@
URL orgURL = locs.get(nsURI);
URL resURL = resolveNamespaceURI(resolver, nsURI);
URL url = resURL != null ? resURL : orgURL;
+
log.debug("Load schema: " + nsURI + "=" + url);
XMLInputSource inputSource = new XMLInputSource(null, url.toExternalForm(), null);
@@ -178,6 +179,9 @@
inputSource.setByteStream(in);
SchemaGrammar grammar = (SchemaGrammar)loader.loadGrammar(inputSource);
+ if (grammar == null)
+ throw new IllegalStateException("Cannot load grammar: " + url);
+
gs[index++] = grammar;
}
catch (RuntimeException rte)
Modified: branches/jbossws-1.2.0/jbossws-tests/build.xml
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/build.xml 2007-02-03 16:04:18 UTC (rev 2259)
+++ branches/jbossws-1.2.0/jbossws-tests/build.xml 2007-02-03 19:55:44 UTC (rev 2260)
@@ -115,18 +115,6 @@
<format property="build.id" pattern="yyyyMMddHHmm"/>
</tstamp>
- <!-- Define the jbossws.core.jar -->
- <condition property="jbossws.core.jar" value="${core.output.lib.dir}/jbossws-core.jar">
- <isset property="HAVE_JDK_1.5"/>
- </condition>
- <property name="jbossws.core.jar" value="${jboss40.output.lib.dir}/jbossws14-core.jar"/>
-
- <!-- Define the jbossws.client.jar -->
- <condition property="jbossws.client.jar" value="${core.output.lib.dir}/jbossws-client.jar">
- <isset property="HAVE_JDK_1.5"/>
- </condition>
- <property name="jbossws.client.jar" value="${jboss40.output.lib.dir}/jbossws14-client.jar"/>
-
<!-- Define excluded tests -->
<condition property="excludes-short-name" value="tests-${jbossws.integration.target}-excludes.txt">
<or>
@@ -155,10 +143,14 @@
<target name="common-classpath" depends="prepare,thirdparty">
- <!-- The combined compile classpath -->
- <path id="jbossws.jars.classpath">
- <pathelement location="${jbossws.core.jar}"/>
- <pathelement location="${jbossws.client.jar}"/>
+ <condition property="jbossws.classpath" value="jbossws.classpath.jdk15">
+ <isset property="HAVE_JDK_1.5"/>
+ </condition>
+ <property name="jbossws.classpath" value="jbossws.classpath.jdk14"/>
+
+ <path id="jbossws.classpath.jdk15">
+ <pathelement location="${core.output.lib.dir}/jbossws-core.jar"/>
+ <pathelement location="${core.output.lib.dir}/jbossws-client.jar"/>
<pathelement location="${core.output.lib.dir}/jboss-jaxrpc.jar"/>
<pathelement location="${core.output.lib.dir}/jboss-jaxws.jar"/>
<pathelement location="${core.output.lib.dir}/jboss-saaj.jar"/>
@@ -167,11 +159,20 @@
<pathelement location="${jboss40.output.lib.dir}/jbossws-jboss40-integration.jar"/>
<pathelement location="${tomcat.output.lib.dir}/jbossws-tomcat-integration.jar"/>
</path>
+ <path id="jbossws.classpath.jdk14">
+ <pathelement location="${core.output.lib.dir}/jbossws14-core.jar"/>
+ <pathelement location="${core.output.lib.dir}/jbossws14-client.jar"/>
+ <pathelement location="${core.output.lib.dir}/jboss-jaxws14.jar"/>
+ <pathelement location="${core.output.lib.dir}/jboss-jaxrpc.jar"/>
+ <pathelement location="${core.output.lib.dir}/jboss-saaj.jar"/>
+ <pathelement location="${jboss40.output.lib.dir}/jbossws-jboss40-integration.jar"/>
+ </path>
+ <path id="jbossws.classpath" refid="${jbossws.classpath}"/>
<!-- The combined compile classpath -->
<path id="javac.classpath">
<path refid="core.classpath"/>
- <path refid="jbossws.jars.classpath"/>
+ <path refid="jbossws.classpath"/>
<pathelement location="${thirdparty.dir}/activation.jar"/>
<pathelement location="${thirdparty.dir}/jboss-vfs.jar"/>
<pathelement location="${thirdparty.dir}/junit.jar"/>
@@ -189,7 +190,7 @@
<!-- The test client classpath -->
<path id="test.client.classpath">
- <path refid="jbossws.jars.classpath"/>
+ <path refid="jbossws.classpath"/>
<pathelement location="${jboss.client}/commons-logging.jar"/>
<pathelement location="${jboss.client}/jboss-backport-concurrent.jar"/>
<pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
@@ -208,7 +209,7 @@
<!-- The jBPM BPEL classpath -->
<path id="jbpm.bpel.classpath">
- <path refid="jbossws.jars.classpath"/>
+ <path refid="jbossws.classpath"/>
<pathelement location="${thirdparty.dir}/jbpm-bpel"/> <!-- jbpm.cfg.xml -->
<pathelement location="${thirdparty.dir}/jbpm-bpel/jbpm-bpel.jar" />
<pathelement location="${thirdparty.dir}/jbpm-bpel/jbpm-jpdl.jar" />
@@ -229,7 +230,7 @@
<target name="tomcat-classpath" depends="common-classpath" if="jbossws.integration.target.tomcat">
<!-- The test client classpath -->
<path id="test.client.classpath">
- <path refid="jbossws.jars.classpath"/>
+ <path refid="jbossws.classpath"/>
<pathelement location="${tomcat.common.lib}/jbossws-thirdparty.jar"/>
<path refid="javac.classpath"/>
</path>
@@ -329,10 +330,7 @@
<!-- generate mapping artifacts -->
<taskdef name="wstools" classname="org.jboss.ws.tools.ant.wstools">
<classpath refid="core.classpath"/>
- <classpath location="${jbossws.core.jar}"/>
- <classpath location="${core.output.lib.dir}/jboss-jaxrpc.jar"/>
- <classpath location="${core.output.lib.dir}/jboss-jaxws.jar"/>
- <classpath location="${core.output.lib.dir}/jboss-saaj.jar"/>
+ <classpath refid="jbossws.classpath"/>
<classpath location="${thirdparty.dir}/jbossretro-rt.jar"/>
<classpath location="${thirdparty.dir}/jboss-backport-concurrent.jar"/>
<classpath location="${thirdparty.dir}/concurrent.jar"/>
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java 2007-02-03 16:04:18 UTC (rev 2259)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java 2007-02-03 19:55:44 UTC (rev 2260)
@@ -189,7 +189,7 @@
Element domEl = DOMUtils.parse(expStr);
- String wasStr = DOMWriter.printNode(domEl, false, true);
+ String wasStr = DOMWriter.printNode(domEl, false);
assertEquals(expStr, wasStr);
}
18 years, 1 month
JBossWS SVN: r2259 - branches/jbossws-1.2.0/integration-jboss42/src/main/java/org/jboss/ws/integration/jboss42.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 11:04:18 -0500 (Sat, 03 Feb 2007)
New Revision: 2259
Modified:
branches/jbossws-1.2.0/integration-jboss42/src/main/java/org/jboss/ws/integration/jboss42/WebServiceClientDeployer.java
Log:
Fix package for naming Util
Modified: branches/jbossws-1.2.0/integration-jboss42/src/main/java/org/jboss/ws/integration/jboss42/WebServiceClientDeployer.java
===================================================================
--- branches/jbossws-1.2.0/integration-jboss42/src/main/java/org/jboss/ws/integration/jboss42/WebServiceClientDeployer.java 2007-02-03 15:57:43 UTC (rev 2258)
+++ branches/jbossws-1.2.0/integration-jboss42/src/main/java/org/jboss/ws/integration/jboss42/WebServiceClientDeployer.java 2007-02-03 16:04:18 UTC (rev 2259)
@@ -33,8 +33,8 @@
import org.jboss.deployment.DeploymentException;
import org.jboss.deployment.DeploymentInfo;
-import org.jboss.naming.Util;
import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.util.naming.Util;
import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
import org.jboss.ws.WSException;
import org.jboss.ws.core.jaxrpc.client.ServiceReferenceable;
18 years, 1 month
JBossWS SVN: r2258 - in branches/jbossws-1.2.0: jbossws-core/src/main/java/org/jboss/ws/core/soap and 8 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 10:57:43 -0500 (Sat, 03 Feb 2007)
New Revision: 2258
Added:
branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/wsse.keystore
branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/wsse.truststore
Modified:
branches/jbossws-1.2.0/jbossws-core/src/main/java/javax/xml/rpc/soap/SOAPFaultException.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java
branches/jbossws-1.2.0/jbossws-tests/ant-import/build-jars-jaxrpc.xml
branches/jbossws-1.2.0/jbossws-tests/src/main/README_XERCES
branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/store-pass-encrypt-class-cmd/jboss-wsse-server.xml
Log:
WSSecurityConfigFactory silently ignores required resources
Fix round trip set/getNodeValue for exscaped XML
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/javax/xml/rpc/soap/SOAPFaultException.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/javax/xml/rpc/soap/SOAPFaultException.java 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/javax/xml/rpc/soap/SOAPFaultException.java 2007-02-03 15:57:43 UTC (rev 2258)
@@ -21,17 +21,13 @@
*/
package javax.xml.rpc.soap;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.ObjectStreamField;
+// $Id$
import javax.xml.namespace.QName;
import javax.xml.soap.Detail;
import javax.xml.soap.Name;
import org.jboss.logging.Logger;
-import org.jboss.util.id.SerialVersion;
/** The SOAPFaultException exception represents a SOAP fault.
*
@@ -49,36 +45,12 @@
* @author Scott.Stark(a)jboss.org
* @author Thomas.Diesler(a)jboss.org
* @author Rahul Sharma (javadoc)
- * @version $Revision$
*/
public class SOAPFaultException extends RuntimeException
{
// provide logging
private static Logger log = Logger.getLogger(SOAPFaultException.class);
- /** @since 4.0.2 */
- static final long serialVersionUID;
- private static final int CODE_IDX = 0;
- private static final int STRING_IDX = 1;
- private static final int ACTOR_IDX = 2;
- private static final int DETAIL_IDX = 3;
- private static final ObjectStreamField[] serialPersistentFields;
- static
- {
- if (SerialVersion.version == SerialVersion.LEGACY)
- {
- serialVersionUID = -290987278985292477L;
- serialPersistentFields = new ObjectStreamField[] { new ObjectStreamField("faultCode", QName.class), new ObjectStreamField("faultString", String.class),
- new ObjectStreamField("faultActor", String.class), new ObjectStreamField("faultDetail", Detail.class), };
- }
- else
- {
- serialVersionUID = -7224636940495025621L;
- serialPersistentFields = new ObjectStreamField[] { new ObjectStreamField("faultcode", QName.class), new ObjectStreamField("faultstring", String.class),
- new ObjectStreamField("faultactor", String.class), new ObjectStreamField("faultdetail", Detail.class), };
- }
- }
-
private QName faultCode;
private String faultString;
private String faultActor;
@@ -116,33 +88,4 @@
{
return faultDetail;
}
-
- // Private -------------------------------------------------------
- private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
- {
- ObjectInputStream.GetField fields = ois.readFields();
- String name = serialPersistentFields[CODE_IDX].getName();
- this.faultCode = (QName)fields.get(name, null);
- name = serialPersistentFields[STRING_IDX].getName();
- this.faultString = (String)fields.get(name, null);
- name = serialPersistentFields[ACTOR_IDX].getName();
- this.faultActor = (String)fields.get(name, null);
- name = serialPersistentFields[DETAIL_IDX].getName();
- this.faultDetail = (Detail)fields.get(name, null);
- }
-
- private void writeObject(ObjectOutputStream oos) throws IOException
- {
- // Write j2ee 1.4.1 RI field names
- ObjectOutputStream.PutField fields = oos.putFields();
- String name = serialPersistentFields[CODE_IDX].getName();
- fields.put(name, faultCode);
- name = serialPersistentFields[STRING_IDX].getName();
- fields.put(name, faultString);
- name = serialPersistentFields[ACTOR_IDX].getName();
- fields.put(name, faultActor);
- name = serialPersistentFields[DETAIL_IDX].getName();
- fields.put(name, faultDetail);
- oos.writeFields();
- }
}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java 2007-02-03 15:57:43 UTC (rev 2258)
@@ -187,8 +187,6 @@
org.w3c.dom.Node child = (org.w3c.dom.Node)getFirstChild();
- value = DOMWriter.normalize(value, false);
-
if (child instanceof org.w3c.dom.Text)
((org.w3c.dom.Text)child).setNodeValue(value);
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java 2007-02-03 15:57:43 UTC (rev 2258)
@@ -57,14 +57,22 @@
// $Id$
-import org.jboss.logging.Logger;
-import org.w3c.dom.*;
-
-import java.io.*;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
/**
* Traverse a DOM tree in order to print a document that is parsed.
*
@@ -74,7 +82,6 @@
*/
public class DOMWriter
{
- private static Logger log = Logger.getLogger(DOMWriter.class);
// Print writer
private PrintWriter out;
// True, if canonical output
@@ -93,9 +100,9 @@
private Node rootNode;
// True if we want namespace completion
private boolean completeNamespaces = true;
+ // True if we want escaped XML text content
+ private boolean escapeCharacters = true;
- private boolean escapeCharacters = false;
-
public DOMWriter(Writer w)
{
this.out = new PrintWriter(w);
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2007-02-03 15:57:43 UTC (rev 2258)
@@ -143,7 +143,9 @@
SecurityDecoder decoder = new SecurityDecoder(securityStore);
decoder.decode(soapMessage.getSOAPPart(), secHeaderElement);
- log.debug("Decoded Message:\n" + DOMWriter.printNode(soapMessage.getSOAPPart(), true));
+
+ if (log.isTraceEnabled())
+ log.trace("Decoded Message:\n" + DOMWriter.printNode(soapMessage.getSOAPPart(), true));
OperationMetaData opMetaData = ctx.getOperationMetaData();
if (opMetaData == null)
@@ -178,7 +180,7 @@
{
WSSecurityConfiguration config = ctx.getEndpointMetaData().getServiceMetaData().getSecurityConfiguration();
if (config == null)
- throw new WSException("Cannot obtatin security configuration from message context");
+ throw new WSException("Cannot obtain security configuration from message context");
return config;
}
@@ -232,7 +234,7 @@
Config operationConfig = getConfig(config, port, operation);
- log.debug("WS-Security config:" + operationConfig);
+ log.debug("WS-Security config: " + operationConfig);
// Nothing to process
if (operationConfig == null)
return;
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java 2007-02-03 15:57:43 UTC (rev 2258)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software 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 GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.ws.extensions.security.jaxrpc;
// $Id$
@@ -99,34 +99,25 @@
EndpointMetaData epMetaData = ((SOAPMessageContextJAXRPC)msgContext).getEndpointMetaData();
ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
- if(null == serviceMetaData.getSecurityConfiguration()) // might be set through ServiceObjectFactory
+ WSSecurityConfiguration config = serviceMetaData.getSecurityConfiguration();
+ if (config == null) // might be set through ServiceObjectFactory
{
- UnifiedVirtualFile vfsRoot = serviceMetaData.getUnifiedMetaData().getRootFile();
- boolean successful = false;
-
- WSSecurityConfiguration config = null;
-
try
{
WSSecurityConfigFactory wsseConfFactory = WSSecurityConfigFactory.newInstance();
+ UnifiedVirtualFile vfsRoot = serviceMetaData.getUnifiedMetaData().getRootFile();
config = wsseConfFactory.createConfiguration(vfsRoot, getConfigResourceName());
- if(config!=null) successful = true;
-
}
catch (IOException e)
{
- successful = false;
+ throw new WSException("Cannot obtain security config: " + getConfigResourceName());
}
- if(!successful)
- throw new WSException("Cannot obtain security config: " +getConfigResourceName());
-
// it's required further down the processing chain
serviceMetaData.setSecurityConfiguration(config);
}
- return serviceMetaData.getSecurityConfiguration();
-
+ return config;
}
protected abstract String getConfigResourceName();
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java 2007-02-03 15:57:43 UTC (rev 2258)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software 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 GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.ws.metadata.wsse;
// $Id: $
@@ -27,6 +27,7 @@
import java.net.URL;
import org.jboss.logging.Logger;
+import org.jboss.ws.WSException;
import org.jboss.ws.core.UnifiedVirtualFile;
import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder;
@@ -48,9 +49,9 @@
{
WSSecurityConfiguration config = null;
- URL location = getResource(vfsRoot, "WEB-INF/" + resourceName);
- if(null == location)
- location = getResource(vfsRoot, "META-INF/" + resourceName);
+ URL location = getResource(vfsRoot, "WEB-INF/" + resourceName, false);
+ if (null == location)
+ location = getResource(vfsRoot, "META-INF/" + resourceName, false);
if (location != null)
{
@@ -60,39 +61,35 @@
// Get and set deployment path to the keystore file
if (config.getKeyStoreFile() != null)
{
- location = getResource(vfsRoot, config.getKeyStoreFile());
- if (location != null)
- {
- log.debug("Add keystore: " + location);
- config.setKeyStoreURL(location);
- }
+ location = getResource(vfsRoot, config.getKeyStoreFile(), true);
+ log.debug("Add keystore: " + location);
+ config.setKeyStoreURL(location);
}
if (config.getTrustStoreFile() != null)
{
- location = getResource(vfsRoot, config.getTrustStoreFile());
- if (location != null)
- {
- log.debug("Add truststore: " + location);
- config.setTrustStoreURL(location);
- }
+ location = getResource(vfsRoot, config.getTrustStoreFile(), true);
+ log.debug("Add truststore: " + location);
+ config.setTrustStoreURL(location);
}
}
return config;
}
- private URL getResource(UnifiedVirtualFile vfsRoot, String resource)
+ private URL getResource(UnifiedVirtualFile vfsRoot, String resource, boolean failOnNotFound)
{
+ URL resourceURL = null;
try
{
UnifiedVirtualFile child = vfsRoot.findChild(resource);
- return child.toURL();
+ resourceURL = child.toURL();
}
- catch (Exception e)
+ catch (IOException ex)
{
- return null;
+ if (failOnNotFound)
+ throw new WSException("Cannot find required security resource: " + resource);
}
+ return resourceURL;
}
-
}
Modified: branches/jbossws-1.2.0/jbossws-tests/ant-import/build-jars-jaxrpc.xml
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/ant-import/build-jars-jaxrpc.xml 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-tests/ant-import/build-jars-jaxrpc.xml 2007-02-03 15:57:43 UTC (rev 2258)
@@ -2601,32 +2601,6 @@
<include name="wsse.truststore"/>
</webinf>
</war>
-
- <!-- jaxrpc-wsse-account-signup.war -->
- <war warfile="${tests.output.dir}/libs/jaxrpc-wsse-account-signup.war" webxml="${tests.output.dir}/resources/jaxrpc/wsse/account-signup/WEB-INF/web.xml">
- <classes dir="${tests.output.dir}/classes">
- <include name="org/jboss/test/ws/jaxrpc/wsse/signup/AccountInfo.class"/>
- <include name="org/jboss/test/ws/jaxrpc/wsse/signup/AccountSignup.class"/>
- <include name="org/jboss/test/ws/jaxrpc/wsse/signup/AccountSignupImpl.class"/>
- <include name="org/jboss/test/ws/jaxrpc/wsse/signup/AccountSignup_signup_RequestStruct.class"/>
- <include name="org/jboss/test/ws/jaxrpc/wsse/signup/AccountSignup_signup_ResponseStruct.class"/>
- <include name="org/jboss/test/ws/jaxrpc/wsse/signup/Address.class"/>
- <include name="org/jboss/test/ws/jaxrpc/wsse/signup/CreditCardInfo.class"/>
- </classes>
- <webinf dir="${tests.output.dir}/resources/jaxrpc/wsse/account-signup/WEB-INF">
- <include name="jboss-web.xml"/>
- <include name="jaxrpc-mapping.xml"/>
- <include name="webservices.xml"/>
- <include name="jboss-wsse-server.xml"/>
- <include name="wsdl/**"/>
- </webinf>
- <webinf dir="${tests.output.dir}/resources/jaxrpc/wsse">
- <include name="wsse.keystore"/>
- <include name="wsse.truststore"/>
- </webinf>
- </war>
-
- <!-- jaxrpc-wsse-account-signup-client.jar -->
<jar jarfile="${tests.output.dir}/libs/jaxrpc-wsse-account-signup-client.jar">
<fileset dir="${tests.output.dir}/classes">
<include name="org/jboss/test/ws/jaxrpc/wsse/signup/AccountInfo.class"/>
@@ -2665,8 +2639,6 @@
<include name="wsse.truststore"/>
</webinf>
</war>
-
- <!-- jaxrpc-wsse-rpc-client.jar -->
<jar jarfile="${tests.output.dir}/libs/jaxrpc-wsse-rpc-client.jar">
<fileset dir="${tests.output.dir}/classes">
<include name="org/jboss/test/ws/jaxrpc/wsse/Hello.class"/>
@@ -2683,8 +2655,6 @@
<include name="jaxrpc-mapping.xml"/>
</metainf>
</jar>
-
- <!-- jaxrpc-wsse-rpc-none-client -->
<jar jarfile="${tests.output.dir}/libs/jaxrpc-wsse-rpc-none-client.jar">
<fileset dir="${tests.output.dir}/classes">
<include name="org/jboss/test/ws/jaxrpc/wsse/Hello.class"/>
@@ -2725,8 +2695,6 @@
<include name="wsse.truststore"/>
</webinf>
</war>
-
- <!-- jaxrpc-wsse-simple-encrypt-client.jar -->
<jar jarfile="${tests.output.dir}/libs/jaxrpc-wsse-simple-sign-encrypt-client.jar">
<fileset dir="${tests.output.dir}/classes">
<include name="org/jboss/test/ws/jaxrpc/wsse/Hello.class"/>
@@ -2768,8 +2736,6 @@
<include name="wsse.truststore"/>
</webinf>
</war>
-
- <!-- jaxrpc-wsse-sign-fault-client.jar -->
<jar jarfile="${tests.output.dir}/libs/jaxrpc-wsse-sign-fault-client.jar">
<fileset dir="${tests.output.dir}/classes">
<include name="org/jboss/test/ws/jaxrpc/wsse/Hello.class"/>
@@ -2811,8 +2777,6 @@
<include name="wsse.truststore"/>
</webinf>
</war>
-
- <!-- jaxrpc-wsse-sign-encrypt-fault-client.jar -->
<jar jarfile="${tests.output.dir}/libs/jaxrpc-wsse-sign-encrypt-fault-client.jar">
<fileset dir="${tests.output.dir}/classes">
<include name="org/jboss/test/ws/jaxrpc/wsse/Hello.class"/>
@@ -2856,8 +2820,6 @@
<include name="wsse.truststore"/>
</webinf>
</war>
-
- <!-- jaxrpc-wsse-store-pass-encrypt-class-cmd-client.jar -->
<jar jarfile="${tests.output.dir}/libs/jaxrpc-wsse-store-pass-encrypt-class-cmd-client.jar">
<fileset dir="${tests.output.dir}/classes">
<include name="org/jboss/test/ws/jaxrpc/wsse/Hello.class"/>
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/README_XERCES
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/README_XERCES 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/README_XERCES 2007-02-03 15:57:43 UTC (rev 2258)
@@ -1,4 +1,6 @@
-This is a xerces bug. The problem is that the latest version of ant only bundles 2.6.2, you need at least 2.7.0 for this not to happen. So all you need to do is update your version of ant. I actually use the one in jboss-head/tools, although you have to drop log4j.jar in jboss-head/tools/lib.
+This is a xerces bug. The problem is that the latest version of ant only bundles 2.6.2, you need at least 2.7.0 for this not to happen.
+So all you need to do is update your version of ant. I actually use the one in jboss-head/tools, although you have to drop log4j.jar
+in jboss-head/tools/lib.
-Jason
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/store-pass-encrypt-class-cmd/jboss-wsse-server.xml
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/store-pass-encrypt-class-cmd/jboss-wsse-server.xml 2007-02-03 14:05:49 UTC (rev 2257)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/store-pass-encrypt-class-cmd/jboss-wsse-server.xml 2007-02-03 15:57:43 UTC (rev 2258)
@@ -2,10 +2,10 @@
<jboss-ws-security xmlns="http://www.jboss.com/ws-security/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.com/ws-security/config http://www.jboss.com/ws-security/schema/jboss-ws-security_1_0.xsd">
<key-store-file>WEB-INF/wsse.keystore</key-store-file>
<!--Note ${buildpath} will be replaced with the actual build directory path -->
- <key-store-password>{EXT}java -cp ${buildpath}/classes org.jboss.test.ws.jaxrpc.wsse.PasswordUtil ${buildpath}/resources/jaxrpc/samples/wssecurity/keystore.password</key-store-password>
+ <key-store-password>{EXT}java -cp ${buildpath}/classes org.jboss.test.ws.jaxrpc.wsse.PasswordUtil ${buildpath}/resources/jaxrpc/wsse/keystore.password</key-store-password>
<trust-store-file>WEB-INF/wsse.truststore</trust-store-file>
<!--Note ${buildpath} will be replaced with the actual build directory path -->
- <trust-store-password>{CLASS}org.jboss.security.plugins.FilePassword:${buildpath}/resources/jaxrpc/samples/wssecurity/keystore.password</trust-store-password>
+ <trust-store-password>{CLASS}org.jboss.security.plugins.FilePassword:${buildpath}/resources/jaxrpc/wsse/keystore.password</trust-store-password>
<config>
<sign type="x509v3" alias="wsse"/>
<encrypt type="x509v3" alias="wsse"/>
Added: branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/wsse.keystore
===================================================================
(Binary files differ)
Property changes on: branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/wsse.keystore
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/wsse.truststore
===================================================================
(Binary files differ)
Property changes on: branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxrpc/wsse/wsse.truststore
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
18 years, 1 month
JBossWS SVN: r2257 - branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-02-03 09:05:49 -0500 (Sat, 03 Feb 2007)
New Revision: 2257
Modified:
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java
Log:
log trace register type mapping
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java 2007-02-02 17:53:40 UTC (rev 2256)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java 2007-02-03 14:05:49 UTC (rev 2257)
@@ -122,7 +122,9 @@
*/
public void register(Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory df)
{
- log.debug("register: TypeMappingImpl@" + hashCode() + " [xmlType=" + xmlType + ",javaType=" + javaType.getName() + ",sf=" + sf + ",df=" + df + "]");
+ if (log.isTraceEnabled())
+ log.trace("register: TypeMappingImpl@" + hashCode() + " [xmlType=" + xmlType + ",javaType=" + javaType.getName() + ",sf=" + sf + ",df=" + df + "]");
+
registerInternal(javaType, new IQName(xmlType), sf, df);
keyPairCache.clear();
}
18 years, 1 month
JBossWS SVN: r2256 - in branches/jbossws-1.2.0: jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc and 16 other directories.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-02-02 12:53:40 -0500 (Fri, 02 Feb 2007)
New Revision: 2256
Added:
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointDTO.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/HashCodeUtil.java
branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/eventing.xsd
Removed:
branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/ws-eventing.xsd
Modified:
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonContextServlet.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/EncodedTypeMapping.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/LiteralTypeMapping.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBContextCache.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBSerializer.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointManager.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointMetrics.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementWriter.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/eventing/mgmt/Subscription.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/acessor/JAXBAccessor.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilder.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java
branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java
branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/index.html
branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/styles.css
branches/jbossws-1.2.0/jbossws-docs/user-guide/project/en/master.template
branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java
branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxrpc/marshall/MarshallDocLitTestCase.java
branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/wseventing/EventingSupport.java
branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxws/samples/wseventing/WEB-INF/wsdl/ws-eventing.wsdl
Log:
Use internalized String when calling private JAXB API. Resolved HotSpots: DOMWriter.normalize() and TypeMappingImpl.getKeyPairs()
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonContextServlet.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonContextServlet.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/CommonContextServlet.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -26,6 +26,7 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;
+import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
@@ -35,6 +36,7 @@
import org.jboss.logging.Logger;
import org.jboss.ws.core.server.ServiceEndpointManager;
+import org.jboss.ws.core.server.ServiceEndpointDTO;
/**
* The servlet that that is associated with context /jbossws
@@ -67,9 +69,90 @@
writer.print("<html>");
setupHTMLResponseHeader(writer);
+ URL requestURL = new URL(req.getRequestURL().toString());
+
writer.print("<body>");
- //writer.print(epManager.showServiceEndpointTable());
- writer.print(epManager.showServiceEndpointTable(new URL(req.getRequestURL().toString())));
+
+ writer.print("<div class='pageHeader'>JBossWS/Services</div>");
+ writer.print("<div class='pageSection'>");
+ writer.print("<fieldset>");
+ writer.print("<legend><b>Registered Service Endpoints</b></legend>");
+ writer.print("<table>");
+
+ // begin iteration
+ List<ServiceEndpointDTO> endpoints = epManager.getRegisteredEndpoints(requestURL);
+
+ if(endpoints.isEmpty())
+ {
+ writer.print("<tr>");
+ writer.print(" <td><h3>There currently no endpoints deployed</h3></td>");
+ writer.print("</tr>");
+ }
+
+ for(ServiceEndpointDTO ep : endpoints)
+ {
+ writer.print("<tr>");
+ writer.print(" <td>ServiceEndpointID</td>");
+ writer.print(" <td>"+ep.getSepID()+"</td>");
+ writer.print("</tr>");
+ writer.print("<tr>");
+ writer.print(" <td>ServiceEndpointAddress</td>");
+ writer.print(" <td><a href='"+ep.getAddress()+"?wsdl'>"+ep.getAddress()+"?wsdl</a></td>");
+ writer.print("</tr>");
+ writer.print("<tr>");
+ writer.print(" <td colspan=2>");
+ writer.print(" ");
+ writer.print("");
+ writer.print("<table class='metrics'>");
+ writer.print("<tr>");
+ writer.print(" <td>StartTime</td>");
+ writer.print(" <td>StopTime</td>");
+ writer.print(" <td></td>");
+ writer.print("</tr>");
+ writer.print("<tr>");
+ writer.print(" <td>"+ep.getSeMetrics().getStartTime()+"</td>");
+
+ String stopTime = ep.getSeMetrics().getStopTime() != null ? ep.getSeMetrics().getStopTime().toString() : "";
+ writer.print(" <td>"+stopTime+"</td>");
+ writer.print(" <td></td>");
+ writer.print("</tr>");
+ writer.print("<tr>");
+
+ writer.print(" <td>RequestCount</td>");
+ writer.print(" <td>ResponseCount</td>");
+ writer.print(" <td>FaultCount</td>");
+ writer.print("</tr>");
+ writer.print("<tr>");
+ writer.print(" <td>"+ep.getSeMetrics().getRequestCount()+"</td>");
+ writer.print(" <td>"+ep.getSeMetrics().getResponseCount()+"</td>");
+ writer.print(" <td>"+ep.getSeMetrics().getFaultCount()+"</td>");
+ writer.print("</tr>");
+ writer.print("<tr>");
+ writer.print(" <td>MinProcessingTime</td>");
+ writer.print(" <td>MaxProcessingTime</td>");
+ writer.print(" <td>AvgProcessingTime</td>");
+ writer.print("</tr>");
+ writer.print("<tr>");
+ writer.print(" <td>"+ep.getSeMetrics().getMinProcessingTime()+"</td>");
+ writer.print(" <td>"+ep.getSeMetrics().getMaxProcessingTime()+"</td>");
+ writer.print(" <td>"+ep.getSeMetrics().getAverageProcessingTime()+"</td>");
+ writer.print("</tr>");
+ writer.print("");
+ writer.print("");
+ writer.print("</table>");
+ writer.print("");
+ writer.print(" </td>");
+ writer.print("</tr>");
+
+ writer.print("<tr><td colspan='3'> </td></tr>");
+ }
+ // end iteration
+ writer.print("</table>");
+ writer.print("");
+ writer.print("</fieldset>");
+ writer.print("</div>");
+
+
writer.print("</body>");
writer.print("</html>");
writer.close();
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/EncodedTypeMapping.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/EncodedTypeMapping.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/EncodedTypeMapping.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -79,82 +79,82 @@
registerStandardSOAP11EncodedTypes();
// register mapping for xsd:anyType
- registerInternal(SOAPElement.class, Constants.TYPE_SOAP11_ANYTYPE, new SOAPElementSerializerFactory(), new SOAPElementDeserializerFactory());
- registerInternal(Element.class, Constants.TYPE_SOAP11_ANYTYPE, new ElementSerializerFactory(), new ElementDeserializerFactory());
+ register(SOAPElement.class, Constants.TYPE_SOAP11_ANYTYPE, new SOAPElementSerializerFactory(), new SOAPElementDeserializerFactory());
+ register(Element.class, Constants.TYPE_SOAP11_ANYTYPE, new ElementSerializerFactory(), new ElementDeserializerFactory());
}
private void registerStandardSOAP11EncodedTypes()
{
- registerInternal(BigDecimal.class, Constants.TYPE_SOAP11_DECIMAL, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigDecimal.class, Constants.TYPE_SOAP11_DECIMAL, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_SOAP11_POSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_SOAP11_NEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_SOAP11_NONPOSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_SOAP11_NONNEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_SOAP11_UNSIGNEDLONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_SOAP11_INTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_SOAP11_POSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_SOAP11_NEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_SOAP11_NONPOSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_SOAP11_NONNEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_SOAP11_UNSIGNEDLONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_SOAP11_INTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Date.class, Constants.TYPE_SOAP11_DATETIME, new DateSerializerFactory(), new DateDeserializerFactory());
+ register(Date.class, Constants.TYPE_SOAP11_DATETIME, new DateSerializerFactory(), new DateDeserializerFactory());
- registerInternal(Calendar.class, Constants.TYPE_SOAP11_DATE, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
- registerInternal(Calendar.class, Constants.TYPE_SOAP11_TIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
- registerInternal(Calendar.class, Constants.TYPE_SOAP11_DATETIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
+ register(Calendar.class, Constants.TYPE_SOAP11_DATE, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
+ register(Calendar.class, Constants.TYPE_SOAP11_TIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
+ register(Calendar.class, Constants.TYPE_SOAP11_DATETIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
- registerInternal(QName.class, Constants.TYPE_SOAP11_QNAME, new QNameSerializerFactory(), new QNameDeserializerFactory());
+ register(QName.class, Constants.TYPE_SOAP11_QNAME, new QNameSerializerFactory(), new QNameDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_ANYSIMPLETYPE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_DURATION, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_GDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_GMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_GMONTHDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_GYEAR, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_GYEARMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_ID, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_LANGUAGE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_NAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_NCNAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_NMTOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_NORMALIZEDSTRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_TOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_SOAP11_STRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_ANYSIMPLETYPE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_DURATION, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_GDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_GMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_GMONTHDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_GYEAR, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_GYEARMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_ID, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_LANGUAGE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_NAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_NCNAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_NMTOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_NORMALIZEDSTRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_TOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_SOAP11_STRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String[].class, Constants.TYPE_SOAP11_NMTOKENS, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String[].class, Constants.TYPE_SOAP11_NMTOKENS, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(URI.class, Constants.TYPE_SOAP11_ANYURI, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(URI.class, Constants.TYPE_SOAP11_ANYURI, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(boolean.class, Constants.TYPE_SOAP11_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Boolean.class, Constants.TYPE_SOAP11_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(boolean.class, Constants.TYPE_SOAP11_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Boolean.class, Constants.TYPE_SOAP11_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(byte.class, Constants.TYPE_SOAP11_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Byte.class, Constants.TYPE_SOAP11_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(byte.class, Constants.TYPE_SOAP11_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Byte.class, Constants.TYPE_SOAP11_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(byte[].class, Constants.TYPE_SOAP11_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
- registerInternal(Byte[].class, Constants.TYPE_SOAP11_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
- registerInternal(byte[].class, Constants.TYPE_SOAP11_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
- registerInternal(Byte[].class, Constants.TYPE_SOAP11_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
- registerInternal(byte[].class, Constants.TYPE_SOAP11_BASE64, new Base64SerializerFactory(), new Base64DeserializerFactory());
- registerInternal(Byte[].class, Constants.TYPE_SOAP11_BASE64, new Base64SerializerFactory(), new Base64DeserializerFactory());
+ register(byte[].class, Constants.TYPE_SOAP11_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
+ register(Byte[].class, Constants.TYPE_SOAP11_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
+ register(byte[].class, Constants.TYPE_SOAP11_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
+ register(Byte[].class, Constants.TYPE_SOAP11_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
+ register(byte[].class, Constants.TYPE_SOAP11_BASE64, new Base64SerializerFactory(), new Base64DeserializerFactory());
+ register(Byte[].class, Constants.TYPE_SOAP11_BASE64, new Base64SerializerFactory(), new Base64DeserializerFactory());
- registerInternal(double.class, Constants.TYPE_SOAP11_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Double.class, Constants.TYPE_SOAP11_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(double.class, Constants.TYPE_SOAP11_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Double.class, Constants.TYPE_SOAP11_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(float.class, Constants.TYPE_SOAP11_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Float.class, Constants.TYPE_SOAP11_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(float.class, Constants.TYPE_SOAP11_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Float.class, Constants.TYPE_SOAP11_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(int.class, Constants.TYPE_SOAP11_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Integer.class, Constants.TYPE_SOAP11_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(int.class, Constants.TYPE_SOAP11_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Integer.class, Constants.TYPE_SOAP11_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(int.class, Constants.TYPE_SOAP11_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Integer.class, Constants.TYPE_SOAP11_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(int.class, Constants.TYPE_SOAP11_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Integer.class, Constants.TYPE_SOAP11_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(long.class, Constants.TYPE_SOAP11_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Long.class, Constants.TYPE_SOAP11_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(long.class, Constants.TYPE_SOAP11_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Long.class, Constants.TYPE_SOAP11_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(long.class, Constants.TYPE_SOAP11_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Long.class, Constants.TYPE_SOAP11_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(long.class, Constants.TYPE_SOAP11_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Long.class, Constants.TYPE_SOAP11_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(short.class, Constants.TYPE_SOAP11_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Short.class, Constants.TYPE_SOAP11_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(short.class, Constants.TYPE_SOAP11_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Short.class, Constants.TYPE_SOAP11_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(short.class, Constants.TYPE_SOAP11_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Short.class, Constants.TYPE_SOAP11_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(short.class, Constants.TYPE_SOAP11_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Short.class, Constants.TYPE_SOAP11_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
}
/**
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/LiteralTypeMapping.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/LiteralTypeMapping.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/LiteralTypeMapping.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -67,30 +67,30 @@
JBossXBSerializerFactory jbxbSF = new JBossXBSerializerFactory();
JBossXBDeserializerFactory jbxbDF = new JBossXBDeserializerFactory();
- registerInternal(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(DataHandler.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(String.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(Image.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(Source.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
- registerInternal(MimeMultipart.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(String.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(Image.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(Source.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
+ register(MimeMultipart.class, Constants.TYPE_XMIME_DEFAULT, jbxbSF, jbxbDF);
registerStandardLiteralTypes();
// register default mime mappings
- registerInternal(DataHandler.class, Constants.TYPE_MIME_APPLICATION_XML, null, null);
- registerInternal(DataHandler.class, Constants.TYPE_MIME_IMAGE_GIF, null, null);
- registerInternal(DataHandler.class, Constants.TYPE_MIME_IMAGE_JPEG, null, null);
- registerInternal(DataHandler.class, Constants.TYPE_MIME_TEXT_PLAIN, null, null);
- registerInternal(DataHandler.class, Constants.TYPE_MIME_TEXT_XML, null, null);
- registerInternal(MimeMultipart.class, Constants.TYPE_MIME_MULTIPART_MIXED, null, null);
+ register(DataHandler.class, Constants.TYPE_MIME_APPLICATION_XML, null, null);
+ register(DataHandler.class, Constants.TYPE_MIME_IMAGE_GIF, null, null);
+ register(DataHandler.class, Constants.TYPE_MIME_IMAGE_JPEG, null, null);
+ register(DataHandler.class, Constants.TYPE_MIME_TEXT_PLAIN, null, null);
+ register(DataHandler.class, Constants.TYPE_MIME_TEXT_XML, null, null);
+ register(MimeMultipart.class, Constants.TYPE_MIME_MULTIPART_MIXED, null, null);
// register mapping for xsd:anyType
- registerInternal(SOAPElement.class, Constants.TYPE_LITERAL_ANYTYPE, new SOAPElementSerializerFactory(), new SOAPElementDeserializerFactory());
- registerInternal(Element.class, Constants.TYPE_LITERAL_ANYTYPE, new ElementSerializerFactory(), new ElementDeserializerFactory());
+ register(SOAPElement.class, Constants.TYPE_LITERAL_ANYTYPE, new SOAPElementSerializerFactory(), new SOAPElementDeserializerFactory());
+ register(Element.class, Constants.TYPE_LITERAL_ANYTYPE, new ElementSerializerFactory(), new ElementDeserializerFactory());
}
/**
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/TypeMappingImpl.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -23,37 +23,22 @@
// $Id$
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import org.jboss.logging.Logger;
+import org.jboss.ws.Constants;
+import org.jboss.ws.core.jaxrpc.binding.*;
+import org.jboss.ws.core.utils.JavaUtils;
+import org.jboss.ws.core.utils.HashCodeUtil;
import javax.xml.namespace.QName;
import javax.xml.rpc.encoding.DeserializerFactory;
import javax.xml.rpc.encoding.SerializerFactory;
import javax.xml.rpc.encoding.TypeMapping;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.net.URI;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
-import org.jboss.logging.Logger;
-import org.jboss.ws.Constants;
-import org.jboss.ws.core.jaxrpc.binding.Base64DeserializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.Base64SerializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.CalendarDeserializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.CalendarSerializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.DateDeserializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.DateSerializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.HexDeserializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.HexSerializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.QNameDeserializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.QNameSerializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.SimpleDeserializerFactory;
-import org.jboss.ws.core.jaxrpc.binding.SimpleSerializerFactory;
-import org.jboss.ws.core.utils.JavaUtils;
-
/**
* This is the representation of a type mapping.
* This TypeMapping implementation supports the literal encoding style.
@@ -72,6 +57,8 @@
// Map<KeyPair,FactoryPair>
private Map<KeyPair, FactoryPair> tupleMap = new LinkedHashMap<KeyPair, FactoryPair>();
+ private Map<Integer, List<KeyPair>> keyPairCache = new ConcurrentHashMap<Integer, List<KeyPair>>();
+
/**
* Gets the DeserializerFactory registered for the specified pair of Java type and XML data type.
* @param javaType Class of the Java type
@@ -80,7 +67,7 @@
*/
public DeserializerFactory getDeserializer(Class javaType, QName xmlType)
{
- FactoryPair fPair = getFactoryPair(xmlType, javaType);
+ FactoryPair fPair = getFactoryPair(new IQName(xmlType), javaType);
return (fPair != null ? fPair.getDeserializerFactory() : null);
}
@@ -92,7 +79,7 @@
*/
public SerializerFactory getSerializer(Class javaType, QName xmlType)
{
- FactoryPair fPair = getFactoryPair(xmlType, javaType);
+ FactoryPair fPair = getFactoryPair(new IQName(xmlType), javaType);
return (fPair != null ? fPair.getSerializerFactory() : null);
}
@@ -121,7 +108,7 @@
*/
public boolean isRegistered(Class javaType, QName xmlType)
{
- return getFactoryPair(xmlType, javaType) != null;
+ return getFactoryPair(new IQName(xmlType), javaType) != null;
}
/**
@@ -136,10 +123,11 @@
public void register(Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory df)
{
log.debug("register: TypeMappingImpl@" + hashCode() + " [xmlType=" + xmlType + ",javaType=" + javaType.getName() + ",sf=" + sf + ",df=" + df + "]");
- registerInternal(javaType, xmlType, sf, df);
+ registerInternal(javaType, new IQName(xmlType), sf, df);
+ keyPairCache.clear();
}
- void registerInternal(Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory df)
+ private void registerInternal(Class javaType, IQName xmlType, SerializerFactory sf, DeserializerFactory df)
{
if (javaType == null)
throw new IllegalArgumentException("javaType cannot be null for: " + xmlType);
@@ -159,7 +147,7 @@
*/
public void removeDeserializer(Class javaType, QName xmlType)
{
- FactoryPair fPair = getFactoryPair(xmlType, javaType);
+ FactoryPair fPair = getFactoryPair(new IQName(xmlType), javaType);
if (fPair != null)
fPair.setDeserializerFactory(null);
}
@@ -172,7 +160,7 @@
*/
public void removeSerializer(Class javaType, QName xmlType)
{
- FactoryPair fPair = getFactoryPair(xmlType, javaType);
+ FactoryPair fPair = getFactoryPair(new IQName(xmlType), javaType);
if (fPair != null)
fPair.setSerializerFactory(null);
}
@@ -183,7 +171,7 @@
List<QName> types = new ArrayList<QName>();
for (KeyPair keyPair : getKeyPairs(null, null))
{
- types.add(keyPair.getXmlType());
+ types.add(keyPair.getXmlType().toQName());
}
return types;
}
@@ -204,7 +192,7 @@
{
Class javaType = null;
- List keyPairList = getKeyPairs(xmlType, null);
+ List keyPairList = getKeyPairs(new IQName(xmlType), null);
int size = keyPairList.size();
if (size > 0)
{
@@ -220,17 +208,17 @@
*/
public List<Class> getJavaTypes(QName xmlType)
{
- List<KeyPair> keyPairList = getKeyPairs(xmlType, null);
+ List<KeyPair> keyPairList = getKeyPairs( new IQName(xmlType), null);
List<Class> classes = new ArrayList<Class>(keyPairList.size());
-
+
for (KeyPair current : keyPairList)
{
classes.add(current.getJavaType());
}
-
+
return classes;
}
-
+
/**
* Get the Class that was registered last for this xmlType
* If there are two Java Types registered for the xmlType
@@ -242,7 +230,7 @@
//Lets get the primitive type if available
Class javaType = null;
- List keyPairList = getKeyPairs(xmlType, null);
+ List keyPairList = getKeyPairs(new IQName(xmlType), null);
int size = keyPairList.size();
if (size == 2 && getPrimitive)
{
@@ -253,10 +241,10 @@
if(javaType2.isPrimitive() && !javaType1.isPrimitive())
javaType = javaType2;
else
- if(javaType1.isPrimitive() && !javaType2.isPrimitive())
- javaType = javaType1;
+ if(javaType1.isPrimitive() && !javaType2.isPrimitive())
+ javaType = javaType1;
else
- javaType = javaType2; //Fallback on the most latest
+ javaType = javaType2; //Fallback on the most latest
}
else
return getJavaType(xmlType);
@@ -281,7 +269,7 @@
if (size > 0)
{
KeyPair kPair = (KeyPair)keyPairList.get(size - 1);
- xmlType = kPair.getXmlType();
+ xmlType = kPair.getXmlType().toQName();
}
return xmlType;
@@ -305,7 +293,7 @@
if (size > 0)
{
KeyPair kPair = (KeyPair)keyPairList.get(size - 1);
- xmlType = kPair.getXmlType();
+ xmlType = kPair.getXmlType().toQName();
}
return xmlType;
@@ -315,9 +303,34 @@
* Get the serializer/deserializer factory pair for the given xmlType, javaType
* Both xmlType, javaType may be null. In that case, this implementation still
* returns a FactoryPair if there is only one possible match.
+ *
+ * @param xmlType can be null
+ * @param javaType can be null
*/
- List<KeyPair> getKeyPairs(QName xmlType, Class javaType)
+ private List<KeyPair> getKeyPairs(IQName xmlType, Class javaType)
{
+ Integer cacheId = cacheIdFor(javaType, xmlType);
+
+ List<KeyPair> keyPairList = keyPairCache.get(cacheId);
+ if(null == keyPairList)
+ {
+ keyPairList = getKeyPairsInternal(xmlType, javaType);
+ keyPairCache.put(cacheId, keyPairList);
+ }
+
+ return keyPairList;
+ }
+
+ private Integer cacheIdFor(Class javaType, IQName xmlType) {
+ int result = HashCodeUtil.SEED;
+ int nullHash = HashCodeUtil.hash(result, "null");
+ result = javaType!= null ? HashCodeUtil.hash(result, javaType.getName()) : HashCodeUtil.hash(result, nullHash);
+ result = xmlType!= null ? HashCodeUtil.hash(result, xmlType.hashCode()): HashCodeUtil.hash(result, nullHash);
+ return new Integer(result);
+ }
+
+ private List<KeyPair> getKeyPairsInternal(IQName xmlType, Class javaType)
+ {
List<KeyPair> keyPairList = new ArrayList<KeyPair>();
// Getting the exact matching pair
@@ -387,6 +400,20 @@
return keyPairList;
}
+ private List<KeyPair> getKeyPairs(IQName xmlType, Class javaType, boolean tryAssignable)
+ {
+ Integer cacheId = cacheIdFor(javaType, xmlType);
+
+ List<KeyPair> keyPairList = keyPairCache.get(cacheId);
+ if(null == keyPairList)
+ {
+ keyPairList = getKeyPairsInternal(xmlType, javaType, tryAssignable);
+ keyPairCache.put(cacheId, keyPairList);
+ }
+
+ return keyPairList;
+ }
+
/**
* Get the serializer/deserializer factory pair for the given xmlType, javaType
* Both xmlType, javaType may be null. In that case, this implementation still
@@ -394,9 +421,9 @@
* <br>Note: This method does not try for the base class, if no keypair exists for the
* javaType in question.
*/
- List<KeyPair> getKeyPairs(QName xmlType, Class javaType, boolean tryAssignable)
+ private List<KeyPair> getKeyPairsInternal(IQName xmlType, Class javaType, boolean tryAssignable)
{
- if(tryAssignable) return getKeyPairs( xmlType, javaType);
+ if(tryAssignable) return getKeyPairs( xmlType, javaType );
List<KeyPair> keyPairList = new ArrayList<KeyPair>();
@@ -450,7 +477,7 @@
* Both xmlType, javaType may be null. In that case, this implementation still
* returns a FactoryPair that was last registered
*/
- FactoryPair getFactoryPair(QName xmlType, Class javaType)
+ private FactoryPair getFactoryPair(IQName xmlType, Class javaType)
{
FactoryPair fPair = null;
@@ -467,85 +494,85 @@
protected void registerStandardLiteralTypes()
{
- registerInternal(BigDecimal.class, Constants.TYPE_LITERAL_DECIMAL, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigDecimal.class, Constants.TYPE_LITERAL_DECIMAL, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_LITERAL_POSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_LITERAL_NEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_LITERAL_NONPOSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_LITERAL_NONNEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_LITERAL_UNSIGNEDLONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(BigInteger.class, Constants.TYPE_LITERAL_INTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_LITERAL_POSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_LITERAL_NEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_LITERAL_NONPOSITIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_LITERAL_NONNEGATIVEINTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_LITERAL_UNSIGNEDLONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(BigInteger.class, Constants.TYPE_LITERAL_INTEGER, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Date.class, Constants.TYPE_LITERAL_DATETIME, new DateSerializerFactory(), new DateDeserializerFactory());
+ register(Date.class, Constants.TYPE_LITERAL_DATETIME, new DateSerializerFactory(), new DateDeserializerFactory());
- registerInternal(Calendar.class, Constants.TYPE_LITERAL_DATE, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
- registerInternal(Calendar.class, Constants.TYPE_LITERAL_TIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
- registerInternal(Calendar.class, Constants.TYPE_LITERAL_DATETIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
+ register(Calendar.class, Constants.TYPE_LITERAL_DATE, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
+ register(Calendar.class, Constants.TYPE_LITERAL_TIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
+ register(Calendar.class, Constants.TYPE_LITERAL_DATETIME, new CalendarSerializerFactory(), new CalendarDeserializerFactory());
- registerInternal(QName.class, Constants.TYPE_LITERAL_QNAME, new QNameSerializerFactory(), new QNameDeserializerFactory());
+ register(QName.class, Constants.TYPE_LITERAL_QNAME, new QNameSerializerFactory(), new QNameDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_ANYSIMPLETYPE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_DURATION, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_GDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_GMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_GMONTHDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_GYEAR, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_GYEARMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_ID, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_LANGUAGE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_NAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_NCNAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_NMTOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_NORMALIZEDSTRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_TOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String.class, Constants.TYPE_LITERAL_STRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_ANYSIMPLETYPE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_DURATION, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_GDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_GMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_GMONTHDAY, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_GYEAR, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_GYEARMONTH, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_ID, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_LANGUAGE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_NAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_NCNAME, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_NMTOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_NORMALIZEDSTRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_TOKEN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String.class, Constants.TYPE_LITERAL_STRING, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(String[].class, Constants.TYPE_LITERAL_NMTOKENS, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(String[].class, Constants.TYPE_LITERAL_NMTOKENS, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(URI.class, Constants.TYPE_LITERAL_ANYURI, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(URI.class, Constants.TYPE_LITERAL_ANYURI, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(boolean.class, Constants.TYPE_LITERAL_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Boolean.class, Constants.TYPE_LITERAL_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(boolean.class, Constants.TYPE_LITERAL_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Boolean.class, Constants.TYPE_LITERAL_BOOLEAN, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(byte.class, Constants.TYPE_LITERAL_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Byte.class, Constants.TYPE_LITERAL_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(byte.class, Constants.TYPE_LITERAL_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Byte.class, Constants.TYPE_LITERAL_BYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Byte[].class, Constants.TYPE_LITERAL_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
- registerInternal(byte[].class, Constants.TYPE_LITERAL_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
+ register(Byte[].class, Constants.TYPE_LITERAL_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
+ register(byte[].class, Constants.TYPE_LITERAL_HEXBINARY, new HexSerializerFactory(), new HexDeserializerFactory());
- registerInternal(Byte[].class, Constants.TYPE_LITERAL_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
- registerInternal(byte[].class, Constants.TYPE_LITERAL_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
+ register(Byte[].class, Constants.TYPE_LITERAL_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
+ register(byte[].class, Constants.TYPE_LITERAL_BASE64BINARY, new Base64SerializerFactory(), new Base64DeserializerFactory());
- registerInternal(double.class, Constants.TYPE_LITERAL_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Double.class, Constants.TYPE_LITERAL_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(double.class, Constants.TYPE_LITERAL_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Double.class, Constants.TYPE_LITERAL_DOUBLE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(float.class, Constants.TYPE_LITERAL_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Float.class, Constants.TYPE_LITERAL_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(float.class, Constants.TYPE_LITERAL_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Float.class, Constants.TYPE_LITERAL_FLOAT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(int.class, Constants.TYPE_LITERAL_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Integer.class, Constants.TYPE_LITERAL_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(int.class, Constants.TYPE_LITERAL_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Integer.class, Constants.TYPE_LITERAL_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(int.class, Constants.TYPE_LITERAL_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Integer.class, Constants.TYPE_LITERAL_UNSIGNEDSHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(int.class, Constants.TYPE_LITERAL_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Integer.class, Constants.TYPE_LITERAL_INT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(long.class, Constants.TYPE_LITERAL_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Long.class, Constants.TYPE_LITERAL_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(long.class, Constants.TYPE_LITERAL_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Long.class, Constants.TYPE_LITERAL_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(long.class, Constants.TYPE_LITERAL_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Long.class, Constants.TYPE_LITERAL_UNSIGNEDINT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(long.class, Constants.TYPE_LITERAL_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Long.class, Constants.TYPE_LITERAL_LONG, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(short.class, Constants.TYPE_LITERAL_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Short.class, Constants.TYPE_LITERAL_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(short.class, Constants.TYPE_LITERAL_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
- registerInternal(Short.class, Constants.TYPE_LITERAL_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(short.class, Constants.TYPE_LITERAL_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Short.class, Constants.TYPE_LITERAL_UNSIGNEDBYTE, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(short.class, Constants.TYPE_LITERAL_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
+ register(Short.class, Constants.TYPE_LITERAL_SHORT, new SimpleSerializerFactory(), new SimpleDeserializerFactory());
}
/** A tuple of the type {XML typeQName, Java Class, SerializerFactory, DeserializerFactory}.
*/
- public static class KeyPair
+ private static class KeyPair
{
- private QName xmlType;
+ private IQName xmlType;
private Class javaType;
- public KeyPair(QName xmlType, Class javaType)
+ public KeyPair(IQName xmlType, Class javaType)
{
this.javaType = javaType;
this.xmlType = xmlType;
@@ -556,7 +583,7 @@
return javaType;
}
- public QName getXmlType()
+ public IQName getXmlType()
{
return xmlType;
}
@@ -621,4 +648,66 @@
this.serializerFactory = sf;
}
}
+
+ /**
+ * A duck typed QName that relies on internalized Strings.<p>
+ * Taken from the {@link javax.xml.namespace.QName} docs:<br>
+ * The value of a QName contains a Namespace URI, local part and prefix.
+ * The prefix is included in QName to retain lexical information when present in an XML input source.
+ * The prefix is NOT used in QName.equals(Object) or to compute the QName.hashCode().
+ * Equality and the hash code are defined using only the Namespace URI and local part.
+ * If not specified, the Namespace URI is set to "" (the empty string).
+ * If not specified, the prefix is set to "" (the empty string).
+ */
+ private final class IQName
+ {
+ public String namespace;
+ public String localPart;
+ public String prefix;
+ public int hash;
+
+ public IQName(QName name)
+ {
+ namespace = name.getNamespaceURI() != null ? name.getNamespaceURI().intern() : "".intern();
+ localPart = name.getLocalPart() != null ? name.getLocalPart().intern() : "".intern();
+ prefix = name.getPrefix() != null ? name.getPrefix().intern() : "".intern();
+ hash = name.hashCode();
+ }
+
+ public boolean equals(Object object) {
+ if(!(object instanceof IQName))
+ throw new IllegalArgumentException("Cannot compare IQName to " + object);
+
+ IQName iqn = (IQName)object;
+ return (iqn.namespace == this.namespace && iqn.localPart == this.localPart);
+ }
+
+ public QName toQName()
+ {
+ QName qname;
+
+ if(null == namespace)
+ qname = new QName(localPart);
+ else if(null == prefix)
+ qname = new QName(namespace, localPart);
+ else
+ qname = new QName(namespace, localPart, prefix);
+
+ return qname;
+ }
+
+ /**
+ * This implementation currently represents a QName as: "{" + Namespace URI + "}" + local part.
+ * If the Namespace URI .equals(""), only the local part is returned.
+ */
+ public String toString() {
+ String ns = "".equals(namespace) ? namespace : "{"+namespace+"}";
+ return ns+localPart;
+ }
+
+ public int hashCode()
+ {
+ return this.hash;
+ }
+ }
}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBContextCache.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBContextCache.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBContextCache.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -30,6 +30,7 @@
import javax.xml.bind.JAXBException;
import org.jboss.ws.core.CommonMessageContext;
+import org.jboss.ws.core.utils.HashCodeUtil;
import org.jboss.ws.core.soap.MessageContextAssociation;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
@@ -107,11 +108,11 @@
private static Integer buildId(Class[] classes)
{
- int sum = 0;
+ int sum = HashCodeUtil.SEED;
for (Class cls : classes)
{
- sum += cls.hashCode();
- }
+ sum = HashCodeUtil.hash(sum, cls.getName());
+ }
return new Integer(sum);
}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBSerializer.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBSerializer.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/JAXBSerializer.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -64,30 +64,10 @@
String xmlFragment = null;
try
{
- TypeMappingImpl typeMapping = serContext.getTypeMapping();
+ // It needs to be a valid JAXB type
+ // Therefore we don't need to look into our TypeMapping
+ Class javaType = value.getClass();
- Class javaType = null;
- List<Class> possibleJavaTypes = typeMapping.getJavaTypes(xmlType);
- if(possibleJavaTypes.size()>1)
- {
- // resolve java type by assignability
- for(Class type : possibleJavaTypes)
- {
- if(JavaUtils.isAssignableFrom(type, value.getClass()))
- {
- javaType = type;
- break;
- }
- }
- }
- else
- {
- javaType = typeMapping.getJavaType(xmlType);
- }
-
- if(null == javaType)
- throw new Exception("Unable to resolve target java type");
-
JAXBContextCache contextCache = JAXBContextCache.getContextCache();
JAXBContext jaxbContext = contextCache.getInstance(javaType);
Copied: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointDTO.java (from rev 2253, trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointDTO.java)
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointDTO.java (rev 0)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointDTO.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.server;
+
+import javax.management.ObjectName;
+
+/**
+ * @author Heiko.Braun(a)jboss.org
+ * @version $Id:$
+ * @since 02.02.2007
+ */
+public class ServiceEndpointDTO {
+
+ private ServiceEndpointMetrics seMetrics;
+ private ServiceEndpoint.State state;
+ private ObjectName sepID;
+ private String address;
+
+ public ServiceEndpointMetrics getSeMetrics() {
+ return seMetrics;
+ }
+
+ public void setSeMetrics(ServiceEndpointMetrics seMetrics) {
+ this.seMetrics = seMetrics;
+ }
+
+ public ServiceEndpoint.State getState() {
+ return state;
+ }
+
+ public void setState(ServiceEndpoint.State state) {
+ this.state = state;
+ }
+
+ public ObjectName getSepID() {
+ return sepID;
+ }
+
+ public void setSepID(ObjectName sepID) {
+ this.sepID = sepID;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointManager.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointManager.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointManager.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -34,6 +34,7 @@
import java.net.InetAddress;
import java.net.URL;
import java.net.UnknownHostException;
+import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -285,15 +286,7 @@
ObjectName sepID = (ObjectName)entry.getKey();
ServiceEndpoint wsEndpoint = (ServiceEndpoint)entry.getValue();
ServiceEndpointInfo seInfo = wsEndpoint.getServiceEndpointInfo();
- String endpointAddress = seInfo.getServerEndpointMetaData().getEndpointAddress();
- //pw.println("<tr><td>" + sepID.getCanonicalName() + "</td><td><a href='" + endpointAddress + "?wsdl'>" + endpointAddress + "?wsdl</a></td></tr>");
- URL displayURL = new URL(endpointAddress);
- String endPointPath = displayURL.getPath();
- if (this.getWebServiceHost().equals(ServiceEndpointManager.UNDEFINED_HOSTNAME) == true)
- {
- displayURL = requestURL;
- }
- String displayAddress = displayURL.getProtocol() + "://" + displayURL.getHost() + ":" + displayURL.getPort() + endPointPath;
+ String displayAddress = getDisplayAddress(seInfo, requestURL);
pw.println("<tr><td>" + sepID.getCanonicalName() + "</td><td><a href='" + displayAddress + "?wsdl'>" + displayAddress + "?wsdl</a></td></tr>");
}
pw.println("</table>");
@@ -302,6 +295,43 @@
return sw.toString();
}
+ public List<ServiceEndpointDTO> getRegisteredEndpoints(URL requestURL) throws java.net.MalformedURLException
+ {
+ List<ServiceEndpointDTO> registered = new ArrayList<ServiceEndpointDTO>();
+ Iterator it = registry.entrySet().iterator();
+ while (it.hasNext())
+ {
+ Map.Entry entry = (Map.Entry)it.next();
+ ObjectName sepID = (ObjectName)entry.getKey();
+ ServiceEndpoint wsEndpoint = (ServiceEndpoint)entry.getValue();
+ ServiceEndpointInfo seInfo = wsEndpoint.getServiceEndpointInfo();
+ String displayAddress = getDisplayAddress(seInfo, requestURL);
+
+ try {
+ ServiceEndpointDTO dto = new ServiceEndpointDTO();
+ dto.setSepID(sepID);
+ dto.setAddress(displayAddress);
+ dto.setSeMetrics((ServiceEndpointMetrics)wsEndpoint.getServiceEndpointMetrics().clone());
+ dto.setState(wsEndpoint.getState());
+ registered.add(dto);
+ } catch (CloneNotSupportedException e) { }
+ }
+
+ return registered;
+ }
+
+ private String getDisplayAddress(ServiceEndpointInfo seInfo, URL requestURL) throws MalformedURLException {
+ String endpointAddress = seInfo.getServerEndpointMetaData().getEndpointAddress();
+ URL displayURL = new URL(endpointAddress);
+ String endPointPath = displayURL.getPath();
+ if (this.getWebServiceHost().equals(ServiceEndpointManager.UNDEFINED_HOSTNAME) == true)
+ {
+ displayURL = requestURL;
+ }
+ String displayAddress = displayURL.getProtocol() + "://" + displayURL.getHost() + ":" + displayURL.getPort() + endPointPath;
+ return displayAddress;
+ }
+
/** Get the endpoint metrics
*/
public ServiceEndpointMetrics getServiceEndpointMetrics(ObjectName sepID)
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointMetrics.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointMetrics.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointMetrics.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -34,7 +34,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 14-Dec-2005
*/
-public class ServiceEndpointMetrics implements Serializable
+public class ServiceEndpointMetrics implements Serializable, Cloneable
{
private static final long serialVersionUID = -7730514070812711512L;
@@ -172,4 +172,22 @@
buffer.append("\n totalProcessingTime=" + totalProcessingTime);
return buffer.toString();
}
+
+ protected Object clone() throws CloneNotSupportedException {
+ ServiceEndpointMetrics sem = new ServiceEndpointMetrics(this.endpointID);
+
+ sem.avgProcessingTime = this.avgProcessingTime;
+ sem.maxProcessingTime = this.maxProcessingTime;
+ sem.minProcessingTime = this.minProcessingTime;
+
+ sem.faultCount = this.faultCount;
+ sem.requestCount = this.requestCount;
+ sem.responseCount = this.responseCount;
+
+ sem.startTime = this.startTime;
+ sem.stopTime = this.stopTime;
+ sem.totalProcessingTime = this.totalProcessingTime;
+
+ return sem;
+ }
}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -140,7 +140,7 @@
completeHost = reqProtocol + "://" + hostAndPort;
}
- String newLocation = completeHost + reqPath + "?wsdl&resource=" + newResourcePath;
+ String newLocation = completeHost + reqPath + "?wsdl&resource=" + newResourcePath;
locationAttr.setNodeValue(newLocation);
log.trace("Mapping import from '" + orgLocation + "' to '" + newLocation + "'");
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -68,6 +68,7 @@
Element domEnv = null;
try
{
+ // TODO: The parser unescapes special characters, which we need to escape later on again
domEnv = DOMUtils.parse(ins);
}
catch (IOException ex)
@@ -107,7 +108,7 @@
{
Element srcElement = (Element)it.next();
//registerNamespacesLocally(srcElement);
- String xmlFragment = DOMWriter.printNode(srcElement, false);
+ String xmlFragment = DOMWriter.printNode(srcElement, false, true);
Name name = new NameImpl(srcElement.getLocalName(), srcElement.getPrefix(), srcElement.getNamespaceURI());
SOAPContentElement destElement = new SOAPHeaderElementImpl(name);
@@ -201,7 +202,7 @@
DOMUtils.copyAttributes(destElement, srcElement);
- String xmlFragment = DOMWriter.printNode(srcElement, false);
+ String xmlFragment = DOMWriter.printNode(srcElement, false, true);
destElement.setXMLFragment(xmlFragment);
}
}
@@ -214,7 +215,7 @@
DOMUtils.copyAttributes(destElement, srcElement);
- String xmlFragment = DOMWriter.printNode(srcElement, false);
+ String xmlFragment = DOMWriter.printNode(srcElement, false, true);
destElement.setXMLFragment(xmlFragment);
}
else if (style == null)
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -186,6 +186,9 @@
throw new WSException("javax.xml.soap.Text should take care of this");
org.w3c.dom.Node child = (org.w3c.dom.Node)getFirstChild();
+
+ value = DOMWriter.normalize(value, false);
+
if (child instanceof org.w3c.dom.Text)
((org.w3c.dom.Text)child).setNodeValue(value);
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -207,6 +207,8 @@
QName xmlType = getXmlType();
Class javaType = getJavaType();
+ QName xmlName = getElementQName();
+
log.debug("getXMLFragment from Object [xmlType=" + xmlType + ",javaType=" + javaType + "]");
CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
@@ -218,7 +220,6 @@
TypeMappingImpl typeMapping = serContext.getTypeMapping();
- QName xmlName = getElementQName();
try
{
SerializerSupport ser;
@@ -232,9 +233,10 @@
ser = new NullValueSerializer();
}
- xmlFragment = ser.serialize(xmlName, xmlType, getObjectValue(), serContext, null);
- log.debug("xmlFragment: " + xmlFragment);
- invalidateObjectContent();
+ String tmpFragment = ser.serialize(xmlName, xmlType, getObjectValue(), serContext, null);
+ log.debug("xmlFragment: " + tmpFragment);
+
+ setXMLFragment(tmpFragment);
}
catch (BindingException e)
{
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementWriter.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementWriter.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementWriter.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -112,6 +112,8 @@
// This is expensive. Make sure it only happens for debugging
try
{
+ // TODO: this unescapes sepcial chars, which might be quiet confusing
+ // but they are actually send escaped.
xmlStr = DOMWriter.printNode(DOMUtils.parse(xmlStr), true);
}
catch (IOException ex)
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/DOMWriter.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -57,23 +57,14 @@
// $Id$
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
+import org.jboss.logging.Logger;
+import org.w3c.dom.*;
+
+import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import org.jboss.logging.Logger;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
/**
* Traverse a DOM tree in order to print a document that is parsed.
*
@@ -103,6 +94,8 @@
// True if we want namespace completion
private boolean completeNamespaces = true;
+ private boolean escapeCharacters = false;
+
public DOMWriter(Writer w)
{
this.out = new PrintWriter(w);
@@ -144,7 +137,7 @@
/**
* Print a node with explicit prettyprinting.
* The defaults for all other DOMWriter properties apply.
- *
+ * Special characters will not be escaped.
*/
public static String printNode(Node node, boolean prettyprint)
{
@@ -153,6 +146,19 @@
return strw.toString();
}
+ /**
+ * Print a node with explicit prettyprinting.
+ * Special characters can be escaped. This is idiot proof
+ * but can be very expensive.
+ *
+ */
+ public static String printNode(Node node, boolean prettyprint, boolean escape)
+ {
+ StringWriter strw = new StringWriter();
+ new DOMWriter(strw).setPrettyprint(prettyprint).setEscapeCharacters(escape).print(node);
+ return strw.toString();
+ }
+
public boolean isCanonical()
{
return canonical;
@@ -168,6 +174,11 @@
return this;
}
+ public DOMWriter setEscapeCharacters(boolean b)
+ {
+ this.escapeCharacters = b;
+ return this;
+ }
/**
* Set wheter subelements should have their namespaces completed.
* Setting this to false may lead to invalid XML fragments.
@@ -287,7 +298,7 @@
Attr attr = attrs[i];
String atPrefix = attr.getPrefix();
String atName = attr.getNodeName();
- String atValue = normalize(attr.getNodeValue(), canonical);
+ String atValue = escapeCharacters ? normalize(attr.getNodeValue(), canonical) : attr.getNodeValue();
if (atPrefix != null && !atPrefix.equals("xmlns") && !atPrefix.equals("xml"))
{
@@ -394,7 +405,7 @@
// print text
case Node.TEXT_NODE:
{
- String text = normalize(node.getNodeValue(), canonical);
+ String text = escapeCharacters ? normalize(node.getNodeValue(), canonical) : node.getNodeValue();
if (prettyprint == false || text.trim().length() > 0)
out.print(text);
break;
Copied: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/HashCodeUtil.java (from rev 2253, trunk/jbossws-core/src/main/java/org/jboss/ws/core/utils/HashCodeUtil.java)
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/HashCodeUtil.java (rev 0)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/core/utils/HashCodeUtil.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -0,0 +1,134 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.utils;
+
+import java.lang.reflect.Array;
+
+/**
+* Collected methods which allow easy implementation of <code>hashCode</code>.
+*
+* Example use case:
+* <pre>
+* public int hashCode(){
+* int result = HashCodeUtil.SEED;
+* //collect the contributions of various fields
+* result = HashCodeUtil.hash(result, fPrimitive);
+* result = HashCodeUtil.hash(result, fObject);
+* result = HashCodeUtil.hash(result, fArray);
+* return result;
+* }
+* </pre>
+*/
+public final class HashCodeUtil {
+
+ /**
+ * An initial value for a <code>hashCode</code>, to which is added contributions
+ * from fields. Using a non-zero value decreases collisons of <code>hashCode</code>
+ * values.
+ */
+ public static final int SEED = 23;
+
+ /**
+ * booleans.
+ */
+ public static int hash( int aSeed, boolean aBoolean ) {
+ return firstTerm( aSeed ) + ( aBoolean ? 1 : 0 );
+ }
+
+ /**
+ * chars.
+ */
+ public static int hash( int aSeed, char aChar ) {
+ return firstTerm( aSeed ) + (int)aChar;
+ }
+
+ /**
+ * ints.
+ */
+ public static int hash( int aSeed , int aInt ) {
+ /*
+ * Implementation Note
+ * Note that byte and short are handled by this method, through
+ * implicit conversion.
+ */
+ return firstTerm( aSeed ) + aInt;
+ }
+
+ /**
+ * longs.
+ */
+ public static int hash( int aSeed , long aLong ) {
+ return firstTerm(aSeed) + (int)( aLong ^ (aLong >>> 32) );
+ }
+
+ /**
+ * floats.
+ */
+ public static int hash( int aSeed , float aFloat ) {
+ return hash( aSeed, Float.floatToIntBits(aFloat) );
+ }
+
+ /**
+ * doubles.
+ */
+ public static int hash( int aSeed , double aDouble ) {
+ return hash( aSeed, Double.doubleToLongBits(aDouble) );
+ }
+
+ /**
+ * <code>aObject</code> is a possibly-null object field, and possibly an array.
+ *
+ * If <code>aObject</code> is an array, then each element may be a primitive
+ * or a possibly-null object.
+ */
+ public static int hash( int aSeed , Object aObject ) {
+ int result = aSeed;
+ if ( aObject == null) {
+ result = hash(result, 0);
+ }
+ else if ( ! isArray(aObject) ) {
+ result = hash(result, aObject.hashCode());
+ }
+ else {
+ int length = Array.getLength(aObject);
+ for ( int idx = 0; idx < length; ++idx ) {
+ Object item = Array.get(aObject, idx);
+ //recursive call!
+ result = hash(result, item);
+ }
+ }
+ return result;
+ }
+
+
+ /// PRIVATE ///
+ private static final int fODD_PRIME_NUMBER = 37;
+
+ private static int firstTerm( int aSeed ){
+ return fODD_PRIME_NUMBER * aSeed;
+ }
+
+ private static boolean isArray(Object aObject){
+ return aObject.getClass().isArray();
+ }
+}
+
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/eventing/mgmt/Subscription.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/eventing/mgmt/Subscription.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/extensions/eventing/mgmt/Subscription.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -177,7 +177,7 @@
}
catch (Exception e)
{
- log.warn("Failed to send subscription end message to: " + this.endTo, e);
+ log.warn("Failed to send subscription end message to: " + this.endTo + "("+e.getMessage()+")");
}
}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/acessor/JAXBAccessor.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/acessor/JAXBAccessor.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/acessor/JAXBAccessor.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -73,7 +73,7 @@
throw ex;
}
- return new AccessorFactory()
+ return new AccessorFactory()
{
public Accessor create(WrappedParameter parameter)
{
@@ -81,7 +81,11 @@
try
{
QName name = parameter.getName();
- accessor = ctx.getElementPropertyAccessor(clazz, name.getNamespaceURI(), name.getLocalPart());
+ accessor = ctx.getElementPropertyAccessor(
+ clazz,
+ name.getNamespaceURI().intern(), // JAXB internally optimizes String usage towards intern()
+ name.getLocalPart().intern() // see com.sun.xml.bind.v2.util.QNameMap;
+ );
}
catch (Throwable t)
{
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilder.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilder.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilder.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -303,7 +303,7 @@
private String convertToVariable(String localName)
{
- return JAXBRIContext.mangleNameToVariableName(localName);
+ return JAXBRIContext.mangleNameToVariableName(localName.intern());
}
private String[] convertTypeArguments(Class rawType, Type type)
@@ -805,7 +805,7 @@
{
try
{
- String targetNS = epMetaData.getPortTypeName().getNamespaceURI();
+ String targetNS = epMetaData.getPortTypeName().getNamespaceURI().intern();
log.debug("JAXBContext [types=" + javaTypes + ",tns=" + targetNS + "]");
jaxbCtx = JAXBRIContext.newInstance(javaTypes.toArray(new Class[0]), typeRefs, targetNS, false);
}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -238,7 +238,7 @@
Class wrapperBean = null;
try
{
- ClassLoader loader = getOperationMetaData().getEndpointMetaData().getClassLoader();
+ ClassLoader loader = getClassLoader();
wrapperBean = JavaUtils.loadJavaType(javaTypeName, loader);
}
catch (ClassNotFoundException ex)
@@ -258,7 +258,7 @@
{
try
{
- ClassLoader loader = opMetaData.getEndpointMetaData().getClassLoader();
+ ClassLoader loader = getClassLoader();
tmpJavaType = JavaUtils.loadJavaType(javaTypeName, loader);
UnifiedMetaData wsMetaData = opMetaData.getEndpointMetaData().getServiceMetaData().getUnifiedMetaData();
@@ -436,7 +436,7 @@
// reset java type
javaType = null;
- // FIXME - Remove messageType hack
+ // TODO - Remove messageType hack
Type epType = getOperationMetaData().getEndpointMetaData().getType();
if (getOperationMetaData().isDocumentWrapped() && !isInHeader() && !isSwA() && !isMessageType())
{
@@ -445,7 +445,7 @@
if (epType == EndpointMetaData.Type.JAXRPC)
throw new WSException("Autogeneration of wrapper beans not supported with JAXRPC");
- new DynamicWrapperGenerator(getClassLoader()).generate(this);
+ new DynamicWrapperGenerator( getClassLoader() ).generate(this);
}
// Initialize accessors
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/java/org/jboss/ws/tools/JavaToXSD.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -23,14 +23,6 @@
// $Id$
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-
import org.apache.xerces.impl.xs.SchemaGrammar;
import org.apache.xerces.impl.xs.XMLSchemaLoader;
import org.apache.xerces.impl.xs.XSModelImpl;
@@ -53,7 +45,16 @@
import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
import org.w3c.dom.ls.LSInput;
+import org.xml.sax.InputSource;
+import javax.xml.namespace.QName;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
/**
* <P>
* Handles the conversion of Java classes to XML Schema
@@ -171,7 +172,11 @@
URL url = resURL != null ? resURL : orgURL;
log.debug("Load schema: " + nsURI + "=" + url);
XMLInputSource inputSource = new XMLInputSource(null, url.toExternalForm(), null);
- inputSource.setByteStream(new ResourceURL(url).openStream());
+
+ InputSource tmpSrc = resolver.resolveEntity(null, url.toExternalForm());
+ InputStream in = tmpSrc.getByteStream() != null ? tmpSrc.getByteStream() : new ResourceURL(url).openStream();
+ inputSource.setByteStream(in);
+
SchemaGrammar grammar = (SchemaGrammar)loader.loadGrammar(inputSource);
gs[index++] = grammar;
}
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/index.html
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/index.html 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/index.html 2007-02-02 17:53:40 UTC (rev 2256)
@@ -1,19 +1,63 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>JBossWS</title>
-<link rel="stylesheet" href="./styles.css">
+<html><head>
+<meta http-equiv='Content-Type content='text/html; charset=iso-8859-1'>
+<title>JBossWS / jbossws-2.0.0.CR3 (date=200702012001)</title>
+<link rel='stylesheet' href='./styles.css'>
</head>
<body>
-<h3>Welcome to JBoss Web Services</h3>
+<div class='pageHeader'>Welcome to JBoss Web Services</div>
-J2EE compatible webservices.
-<p/>
+<div class="pageSection">
+<h2>J2EE compatible web services</h2>
+After JBoss J2EE-1.4 certification in Jun/2004 we have decided to develop our own JAX-RPC 1.1 / JAX-WS compliant SOAP stack that fits better in the overall JBoss architecture and is generally more suiteable for the specific J2EE requirements for web services.
+</div>
+<div class="pageSection">
+<h3>Administration</h3>
+
+<fieldset>
+ <legend><b>Runtime information</b></legend>
<ul>
- <li> <a href="services">View</a> the list of deployed Web Services </li>
+ <li><a href="services">View a list of deployed services</a></li>
+ <!--li><a href="depends">View installed dependencies</a></li-->
+ <li><a href="/jmx-console/">Access JMX console</a></li>
</ul>
+</fieldset>
+</div>
+<div class="pageSection">
+<h3>Project information</h3>
+
+<fieldset>
+ <legend><b>Documentation</b></legend>
+
+<ul>
+ <li><a href="http://labs.jboss.com/portal/jbossws/downloads">Latest download and samples</a></li>
+ <li><a href="http://www.jboss.org/wiki/Wiki.jsp?page=JBWSFAQ">FAQ</a></li>
+ <li><a href="http://labs.jboss.com/jbossws/user-guide/en/html/index.html">User guide</a></li>
+ <li><a href="http://www.jboss.org/wiki/Wiki.jsp?page=JBossWS">JBossWS WIKI</a></li>
+</ul>
+</fieldset>
+
+</br>
+<fieldset>
+ <legend><b>Community</b></legend>
+<ul>
+ <li><a href="http://www.jboss.org/index.html?module=bb&op=viewforum&f=200">User forum</a></li>
+ <li><a href="http://www.jboss.org/index.html?module=bb&op=viewforum&f=174">Design forum</a></li>
+ <li><a href="https://lists.jboss.org/mailman/listinfo/jbossws-users">Mailing list</a></li>
+</ul>
+</fieldset>
+
+</br>
+<fieldset>
+ <legend><b>Source repository</b></legend>
+<ul>
+ <li><a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBWSFAQSourceRepository">Subversion repository</a></li>
+ <li><a href="http://fisheye.jboss.com/viewrep/JBossWS">Browse sources online</a></li>
+</ul>
+</fieldset>
+</div>
+
</body>
-</html>
+</html>
\ No newline at end of file
Modified: branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/styles.css
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/styles.css 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/resources/jbossws.war/styles.css 2007-02-02 17:53:40 UTC (rev 2256)
@@ -7,9 +7,37 @@
.table_form {
}
+.pageHeader {
+ font-size: 14pt;
+ font-weight: BOLD;
+ color: #ffffff;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+ border-color:#000066;
+ margin-bottom:15px;
+ padding-left:15px;
+ padding-top:5px;
+ padding-bottom:5px;
+ background-color: #aaaadd;
+ max-width: 900px;
+}
+
+.pageSection {
+ padding-left:15px;
+ margin-bottom: 5px;
+ max-width: 900px;
+}
+
+.metrics
+{
+ font-size: 6pt;
+ background-color: #dddddd;
+ width: 100%;
+}
+
/* table row header */
.list_tr_head {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
font-weight: 600;
text-align: center;
@@ -18,7 +46,7 @@
/* table row list view */
.list_tr {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
color: #000066;
vertical-align: top;
@@ -27,7 +55,7 @@
/* table row list view odd lines */
.list_tr_even {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
color: #000066;
vertical-align: top;
@@ -36,7 +64,7 @@
/* table row list view even lines */
.list_tr_odd {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
color: #000066;
vertical-align: top;
@@ -45,7 +73,7 @@
/* form label */
.form_label {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-weight: 500;
font-size: 8pt;
color: #000066;
@@ -57,7 +85,7 @@
/* form value */
.form_value {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
color: #000066;
vertical-align: baseline;
@@ -65,7 +93,7 @@
/* tiny writing */
.tiny {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
color: #666666;
}
@@ -92,7 +120,7 @@
}
body {
- font-family: Verdana;
+ font-family: Verdana,, sans-serif;
font-size: 8pt;
color: #000066;
background-color: #ffffff;
@@ -100,28 +128,28 @@
/* title style */
h1 {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 14pt;
font-weight: 600;
color: #000066;
}
h2 {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 12pt;
font-weight: 600;
color: #000066;
}
h3 {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 10pt;
font-weight: 600;
color: #000066;
}
h4 {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 10pt;
font-weight: 500;
color: #000066;
@@ -129,26 +157,26 @@
/* table desk */
td {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
padding-left: 5px;
padding-right: 5px;
}
input, textarea, select, option {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
font-size: 8pt;
color: #000066;
}
a {
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
color: #0000dd;
text-decoration: none;
}
a:hover{
- font-family: Verdana;
+ font-family: Verdana, sans-serif;
color: #cc0000;
text-decoration: none;
}
Copied: branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/eventing.xsd (from rev 2174, trunk/jbossws-core/src/main/resources/schema/eventing.xsd)
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/eventing.xsd (rev 0)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/eventing.xsd 2007-02-02 17:53:40 UTC (rev 2256)
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+(c) 2004 BEA Systems Inc., Computer Associates International, Inc., International Business Machines Corporation, Microsoft Corporation, Inc, Sun Microsystems, Inc., and TIBCO Software Inc. All rights reserved.
+
+BEA Systems Inc., Computer Associates International, Inc., International Business Machines Corporation, Microsoft Corporation, Inc, Sun Microsystems, Inc, and TIBCO Software Inc (collectively, the "Authors") hereby grant you permission to copy and display the WS-Eventing Specification (the "Specification", which includes WSDL and schema documents), in any medium without fee or royalty, provided that you include the following on ALL copies of the Specification, that you make:
+
+1. A link or URL to the WS-Eventing Specification at one of the Authors' websites
+2. The copyright notice as shown in the WS-Eventing Specification.
+
+BEA, CA, IBM, Microsoft, Sun and TIBCO (collectively, the "Authors") each agree to grant you a license, under royalty-free and otherwise reasonable, non-discriminatory terms and conditions, to their respective essential patent claims that they deem necessary to implement the Specification.
+
+THE SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SPECIFICATION.
+
+The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity pertaining to the Specification or its contents without specific, written prior permission. Title to copyright in the Specification will at all times remain with the Authors.
+
+No other rights are granted by implication, estoppel or otherwise.
+-->
+<xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2004/08/eventing"
+ xmlns:tns="http://schemas.xmlsoap.org/ws/2004/08/eventing"
+ xmlns:wsa="http://www.w3.org/2005/08/addressing"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ blockDefault="#all">
+
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+ <!--xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="wsaddr.xsd"/-->
+ <xs:import namespace="http://www.w3.org/2005/08/addressing"/>
+
+ <!-- Types and global elements -->
+ <xs:complexType name="DeliveryType" mixed="true">
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="Mode" type="xs:anyURI" use="optional"/>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+
+ <xs:element name="NotifyTo" type="wsa:EndpointReferenceType"/>
+
+ <xs:simpleType name="NonNegativeDurationType">
+ <xs:restriction base="xs:duration">
+ <xs:minInclusive value="P0Y0M0DT0H0M0S"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="ExpirationType">
+ <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType"/>
+ </xs:simpleType>
+
+ <xs:complexType name="FilterType" mixed="true">
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="Dialect" type="xs:anyURI" use="optional"/>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+
+ <xs:complexType name="LanguageSpecificStringType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute ref="xml:lang"/>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!-- Subscribe request -->
+ <xs:element name="Subscribe">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="EndTo" type="wsa:EndpointReferenceType" minOccurs="0"/>
+ <xs:element name="Delivery" type="tns:DeliveryType"/>
+ <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
+ <xs:element name="Filter" type="tns:FilterType" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Identifier" type="xs:anyURI"/>
+
+ <!-- Subscribe response -->
+ <xs:element name="SubscribeResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SubscriptionManager" type="wsa:EndpointReferenceType"/>
+ <xs:element name="Expires" type="tns:ExpirationType"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- Used in a fault if there's an unsupported dialect -->
+ <xs:element name="SupportedDialect" type="xs:anyURI"/>
+
+ <!-- Used in a fault if there's an unsupported delivery mode -->
+ <xs:element name="SupportedDeliveryMode" type="xs:anyURI"/>
+
+ <!-- Renew request -->
+ <xs:element name="Renew">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- Renew response -->
+ <xs:element name="RenewResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- GetStatus request -->
+ <xs:element name="GetStatus">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- GetStatus response -->
+ <xs:element name="GetStatusResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- Unsubscribe request -->
+ <xs:element name="Unsubscribe">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- count(/s:Envelope/s:Body/*) = 0 for Unsubscribe response -->
+
+ <!-- SubscriptionEnd message -->
+ <xs:element name="SubscriptionEnd">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SubscriptionManager" type="wsa:EndpointReferenceType"/>
+ <xs:element name="Code" type="tns:OpenSubscriptionEndCodeType"/>
+ <xs:element name="Reason" type="tns:LanguageSpecificStringType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:simpleType name="SubscriptionEndCodeType">
+ <xs:restriction base="xs:QName">
+ <xs:enumeration value="tns:DeliveryFailure"/>
+ <xs:enumeration value="tns:SourceShuttingDown"/>
+ <xs:enumeration value="tns:SourceCancelling"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="OpenSubscriptionEndCodeType">
+ <xs:union memberTypes="tns:SubscriptionEndCodeType xs:QName"/>
+ </xs:simpleType>
+
+ <xs:attribute name="EventSource" type="xs:boolean"/>
+
+</xs:schema>
\ No newline at end of file
Deleted: branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/ws-eventing.xsd
===================================================================
--- branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/ws-eventing.xsd 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-core/src/main/resources/schema/ws-eventing.xsd 2007-02-02 17:53:40 UTC (rev 2256)
@@ -1,186 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-(c) 2004 BEA Systems Inc., Computer Associates International, Inc., International Business Machines Corporation, Microsoft Corporation, Inc, Sun Microsystems, Inc., and TIBCO Software Inc. All rights reserved.
-
-BEA Systems Inc., Computer Associates International, Inc., International Business Machines Corporation, Microsoft Corporation, Inc, Sun Microsystems, Inc, and TIBCO Software Inc (collectively, the "Authors") hereby grant you permission to copy and display the WS-Eventing Specification (the "Specification", which includes WSDL and schema documents), in any medium without fee or royalty, provided that you include the following on ALL copies of the Specification, that you make:
-
-1. A link or URL to the WS-Eventing Specification at one of the Authors' websites
-2. The copyright notice as shown in the WS-Eventing Specification.
-
-BEA, CA, IBM, Microsoft, Sun and TIBCO (collectively, the "Authors") each agree to grant you a license, under royalty-free and otherwise reasonable, non-discriminatory terms and conditions, to their respective essential patent claims that they deem necessary to implement the Specification.
-
-THE SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
-
-THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SPECIFICATION.
-
-The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity pertaining to the Specification or its contents without specific, written prior permission. Title to copyright in the Specification will at all times remain with the Authors.
-
-No other rights are granted by implication, estoppel or otherwise.
--->
-<xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2004/08/eventing"
- xmlns:tns="http://schemas.xmlsoap.org/ws/2004/08/eventing"
- xmlns:wsa="http://www.w3.org/2005/08/addressing"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- blockDefault="#all">
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
- <!--xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="wsaddr.xsd"/-->
- <xs:import namespace="http://www.w3.org/2005/08/addressing"/>
-
- <!-- Types and global elements -->
- <xs:complexType name="DeliveryType" mixed="true">
- <xs:sequence>
- <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="Mode" type="xs:anyURI" use="optional"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
-
- <xs:element name="NotifyTo" type="wsa:EndpointReferenceType"/>
-
- <xs:simpleType name="NonNegativeDurationType">
- <xs:restriction base="xs:duration">
- <xs:minInclusive value="P0Y0M0DT0H0M0S"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="ExpirationType">
- <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType"/>
- </xs:simpleType>
-
- <xs:complexType name="FilterType" mixed="true">
- <xs:sequence>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="Dialect" type="xs:anyURI" use="optional"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
-
- <xs:complexType name="LanguageSpecificStringType">
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute ref="xml:lang"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
- <!-- Subscribe request -->
- <xs:element name="Subscribe">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="EndTo" type="wsa:EndpointReferenceType" minOccurs="0"/>
- <xs:element name="Delivery" type="tns:DeliveryType"/>
- <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
- <xs:element name="Filter" type="tns:FilterType" minOccurs="0"/>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="Identifier" type="xs:anyURI"/>
-
- <!-- Subscribe response -->
- <xs:element name="SubscribeResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="SubscriptionManager" type="wsa:EndpointReferenceType"/>
- <xs:element name="Expires" type="tns:ExpirationType"/>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <!-- Used in a fault if there's an unsupported dialect -->
- <xs:element name="SupportedDialect" type="xs:anyURI"/>
-
- <!-- Used in a fault if there's an unsupported delivery mode -->
- <xs:element name="SupportedDeliveryMode" type="xs:anyURI"/>
-
- <!-- Renew request -->
- <xs:element name="Renew">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <!-- Renew response -->
- <xs:element name="RenewResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <!-- GetStatus request -->
- <xs:element name="GetStatus">
- <xs:complexType>
- <xs:sequence>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <!-- GetStatus response -->
- <xs:element name="GetStatusResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <!-- Unsubscribe request -->
- <xs:element name="Unsubscribe">
- <xs:complexType>
- <xs:sequence>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <!-- count(/s:Envelope/s:Body/*) = 0 for Unsubscribe response -->
-
- <!-- SubscriptionEnd message -->
- <xs:element name="SubscriptionEnd">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="SubscriptionManager" type="wsa:EndpointReferenceType"/>
- <xs:element name="Code" type="tns:OpenSubscriptionEndCodeType"/>
- <xs:element name="Reason" type="tns:LanguageSpecificStringType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
-
- <xs:simpleType name="SubscriptionEndCodeType">
- <xs:restriction base="xs:QName">
- <xs:enumeration value="tns:DeliveryFailure"/>
- <xs:enumeration value="tns:SourceShuttingDown"/>
- <xs:enumeration value="tns:SourceCancelling"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="OpenSubscriptionEndCodeType">
- <xs:union memberTypes="tns:SubscriptionEndCodeType xs:QName"/>
- </xs:simpleType>
-
- <xs:attribute name="EventSource" type="xs:boolean"/>
-
-</xs:schema>
\ No newline at end of file
Modified: branches/jbossws-1.2.0/jbossws-docs/user-guide/project/en/master.template
===================================================================
--- branches/jbossws-1.2.0/jbossws-docs/user-guide/project/en/master.template 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-docs/user-guide/project/en/master.template 2007-02-02 17:53:40 UTC (rev 2256)
@@ -1,9 +1,9 @@
-<?xml version='1.0' encoding="iso-8859-1"?>
+<?xml version='1.0' encoding="iso-8859-1"?>
<!-- $Id: master.xml 118 2006-04-06 14:44:24Z thomas.diesler(a)jboss.com $ -->
<!DOCTYPE book PUBLIC
- "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+ "-//OASIS//DTD DocBook XML V4.1.2//EN"
"../../../docbook-support/support/docbook-dtd/docbookx.dtd"
[
<!ENTITY ch-introduction SYSTEM "modules/introduction.xml">
@@ -100,4 +100,4 @@
&ch-xmlregistry;
&appendix-a;
-</book>
+</book>
\ No newline at end of file
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/common/utils/DOMWriterTestCase.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -189,7 +189,7 @@
Element domEl = DOMUtils.parse(expStr);
- String wasStr = DOMWriter.printNode(domEl, false);
+ String wasStr = DOMWriter.printNode(domEl, false, true);
assertEquals(expStr, wasStr);
}
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxrpc/marshall/MarshallDocLitTestCase.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxrpc/marshall/MarshallDocLitTestCase.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxrpc/marshall/MarshallDocLitTestCase.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -28,6 +28,7 @@
import javax.naming.InitialContext;
import javax.xml.namespace.QName;
import javax.xml.rpc.Service;
+import javax.xml.rpc.Stub;
import junit.framework.Test;
@@ -59,7 +60,7 @@
{
InitialContext iniCtx = getInitialContext();
Service service = (Service)iniCtx.lookup("java:comp/env/service/StandardTypes");
- port = (StandardTypes)service.getPort(StandardTypes.class);
+ port = (StandardTypes)service.getPort(StandardTypes.class);
}
}
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/wseventing/EventingSupport.java
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/wseventing/EventingSupport.java 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/wseventing/EventingSupport.java 2007-02-02 17:53:40 UTC (rev 2256)
@@ -164,7 +164,7 @@
EndpointReferenceType notifyEPR = new EndpointReferenceType();
AttributedURIType attURI = new AttributedURIType();
attURI.setValue("http://" + getServerHost() + ":8080/jaxws-wseventing/eventSink");
- notifyEPR.setAddress(attURI);
+ notifyEPR.setAddress(attURI);
delivery.setNotifyTo(notifyEPR);
return delivery;
}
Modified: branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxws/samples/wseventing/WEB-INF/wsdl/ws-eventing.wsdl
===================================================================
--- branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxws/samples/wseventing/WEB-INF/wsdl/ws-eventing.wsdl 2007-02-02 17:33:49 UTC (rev 2255)
+++ branches/jbossws-1.2.0/jbossws-tests/src/main/resources/jaxws/samples/wseventing/WEB-INF/wsdl/ws-eventing.wsdl 2007-02-02 17:53:40 UTC (rev 2256)
@@ -9,7 +9,8 @@
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
- <xs:import namespace="http://schemas.xmlsoap.org/ws/2004/08/eventing" schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/eventing/eventing.xsd"/>
+ <xs:import namespace="http://schemas.xmlsoap.org/ws/2004/08/eventing"
+ schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/eventing/eventing.xsd"/>
</wsdl:types>
<wsdl:message name='SubscribeMsg'>
18 years, 1 month