Author: thomas.diesler(a)jboss.com
Date: 2006-10-20 08:12:17 -0400 (Fri, 20 Oct 2006)
New Revision: 1274
Removed:
trunk/src/test/resources/jaxws/jsr181/webparam/jaxrpc-mapping.xml
Modified:
trunk/src/main/java/org/jboss/ws/Constants.java
trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebserviceDescriptionMetaData.java
trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesMetaData.java
trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java
trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceMessageReference.java
trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceOperation.java
trunk/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/WSSchemaUtils.java
trunk/src/main/java/org/jboss/ws/tools/jaxws/WSDLGenerator.java
trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java
trunk/src/test/ant/build-jars-jaxws.xml
trunk/src/test/build.xml
trunk/src/test/etc/log4j.xml
trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/complex/client/JSR181ComplexTestCase.java
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/JSR181WebParamTestCase.java
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/PingService.java
trunk/src/test/resources/jaxws/jsr181/webparam/WEB-INF/web.xml
Log:
Remove JAXRPC API from JAXWS clients.
More to come.
Modified: trunk/src/main/java/org/jboss/ws/Constants.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/Constants.java 2006-10-19 15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/Constants.java 2006-10-20 12:12:17 UTC (rev 1274)
@@ -77,7 +77,7 @@
static final String URI_LITERAL_ENC = "";
/** WSDL 2.0 Encoding Rules */
static final String URI_STYLE_RPC =
"http://www.w3.org/2004/03/wsdl/style/rpc";
- static final String URI_STYLE_IRI =
"http://www.w3.org/2004/03/wsdl/style/iri"; //represents doc
+ static final String URI_STYLE_DOC =
"http://www.w3.org/2004/03/wsdl/style/iri";
/**Style of WSDL */
static final String RPC_LITERAL = "RPC/Literal";
static final String DOCUMENT_LITERAL = "Document/Literal";
@@ -241,8 +241,6 @@
static final String WSDL_PROPERTY_EVENTSOURCE =
"http://www.jboss.org/jbossws/wse/isEventSource";
- /** The key to the original message part name */
- static final String WSDL_PROPERTY_PART_NAME =
"http://www.jboss.org/jbossws/partname";
/** The key to the message part type in case a part does not reference an element;
http://www.jboss.org/jbossws/rpc/xmltype */
static final String WSDL_PROPERTY_RPC_XMLTYPE =
"http://www.jboss.org/jbossws/rpc/xmltype";
/** Used as WSDL 2.0 property string to provide support for WSDL 1.1 mime types */
Modified: trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -23,26 +23,13 @@
// $Id:AnnotationsMetaDataBuilder.java 732 2006-08-12 18:40:21Z thomas.diesler(a)jboss.com
$
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-
import javax.xml.ws.BindingType;
import org.jboss.logging.Logger;
-import org.jboss.ws.Constants;
-import org.jboss.ws.WSException;
import org.jboss.ws.annotation.PortComponent;
import org.jboss.ws.metadata.EndpointMetaData;
import org.jboss.ws.metadata.ServerEndpointMetaData;
-import org.jboss.ws.metadata.ServiceMetaData;
-import org.jboss.ws.metadata.UnifiedMetaData;
import org.jboss.ws.metadata.j2ee.UnifiedWebMetaData;
-import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
-import org.jboss.ws.server.ServerConfig;
-import org.jboss.ws.server.ServerConfigFactory;
-import org.jboss.ws.tools.JavaToWSDL;
-import org.jboss.ws.utils.IOUtils;
/** An abstract annotation meta data builder.
*
@@ -68,56 +55,6 @@
}
}
- protected void processOrGenerateWSDL(Class wsClass, ServiceMetaData serviceMetaData,
String wsdlLocation, EndpointMetaData endpointMetaData)
- {
- if (wsdlLocation.length() > 0)
- {
- serviceMetaData.setWsdlFile(wsdlLocation);
- }
- else
- {
- // Generate the wsdl
- ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- UnifiedMetaData wsMetaData = serviceMetaData.getUnifiedMetaData();
- Thread.currentThread().setContextClassLoader(wsMetaData.getClassLoader());
- String serviceName = serviceMetaData.getQName().getLocalPart();
-
- JavaToWSDL javaToWSDL = new JavaToWSDL(Constants.NS_WSDL11);
- javaToWSDL.setUnifiedMetaData(wsMetaData);
- javaToWSDL.setQualifiedElements(true);
- WSDLDefinitions wsdlDefinitions = javaToWSDL.generate(wsClass);
-
- ServerConfigFactory factory = ServerConfigFactory.getInstance();
- ServerConfig config = factory.getServerConfig();
- File tmpdir = new File(config.getServerTempDir().getCanonicalPath() +
"/jbossws");
- tmpdir.mkdirs();
-
- File wsdlTmpFile = File.createTempFile(serviceName, ".wsdl",
tmpdir);
- wsdlTmpFile.deleteOnExit();
-
- Writer writer = IOUtils.getCharsetFileWriter(wsdlTmpFile,
Constants.DEFAULT_XML_CHARSET);
- wsdlDefinitions.write(writer, Constants.DEFAULT_XML_CHARSET);
- writer.close();
-
- serviceMetaData.setWsdlFile(wsdlTmpFile.toURL().toExternalForm());
- }
- catch (RuntimeException rte)
- {
- throw rte;
- }
- catch (IOException e)
- {
- throw new WSException("Cannot write generated wsdl", e);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(ctxLoader);
- }
- }
- }
-
protected void processPortComponent(UnifiedDeploymentInfo udi, Class wsClass, String
linkName, ServerEndpointMetaData epMetaData)
{
String contextRoot = null;
Modified: trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -28,21 +28,16 @@
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
-import javax.xml.rpc.encoding.TypeMappingRegistry;
import org.jboss.logging.Logger;
import org.jboss.ws.Constants;
import org.jboss.ws.WSException;
import org.jboss.ws.jaxrpc.Style;
-import org.jboss.ws.jaxrpc.TypeMappingImpl;
-import org.jboss.ws.jaxrpc.TypeMappingRegistryImpl;
import org.jboss.ws.metadata.ClientEndpointMetaData;
import org.jboss.ws.metadata.EndpointMetaData;
import org.jboss.ws.metadata.OperationMetaData;
import org.jboss.ws.metadata.ParameterMetaData;
import org.jboss.ws.metadata.ServiceMetaData;
-import org.jboss.ws.metadata.TypeMappingMetaData;
-import org.jboss.ws.metadata.TypesMetaData;
import org.jboss.ws.metadata.UnifiedMetaData;
import org.jboss.ws.metadata.EndpointMetaData.Type;
import org.jboss.ws.metadata.wsdl.NCName;
@@ -54,6 +49,7 @@
import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperation;
import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperationInput;
import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperationOutput;
+import org.jboss.ws.metadata.wsdl.WSDLRPCPart;
import org.jboss.ws.metadata.wsdl.WSDLService;
import org.jboss.ws.metadata.wsdl.WSDLUtils;
import org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel;
@@ -169,7 +165,7 @@
// Set the operation style
String style = wsdlOperation.getStyle();
- epMetaData.setStyle((Constants.URI_STYLE_IRI.equals(style) ? Style.DOCUMENT :
Style.RPC));
+ epMetaData.setStyle((Constants.URI_STYLE_DOC.equals(style) ? Style.DOCUMENT :
Style.RPC));
// Set the operation MEP
if (Constants.WSDL20_PATTERN_IN_ONLY.equals(wsdlOperation.getPattern()))
@@ -181,109 +177,75 @@
if (wsdlBindingOperation != null)
opMetaData.setSOAPAction(wsdlBindingOperation.getSOAPAction());
- // Get the type mapping for the encoding style
- String encStyle = epMetaData.getEncodingStyle().toURI();
- TypeMappingRegistry tmRegistry = new TypeMappingRegistryImpl();
- TypeMappingImpl typeMapping =
(TypeMappingImpl)tmRegistry.getTypeMapping(encStyle);
-//
-// // Build the parameter meta data
-// if (opMetaData.getStyle() == Style.RPC)
-// {
-// buildParameterMetaDataRpc(opMetaData, wsdlOperation, typeMapping);
-// }
-// else
-// {
-// buildParameterMetaDataDoc(opMetaData, wsdlOperation, typeMapping);
-// }
-//
-// // Build operation faults
-// buildFaultMetaData(opMetaData, wsdlOperation);
+ // Build the parameter meta data
+ if (opMetaData.getStyle() == Style.RPC)
+ {
+ buildParameterMetaDataRpc(opMetaData, wsdlOperation);
+ }
+ else
+ {
+ buildParameterMetaDataDoc(opMetaData, wsdlOperation);
+ }
+ // Build operation faults
+ buildFaultMetaData(opMetaData, wsdlOperation);
+
// process further operation extensions
processOpMetaExtensions(opMetaData, wsdlOperation);
}
}
- private void buildParameterMetaDataRpc(OperationMetaData opMetaData,
WSDLInterfaceOperation wsdlOperation, TypeMappingImpl typeMapping)
+ private void buildParameterMetaDataRpc(OperationMetaData opMetaData,
WSDLInterfaceOperation wsdlOperation)
{
log.trace("buildParameterMetaDataRpc: " + opMetaData.getQName());
- TypesMetaData typesMetaData =
opMetaData.getEndpointMetaData().getServiceMetaData().getTypesMetaData();
-
for (WSDLInterfaceOperationInput opInput : wsdlOperation.getInputs())
{
- QName xmlName = opInput.getElement();
- QName xmlType = opInput.getXMLType();
- String javaTypeName = typeMapping.getJavaTypeName(xmlType);
-
- ParameterMetaData inMetaData = new ParameterMetaData(opMetaData, xmlName,
xmlType, javaTypeName);
- opMetaData.addParameter(inMetaData);
-
- boolean inHeader = opInput.getProperty(Constants.WSDL_PROPERTY_APPLICATION_DATA)
!= null;
- inMetaData.setInHeader(inHeader);
+ for (WSDLRPCPart childPart : opInput.getChildParts())
+ {
+ QName xmlName = new QName(childPart.getName());
+ QName xmlType = childPart.getType();
+ ParameterMetaData inMetaData = new ParameterMetaData(opMetaData, xmlName,
xmlType, null);
+ opMetaData.addParameter(inMetaData);
+ }
}
for (WSDLInterfaceOperationOutput opOutput : wsdlOperation.getOutputs())
{
- String partName =
opOutput.getProperty(Constants.WSDL_PROPERTY_PART_NAME).getValue();
- QName xmlName = opOutput.getElement();
-
- ParameterMetaData outMetaData = opMetaData.getParameter(xmlName);
- if (outMetaData != null && wsdlOperation.getInputByPartName(partName) !=
null)
+ for (WSDLRPCPart childPart : opOutput.getChildParts())
{
- outMetaData.setMode(ParameterMode.INOUT);
- }
- else
- {
- QName xmlType = opOutput.getXMLType();
- String javaTypeName = typeMapping.getJavaTypeName(xmlType);
+ QName xmlName = new QName(childPart.getName());
+ QName xmlType = childPart.getType();
- boolean inHeader =
opOutput.getProperty(Constants.WSDL_PROPERTY_APPLICATION_DATA) != null;
- boolean hasReturnMapping = (inHeader == false);
-
- if (hasReturnMapping)
+ ParameterMetaData outMetaData = opMetaData.getParameter(xmlName);
+ if (outMetaData != null)
{
- outMetaData = new ParameterMetaData(opMetaData, xmlName, xmlType,
javaTypeName);
- opMetaData.setReturnParameter(outMetaData);
+ outMetaData.setMode(ParameterMode.INOUT);
}
else
{
- outMetaData = new ParameterMetaData(opMetaData, xmlName, xmlType,
javaTypeName);
- outMetaData.setMode(ParameterMode.OUT);
- opMetaData.addParameter(outMetaData);
-
- outMetaData.setInHeader(inHeader);
+ outMetaData = new ParameterMetaData(opMetaData, xmlName, xmlType, null);
+ opMetaData.setReturnParameter(outMetaData);
}
}
}
}
- private void buildParameterMetaDataDoc(OperationMetaData opMetaData,
WSDLInterfaceOperation wsdlOperation, TypeMappingImpl typeMapping)
+ private void buildParameterMetaDataDoc(OperationMetaData opMetaData,
WSDLInterfaceOperation wsdlOperation)
{
log.trace("buildParameterMetaDataDoc: " + opMetaData.getQName());
- EndpointMetaData epMetaData = opMetaData.getEndpointMetaData();
- ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
- TypesMetaData typesMetaData = serviceMetaData.getTypesMetaData();
-
for (WSDLInterfaceOperationInput opInput : wsdlOperation.getInputs())
{
QName xmlName = opInput.getElement();
- QName xmlType = opInput.getXMLType();
- String javaTypeName = typeMapping.getJavaTypeName(xmlType);
-
- TypeMappingMetaData typeMetaData =
typesMetaData.getTypeMappingByXMLType(xmlType);
- if (typeMetaData != null)
- javaTypeName = typeMetaData.getJavaTypeName();
-
- ParameterMetaData inMetaData = new ParameterMetaData(opMetaData, xmlName,
xmlType, javaTypeName);
+ ParameterMetaData inMetaData = new ParameterMetaData(opMetaData, xmlName,
null);
inMetaData.setInHeader(opInput.getProperty(Constants.WSDL_PROPERTY_APPLICATION_DATA) !=
null);
opMetaData.addParameter(inMetaData);
}
for (WSDLInterfaceOperationOutput opOutput : wsdlOperation.getOutputs())
{
- String partName =
opOutput.getProperty(Constants.WSDL_PROPERTY_PART_NAME).getValue();
+ String partName = opOutput.getPartName();
QName xmlName = opOutput.getElement();
ParameterMetaData paramMetaData = opMetaData.getParameter(xmlName);
@@ -293,23 +255,17 @@
}
else
{
- QName xmlType = opOutput.getXMLType();
- String javaTypeName = typeMapping.getJavaTypeName(xmlType);
-
boolean inHeader =
opOutput.getProperty(Constants.WSDL_PROPERTY_APPLICATION_DATA) != null;
boolean hasReturnMapping = (inHeader == false);
- if (typesMetaData.getTypeMappingByXMLType(xmlType) != null)
- javaTypeName =
typesMetaData.getTypeMappingByXMLType(xmlType).getJavaTypeName();
-
if (hasReturnMapping)
{
- ParameterMetaData retMetaData = new ParameterMetaData(opMetaData, xmlName,
xmlType, javaTypeName);
+ ParameterMetaData retMetaData = new ParameterMetaData(opMetaData, xmlName,
null);
opMetaData.setReturnParameter(retMetaData);
}
else
{
- ParameterMetaData outMetaData = new ParameterMetaData(opMetaData, xmlName,
xmlType, javaTypeName);
+ ParameterMetaData outMetaData = new ParameterMetaData(opMetaData, xmlName,
null);
opMetaData.addParameter(outMetaData);
outMetaData.setMode(ParameterMode.OUT);
Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -178,7 +178,7 @@
// Set the operation style
String style = wsdlOperation.getStyle();
- epMetaData.setStyle((Constants.URI_STYLE_IRI.equals(style) ? Style.DOCUMENT :
Style.RPC));
+ epMetaData.setStyle((Constants.URI_STYLE_DOC.equals(style) ? Style.DOCUMENT :
Style.RPC));
// Set the operation MEP
if (Constants.WSDL20_PATTERN_IN_ONLY.equals(wsdlOperation.getPattern()))
Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -24,6 +24,7 @@
// $Id$
import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
@@ -91,6 +92,8 @@
import org.jboss.ws.server.ServerConfigFactory;
import org.jboss.ws.tools.jaxws.JAXBWSDLGenerator;
import org.jboss.ws.tools.jaxws.WSDLGenerator;
+import org.jboss.ws.utils.DOMUtils;
+import org.jboss.ws.utils.DOMWriter;
import org.jboss.ws.utils.HolderUtils;
import org.jboss.ws.utils.IOUtils;
import org.jboss.ws.utils.JBossWSEntityResolver;
@@ -98,6 +101,7 @@
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
+import org.w3c.dom.Element;
import com.sun.xml.bind.api.JAXBRIContext;
import com.sun.xml.bind.api.TypeReference;
@@ -368,8 +372,6 @@
private void processWebMethod(EndpointMetaData epMetaData, Method method)
{
- ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
- TypesMetaData typesMetaData = serviceMetaData.getTypesMetaData();
String targetNS = epMetaData.getQName().getNamespaceURI();
// reflection defaults
@@ -873,7 +875,7 @@
opMetaData.addExtension(addrExt);
}
- protected void processOrGenerateWSDL(Class wsClass, ServiceMetaData serviceMetaData,
String wsdlLocation, EndpointMetaData epMetaData)
+ private void processOrGenerateWSDL(Class wsClass, ServiceMetaData serviceMetaData,
String wsdlLocation, EndpointMetaData epMetaData)
{
if (wsdlLocation.length() > 0)
{
@@ -900,6 +902,11 @@
wsdlDefinitions.write(writer, Constants.DEFAULT_XML_CHARSET);
writer.close();
+ // Write generated wsdl to debug log
+ Element root = DOMUtils.parse(new FileInputStream (wsdlTmpFile));
+ String wsdl = DOMWriter.printNode(root, true);
+ log.debug("Generated wsdl:\n" + wsdl);
+
serviceMetaData.setWsdlFile(wsdlTmpFile.toURL().toExternalForm());
}
catch (RuntimeException rte)
Modified:
trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebserviceDescriptionMetaData.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebserviceDescriptionMetaData.java 2006-10-19
15:10:32 UTC (rev 1273)
+++
trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebserviceDescriptionMetaData.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -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.jsr109;
// $Id$
@@ -78,7 +78,7 @@
portComponents.toArray(array);
return array;
}
-
+
/**
* Get the QNames of the port components to be declared
* in the namespaces
@@ -90,15 +90,15 @@
//TODO:Check if there is just one QName that drives all portcomponents
//or each port component can have a distinct QName (namespace/prefix)
//Maintain uniqueness of the QName
- Map map = new HashMap();
+ Map map = new HashMap();
Iterator iter = portComponents.iterator();
- while (iter != null && iter.hasNext())
+ while(iter != null && iter.hasNext())
{
PortComponentMetaData pcm = (PortComponentMetaData)iter.next();
QName qname = pcm.getWsdlPort();
- map.put(qname.getPrefix(), qname);
+ map.put(qname.getPrefix(),qname);
}
- return map.values();
+ return map.values();
}
/**
@@ -155,7 +155,7 @@
{
this.jaxrpcMappingFile = jaxrpcMappingFile;
}
-
+
/**
* Serialize as a String
*
@@ -166,10 +166,10 @@
StringBuilder buffer = new StringBuilder("<webservice-description>
<webservice-description-name>");
buffer.append(this.webserviceDescriptionName);
buffer.append("</webservice-description-name>");
- buffer.append("<wsdl-file>" + wsdlFile +
"</wsdl-file>");
- buffer.append("<jaxrpc-mapping-file>" + jaxrpcMappingFile +
"</jaxrpc-mapping-file>");
- for (PortComponentMetaData pm : portComponents)
- buffer.append(pm.serialize());
+
buffer.append("<wsdl-file>"+wsdlFile+"</wsdl-file>");
+
buffer.append("<jaxrpc-mapping-file>"+jaxrpcMappingFile+"</jaxrpc-mapping-file>");
+ for(PortComponentMetaData pm:portComponents)
+ buffer.append(pm.serialize());
buffer.append("</webservice-description>");
return buffer.toString();
}
Modified: trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesMetaData.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesMetaData.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -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.
+*/
// $Id$
package org.jboss.ws.metadata.jsr109;
@@ -47,9 +47,10 @@
// The URL to the webservices.xml descriptor
private URL descriptorURL;
- /**
- * Construct webservices meta data, with a given resource class loader.
- */
+ public WebservicesMetaData()
+ {
+ }
+
public WebservicesMetaData(URL descriptorURL)
{
this.descriptorURL = descriptorURL;
@@ -71,7 +72,7 @@
webserviceDescriptions.toArray(array);
return array;
}
-
+
//Serialize as a String
public String serialize()
{
@@ -79,30 +80,30 @@
//Construct the webservices.xml definitions
List qnames = new ArrayList();
Iterator iter = webserviceDescriptions.iterator();
- while (iter != null && iter.hasNext())
+ while(iter != null && iter.hasNext())
{
WebserviceDescriptionMetaData wmd = (WebserviceDescriptionMetaData)iter.next();
qnames.addAll(wmd.getPortComponentQNames());
- }
- createHeader(buffer, qnames);
- for (WebserviceDescriptionMetaData wm : webserviceDescriptions)
- buffer.append(wm.serialize());
+ }
+ createHeader( buffer,qnames );
+ for(WebserviceDescriptionMetaData wm:webserviceDescriptions)
+ buffer.append(wm.serialize());
buffer.append("</webservices>");
- return buffer.toString();
+ return buffer.toString();
}
-
- private void createHeader(StringBuilder buf, List qnames)
- {
+
+ private void createHeader( StringBuilder buf, List qnames)
+ {
buf.append("<webservices
xmlns='http://java.sun.com/xml/ns/j2ee'");
- buf.append(" xmlns:xsi='" + Constants.NS_SCHEMA_XSI +
"'");
+ buf.append("
xmlns:xsi='"+Constants.NS_SCHEMA_XSI+"'");
//Lets append the port type namespaces
Iterator iter = qnames.iterator();
- while (iter != null && iter.hasNext())
+ while(iter != null && iter.hasNext())
{
QName qn = (QName)iter.next();
buf.append("
xmlns:").append(qn.getPrefix()).append("='").append(qn.getNamespaceURI()).append("'");
- }
+ }
buf.append("
xsi:schemaLocation='http://java.sun.com/xml/ns/j2ee
http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd'");
- buf.append(" version='1.1' >");
+ buf.append(" version='1.1' >");
}
}
Modified: trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java 2006-10-19 15:10:32
UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java 2006-10-20 12:12:17
UTC (rev 1274)
@@ -142,10 +142,10 @@
private void cleanupTemporaryFiles()
{
- for (File current : tempFiles)
- {
- current.delete();
- }
+ for (File current : tempFiles)
+ {
+ current.delete();
+ }
}
// process all bindings not within service separetly
@@ -496,7 +496,7 @@
if (wsaAction != null)
destOperation.addProperty(new WSDLProperty(Constants.WSDL_PROPERTY_ACTION_IN,
wsaAction.getLocalPart()));
- List<String> paramOrder = (List<String>)
srcOperation.getParameterOrdering();
+ List<String> paramOrder =
(List<String>)srcOperation.getParameterOrdering();
if (paramOrder != null)
{
for (String name : paramOrder)
@@ -506,12 +506,24 @@
}
}
- WSDLInterfaceOperationInput rpcInput = new
WSDLInterfaceOperationInput(destOperation);
- for (Part srcPart : (List<Part>) srcMessage.getOrderedParts(paramOrder))
+ WSDLInterfaceOperationInput rpcInput = null;
+ if (Constants.URI_STYLE_RPC == destOperation.getStyle())
{
- if (Constants.URI_STYLE_IRI == destOperation.getStyle())
+ rpcInput = new WSDLInterfaceOperationInput(destOperation);;
+
+ // This is really a place holder, but also the actual value used in WSDL-2.0
RPC bindings
+ rpcInput.setElement(destOperation.getQName());
+ rpcInput.setMessageName(srcMessage.getQName());
+ destOperation.addInput(rpcInput);
+ }
+
+ for (Part srcPart : (List<Part>)srcMessage.getOrderedParts(paramOrder))
+ {
+ if (Constants.URI_STYLE_DOC == destOperation.getStyle())
{
WSDLInterfaceOperationInput destInput = new
WSDLInterfaceOperationInput(destOperation);
+ destInput.setPartName(srcPart.getName());
+
QName elementName = messagePartToElementName(srcWsdl, srcPortType,
srcOperation, srcMessage, srcPart);
destInput.setElement(elementName);
@@ -519,30 +531,19 @@
destInput.setMessageName(srcMessage.getQName());
destOperation.addProperty(new
WSDLProperty(Constants.WSDL_PROPERTY_MESSAGE_NAME_IN,
srcMessage.getQName().getLocalPart()));
- destInput.setPartName(srcPart.getName());
-
destOperation.addInput(destInput);
}
else
{
// If we don't have a type then we aren't a valid RPC parameter
- // This could happen on a header element, in which case the
- // binding will pick it up
+ // This could happen on a header element, in which case the binding will
pick it up later
QName xmlType = srcPart.getTypeName();
if (xmlType != null)
rpcInput.addChildPart(new WSDLRPCPart(srcPart.getName(),
destWsdl.registerQName(xmlType)));
- else
+ else
messagePartToElementName(srcWsdl, srcPortType, srcOperation,
srcMessage, srcPart);
}
}
- if (Constants.URI_STYLE_RPC == destOperation.getStyle())
- {
- // This is really a place holder, but also the actual value used in
- // WSDL 2.0 RPC bindings
- rpcInput.setElement(destOperation.getQName());
- rpcInput.setMessageName(srcMessage.getQName());
- destOperation.addInput(rpcInput);
- }
}
}
@@ -559,11 +560,11 @@
log.trace("processOperationOutput: " + srcMessage.getQName());
destOperation.setPattern(Constants.WSDL20_PATTERN_IN_OUT);
- QName wsaAction = (QName)
srcOutput.getExtensionAttribute(Constants.WSDL_ATTRIBUTE_WSA_ACTION);
+ QName wsaAction =
(QName)srcOutput.getExtensionAttribute(Constants.WSDL_ATTRIBUTE_WSA_ACTION);
if (wsaAction != null)
destOperation.addProperty(new WSDLProperty(Constants.WSDL_PROPERTY_ACTION_OUT,
wsaAction.getLocalPart()));
- List<String> paramOrder = (List<String>)
srcOperation.getParameterOrdering();
+ List<String> paramOrder =
(List<String>)srcOperation.getParameterOrdering();
if (paramOrder != null)
{
for (String name : paramOrder)
@@ -573,30 +574,36 @@
WSDLRPCSignatureItem item = destOperation.getRpcSignatureitem(name);
if (item != null)
item.setDirection(Direction.INOUT);
- else
- destOperation.addRpcSignatureItem(new WSDLRPCSignatureItem(name,
Direction.OUT));
+ else destOperation.addRpcSignatureItem(new WSDLRPCSignatureItem(name,
Direction.OUT));
}
}
}
- WSDLInterfaceOperationOutput rpcOutput = new
WSDLInterfaceOperationOutput(destOperation);
- for (Part srcPart : (List<Part>) srcMessage.getOrderedParts(null))
+ WSDLInterfaceOperationOutput rpcOutput = null;
+ if (Constants.URI_STYLE_RPC == destOperation.getStyle())
{
- if (Constants.URI_STYLE_IRI == destOperation.getStyle())
+ rpcOutput = new WSDLInterfaceOperationOutput(destOperation);
+ // This is really a place holder, but also the actual value used in WSDL-2.0 RPC
bindings
+ QName name = destOperation.getQName();
+ rpcOutput.setElement(new QName(name.getNamespaceURI(), name.getLocalPart() +
"Response"));
+ rpcOutput.setMessageName(srcMessage.getQName());
+ destOperation.addOutput(rpcOutput);
+ }
+
+ for (Part srcPart : (List<Part>)srcMessage.getOrderedParts(null))
+ {
+ if (Constants.URI_STYLE_DOC == destOperation.getStyle())
{
WSDLInterfaceOperationOutput destOutput = new
WSDLInterfaceOperationOutput(destOperation);
+ destOutput.setPartName(srcPart.getName());
QName elementName = messagePartToElementName(srcWsdl, srcPortType,
srcOperation, srcMessage, srcPart);
destOutput.setElement(elementName);
// Lets remember the Message name
destOutput.setMessageName(srcMessage.getQName());
- destOperation.addProperty(new
WSDLProperty(Constants.WSDL_PROPERTY_MESSAGE_NAME_OUT, srcMessage.getQName()
- .getLocalPart()));
+ destOperation.addProperty(new
WSDLProperty(Constants.WSDL_PROPERTY_MESSAGE_NAME_OUT,
srcMessage.getQName().getLocalPart()));
- // Remember the original part name
- destOutput.setPartName(srcPart.getName());
-
destOperation.addOutput(destOutput);
}
else
@@ -607,20 +614,10 @@
QName xmlType = srcPart.getTypeName();
if (xmlType != null)
rpcOutput.addChildPart(new WSDLRPCPart(srcPart.getName(),
destWsdl.registerQName(xmlType)));
- else
+ else
messagePartToElementName(srcWsdl, srcPortType, srcOperation, srcMessage,
srcPart);
}
}
-
- if (Constants.URI_STYLE_RPC == destOperation.getStyle())
- {
- // This is really a place holder, but also the actual value used in
- // WSDL 2.0 RPC bindings
- QName name = destOperation.getQName();
- rpcOutput.setElement(new QName(name.getNamespaceURI(), name.getLocalPart() +
"Response"));
- rpcOutput.setMessageName(srcMessage.getQName());
- destOperation.addOutput(rpcOutput);
- }
}
private void processOperationFaults(Operation srcOperation, WSDLInterfaceOperation
destOperation, WSDLInterface destInterface)
@@ -733,23 +730,23 @@
if (operationStyle == null)
{
- for (ExtensibilityElement extElement : (List<ExtensibilityElement>)
srcBinding.getExtensibilityElements())
+ for (ExtensibilityElement extElement :
(List<ExtensibilityElement>)srcBinding.getExtensibilityElements())
{
QName elementType = extElement.getElementType();
if (extElement instanceof SOAPBinding)
{
- SOAPBinding soapBinding = (SOAPBinding) extElement;
+ SOAPBinding soapBinding = (SOAPBinding)extElement;
operationStyle = soapBinding.getStyle();
}
else if (SOAP12_BINDING.equals(elementType))
{
- Element domElement = ((UnknownExtensibilityElement)
extElement).getElement();
+ Element domElement =
((UnknownExtensibilityElement)extElement).getElement();
operationStyle = getOptionalAttribute(domElement, "style");
}
}
}
- return ("rpc".equals(operationStyle)) ? Constants.URI_STYLE_RPC :
Constants.URI_STYLE_IRI;
+ return ("rpc".equals(operationStyle)) ? Constants.URI_STYLE_RPC :
Constants.URI_STYLE_DOC;
}
private void processBinding(Definition srcWsdl, Binding srcBinding)
@@ -894,11 +891,14 @@
interface ReferenceCallback
{
void removeReference(QName element);
+
void removeRPCPart(String partName);
+
QName getXmlType(String partName);
}
- private void processBindingInput(WSDLBindingOperation destBindingOperation, final
WSDLInterfaceOperation destIntfOperation, final BindingOperation srcBindingOperation,
BindingInput srcBindingInput)
+ private void processBindingInput(WSDLBindingOperation destBindingOperation, final
WSDLInterfaceOperation destIntfOperation,
+ final BindingOperation srcBindingOperation, BindingInput srcBindingInput)
{
log.trace("processBindingInput");
@@ -907,8 +907,7 @@
WSDLBindingOperationInput input = new
WSDLBindingOperationInput(destBindingOperation);
destBindingOperation.addInput(input);
- ReferenceCallback cb = new ReferenceCallback()
- {
+ ReferenceCallback cb = new ReferenceCallback() {
public QName getXmlType(String partName)
{
return
srcBindingOperation.getOperation().getInput().getMessage().getPart(partName).getTypeName();
@@ -931,7 +930,8 @@
processBindingReference(destBindingOperation, destIntfOperation, soap11Body,
extList, input, cb);
}
- private void processBindingOutput(WSDLBindingOperation destBindingOperation, final
WSDLInterfaceOperation destIntfOperation, final BindingOperation srcBindingOperation,
BindingOutput srcBindingOutput)
+ private void processBindingOutput(WSDLBindingOperation destBindingOperation, final
WSDLInterfaceOperation destIntfOperation,
+ final BindingOperation srcBindingOperation, BindingOutput srcBindingOutput)
{
log.trace("processBindingInput");
@@ -940,8 +940,7 @@
WSDLBindingOperationOutput output = new
WSDLBindingOperationOutput(destBindingOperation);
destBindingOperation.addOutput(output);
- ReferenceCallback cb = new ReferenceCallback()
- {
+ ReferenceCallback cb = new ReferenceCallback() {
public QName getXmlType(String partName)
{
return
srcBindingOperation.getOperation().getOutput().getMessage().getPart(partName).getTypeName();
@@ -965,9 +964,8 @@
processBindingReference(destBindingOperation, destIntfOperation, soap11Body,
extList, output, cb);
}
-
- private void processBindingReference(WSDLBindingOperation destBindingOperation,
WSDLInterfaceOperation destIntfOperation,
- QName soap11Body, List<ExtensibilityElement> extList,
WSDLBindingMessageReference reference, ReferenceCallback callback)
+ private void processBindingReference(WSDLBindingOperation destBindingOperation,
WSDLInterfaceOperation destIntfOperation, QName soap11Body,
+ List<ExtensibilityElement> extList, WSDLBindingMessageReference reference,
ReferenceCallback callback)
{
for (ExtensibilityElement extElement : extList)
{
@@ -988,7 +986,7 @@
throw new WSException("Could not determine element name from header:
" + partName);
reference.addSoapHeader(new WSDLSOAPHeader(elementName, partName));
- if (Constants.URI_STYLE_IRI == destIntfOperation.getStyle())
+ if (Constants.URI_STYLE_DOC == destIntfOperation.getStyle())
{
callback.removeReference(elementName);
}
@@ -1030,9 +1028,9 @@
// Found content types in this part
if (name != null)
{
- QName xmlType = callback.getXmlType(name);
+ QName xmlType = callback.getXmlType(name);
reference.addMimePart(new WSDLMIMEPart(name, xmlType, types));
- if (Constants.URI_STYLE_IRI == destIntfOperation.getStyle())
+ if (Constants.URI_STYLE_DOC == destIntfOperation.getStyle())
{
// A mime part must be defined as <part type="">
callback.removeReference(new QName(name));
@@ -1047,7 +1045,6 @@
}
}
-
private void processEncodingStyle(ExtensibilityElement extElement,
WSDLBindingOperation destBindingOperation)
{
log.trace("processEncodingStyle");
Modified:
trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceMessageReference.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceMessageReference.java 2006-10-19
15:10:32 UTC (rev 1273)
+++
trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceMessageReference.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -193,8 +193,6 @@
/**
* Gets the WSDL 1.1 part name.
- *
- * @return the part name
*/
public String getPartName()
{
@@ -202,6 +200,14 @@
}
/**
+ * Sets the WSDL 1.1 part name.
+ */
+ public void setPartName(String partName)
+ {
+ this.partName = partName;
+ }
+
+ /**
* Sets the WSDL 1.1 message name.
*
* @param messageName The part name
@@ -221,16 +227,6 @@
return messageName;
}
- /**
- * Sets the WSDL 1.1 part name.
- *
- * @param partName The part name
- */
- public void setPartName(String partName)
- {
- this.partName = partName;
- }
-
public int compareTo(Object o)
{
int c = -1;
Modified: trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceOperation.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceOperation.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDLInterfaceOperation.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -167,8 +167,7 @@
WSDLInterfaceOperationInput opInput = null;
for (WSDLInterfaceOperationInput auxInput : inputs.values())
{
- WSDLProperty property =
auxInput.getProperty(Constants.WSDL_PROPERTY_PART_NAME);
- if (property != null && property.getValue().equals(partName))
+ if (partName.equals(auxInput.getPartName()))
opInput = auxInput;
}
return opInput;
@@ -200,8 +199,7 @@
WSDLInterfaceOperationOutput opOutput = null;
for (WSDLInterfaceOperationOutput auxOutput : outputs.values())
{
- WSDLProperty property =
auxOutput.getProperty(Constants.WSDL_PROPERTY_PART_NAME);
- if (property != null && property.getValue().equals(partName))
+ if (partName.equals(auxOutput.getPartName()))
opOutput = auxOutput;
}
return opOutput;
Modified: trunk/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/WSSchemaUtils.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/WSSchemaUtils.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/metadata/wsdl/xmlschema/WSSchemaUtils.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -48,6 +48,7 @@
import org.jboss.ws.Constants;
import org.jboss.ws.WSException;
import org.jboss.ws.metadata.wsdl.xsd.SchemaUtils;
+import org.jboss.ws.utils.DOMWriter;
import org.jboss.xb.binding.NamespaceRegistry;
/**
@@ -569,7 +570,10 @@
buf.append("<restriction base='" + baseType +
"'>");
StringList list = ((XSSimpleTypeDefinition)xstype).getLexicalEnumeration();
for (int i = 0; i < list.getLength(); i++)
- buf.append("<enumeration value='" + list.item(i)
+"'/>");
+ {
+ String listItem = DOMWriter.normalize(list.item(i), false);
+ buf.append("<enumeration value='" + listItem
+"'/>");
+ }
buf.append("</restriction>");
}
buf.append("</simpleType>");
Modified: trunk/src/main/java/org/jboss/ws/tools/jaxws/WSDLGenerator.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/tools/jaxws/WSDLGenerator.java 2006-10-19 15:10:32
UTC (rev 1273)
+++ trunk/src/main/java/org/jboss/ws/tools/jaxws/WSDLGenerator.java 2006-10-20 12:12:17
UTC (rev 1274)
@@ -158,7 +158,7 @@
protected void processOperationDOC(WSDLInterfaceOperation interfaceOperation,
WSDLBindingOperation bindingOperation, OperationMetaData operation)
{
- interfaceOperation.setStyle(Constants.URI_STYLE_IRI);
+ interfaceOperation.setStyle(Constants.URI_STYLE_DOC);
WSDLInterfaceOperationInput input = new
WSDLInterfaceOperationInput(interfaceOperation);
WSDLBindingOperationInput bindingInput = new
WSDLBindingOperationInput(bindingOperation);
Modified: trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java 2006-10-19 15:10:32 UTC (rev
1273)
+++ trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java 2006-10-20 12:12:17 UTC (rev
1274)
@@ -98,12 +98,21 @@
private boolean wroteXMLDeclaration;
// The node that started the write
private Node rootNode;
-
+ // True if we want namespace completion
+ private boolean completeNamespaces = true;
+
public DOMWriter(Writer w)
{
this.out = new PrintWriter(w);
}
+ public DOMWriter(Writer w, String charsetName)
+ {
+ this.out = new PrintWriter(w);
+ this.charsetName = charsetName;
+ this.writeXMLDeclaration = true;
+ }
+
public DOMWriter(OutputStream stream)
{
try
@@ -157,6 +166,17 @@
return this;
}
+ /**
+ * Set wheter subelements should have their namespaces completed.
+ * Setting this to false may lead to invalid XML fragments.
+ * The default is true.
+ */
+ public DOMWriter setCompleteNamespaces(boolean complete)
+ {
+ this.completeNamespaces = complete;
+ return this;
+ }
+
public boolean isPrettyprint()
{
return prettyprint;
@@ -181,9 +201,9 @@
* Set wheter the XML declaration should be written.
* The default is false.
*/
- public DOMWriter setWriteXMLDeclaration(boolean writeXMLDeclaration)
+ public DOMWriter setWriteXMLDeclaration(boolean flag)
{
- this.writeXMLDeclaration = writeXMLDeclaration;
+ this.writeXMLDeclaration = flag;
return this;
}
@@ -210,7 +230,10 @@
if (charsetName != null)
out.print(" encoding='" + charsetName + "'");
- out.println("?>");
+ out.print("?>");
+ if (prettyprint)
+ out.println();
+
wroteXMLDeclaration = true;
}
@@ -232,7 +255,7 @@
break;
}
- // print element with attributes
+ // print element with attributes
case Node.ELEMENT_NODE:
{
Element element = (Element)node;
@@ -247,7 +270,7 @@
out.print('<');
out.print(nodeName);
-
+
Map nsMap = new HashMap();
String elPrefix = node.getPrefix();
if (elPrefix != null)
@@ -255,15 +278,15 @@
String nsURI = getNamespaceURI(elPrefix, element, rootNode);
nsMap.put(elPrefix, nsURI);
}
-
+
Attr attrs[] = sortAttributes(node.getAttributes());
for (int i = 0; i < attrs.length; i++)
{
Attr attr = attrs[i];
String atPrefix = attr.getPrefix();
String atName = attr.getNodeName();
- String atValue = normalize(attr.getNodeValue());
-
+ String atValue = normalize(attr.getNodeValue(), canonical);
+
if (atPrefix != null && !atPrefix.equals("xmlns")
&& !atPrefix.equals("xml"))
{
String nsURI = getNamespaceURI(atPrefix, element, rootNode);
@@ -277,20 +300,23 @@
nsMap.put(typePrefix, typeURI);
}
}
-
+
out.print(" " + atName + "='" + atValue +
"'");
}
-
+
// Add missing namespace declaration
- Iterator itPrefix = nsMap.keySet().iterator();
- while (itPrefix.hasNext())
+ if (completeNamespaces)
{
- String prefix = (String)itPrefix.next();
- String nsURI = (String)nsMap.get(prefix);
- if (nsURI == null)
+ Iterator itPrefix = nsMap.keySet().iterator();
+ while (itPrefix.hasNext())
{
- nsURI = getNamespaceURI(prefix, element, null);
- out.print(" xmlns:" + prefix + "='" + nsURI +
"'");
+ String prefix = (String)itPrefix.next();
+ String nsURI = (String)nsMap.get(prefix);
+ if (nsURI == null)
+ {
+ nsURI = getNamespaceURI(prefix, element, null);
+ out.print(" xmlns:" + prefix + "='" + nsURI
+ "'");
+ }
}
}
@@ -346,7 +372,7 @@
{
if (canonical)
{
- out.print(normalize(node.getNodeValue()));
+ out.print(normalize(node.getNodeValue(), canonical));
}
else
{
@@ -360,7 +386,7 @@
// print text
case Node.TEXT_NODE:
{
- String text = normalize(node.getNodeValue());
+ String text = normalize(node.getNodeValue(), canonical);
if (prettyprint == false || text.trim().length() > 0)
out.print(text);
break;
@@ -500,7 +526,7 @@
}
/** Normalizes the given string. */
- private String normalize(String s)
+ public static String normalize(String s, boolean canonical)
{
StringBuffer str = new StringBuffer();
Modified: trunk/src/test/ant/build-jars-jaxws.xml
===================================================================
--- trunk/src/test/ant/build-jars-jaxws.xml 2006-10-19 15:10:32 UTC (rev 1273)
+++ trunk/src/test/ant/build-jars-jaxws.xml 2006-10-20 12:12:17 UTC (rev 1274)
@@ -169,6 +169,7 @@
<war warfile="${build.test.dir}/libs/jaxws-jsr181-webparam.war"
webxml="${build.test.dir}/resources/jaxws/jsr181/webparam/WEB-INF/web.xml">
<classes dir="${build.test.dir}/classes">
<include
name="org/jboss/test/ws/jaxws/jsr181/webparam/PingService.class"/>
+ <include
name="org/jboss/test/ws/jaxws/jsr181/webparam/PingServiceImpl.class"/>
<include
name="org/jboss/test/ws/jaxws/jsr181/webparam/PingDocument*.class"/>
<include
name="org/jboss/test/ws/jaxws/jsr181/webparam/SecurityHeader.class"/>
</classes>
Modified: trunk/src/test/build.xml
===================================================================
--- trunk/src/test/build.xml 2006-10-19 15:10:32 UTC (rev 1273)
+++ trunk/src/test/build.xml 2006-10-20 12:12:17 UTC (rev 1274)
@@ -140,6 +140,7 @@
<!-- The jbossws client classpath -->
<path id="jbossws.client.classpath">
+ <pathelement location="${build.lib.dir}/${jbossws.client.jar}"/>
<pathelement location="${jboss.client}/activation.jar"/>
<pathelement location="${jboss.client}/commons-logging.jar"/>
<pathelement location="${jboss.client}/javassist.jar"/>
@@ -149,7 +150,6 @@
<pathelement location="${jboss.client}/jbossall-client.jar"/>
<pathelement location="${jboss.client}/jbossretro-rt.jar"/>
<pathelement
location="${jboss.client}/jboss-backport-concurrent.jar"/>
- <pathelement location="${jboss.client}/${jbossws.client.jar}"/>
<pathelement location="${jboss.client}/log4j.jar"/>
<pathelement location="${jboss.client}/mail.jar"/>
</path>
Modified: trunk/src/test/etc/log4j.xml
===================================================================
--- trunk/src/test/etc/log4j.xml 2006-10-19 15:10:32 UTC (rev 1273)
+++ trunk/src/test/etc/log4j.xml 2006-10-20 12:12:17 UTC (rev 1274)
@@ -53,7 +53,7 @@
<!-- ================ -->
<category name="org.jboss.ws">
- <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+ <priority value="DEBUG"/>
</category>
<category name="org.jboss.remoting">
Modified: trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java 2006-10-19
15:10:32 UTC (rev 1273)
+++ trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -66,7 +66,7 @@
// check the echoString operation
WSDLInterfaceOperation wsdlOperation = wsdlInterface.getOperation(new
NCName("echoString"));
- assertEquals(Constants.URI_STYLE_IRI, wsdlOperation.getStyle());
+ assertEquals(Constants.URI_STYLE_DOC, wsdlOperation.getStyle());
WSDLInterfaceOperationInput wsdlInput = wsdlOperation.getInput(new
QName(TARGET_NAMESPACE, "echoString"));
assertEquals(new QName(TARGET_NAMESPACE, "echoString"),
wsdlInput.getXMLType());
@@ -75,7 +75,7 @@
// check the echoSimpleUserType operation
wsdlOperation = wsdlInterface.getOperation(new
NCName("echoSimpleUserType"));
- assertEquals(Constants.URI_STYLE_IRI, wsdlOperation.getStyle());
+ assertEquals(Constants.URI_STYLE_DOC, wsdlOperation.getStyle());
wsdlInput = wsdlOperation.getInput(new QName(TARGET_NAMESPACE,
"echoSimpleUserType"));
assertEquals(new QName(TARGET_NAMESPACE, "echoSimpleUserType"),
wsdlInput.getXMLType());
Modified:
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/complex/client/JSR181ComplexTestCase.java
===================================================================
---
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/complex/client/JSR181ComplexTestCase.java 2006-10-19
15:10:32 UTC (rev 1273)
+++
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/complex/client/JSR181ComplexTestCase.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -21,18 +21,13 @@
*/
package org.jboss.test.ws.jaxws.jsr181.complex.client;
-import java.io.File;
-import java.net.URL;
import java.util.Arrays;
import java.util.Calendar;
-import javax.xml.rpc.Service;
-
import junit.framework.Test;
import org.jboss.test.ws.JBossWSTest;
import org.jboss.test.ws.JBossWSTestSetup;
-import org.jboss.ws.jaxrpc.ServiceFactoryImpl;
/**
*
@@ -48,18 +43,6 @@
return JBossWSTestSetup.newTestSetup(JSR181ComplexTestCase.class, /*
"jaxws-jsr181-complex.war" */ "");
}
- @Override
- protected void setUp() throws Exception
- {
- super.setUp();
-// URL wsdlURL = new URL("http://" + getServerHost() +
":8080/jaxws-jsr181-complex/RegistrationService?wsdl");
-// File mappingFile = new
File("resources/jaxws/jsr181/complex/jaxrpc-mapping.xml");
-// ServiceFactoryImpl factory = new ServiceFactoryImpl();
- //Service service = factory.createService(wsdlURL, null, mappingFile.toURL());
- //port = (RegistrationService) service.getPort(RegistrationService.class);
- }
-
-
public void testRegistration() throws Exception
{
System.out.println("FIXME: JBWS-1297");
Modified:
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/JSR181WebParamTestCase.java
===================================================================
---
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/JSR181WebParamTestCase.java 2006-10-19
15:10:32 UTC (rev 1273)
+++
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/JSR181WebParamTestCase.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -21,21 +21,15 @@
*/
package org.jboss.test.ws.jaxws.jsr181.webparam;
-import java.io.File;
import java.net.URL;
import javax.xml.namespace.QName;
-import javax.xml.rpc.ParameterMode;
-import javax.xml.rpc.Service;
+import javax.xml.ws.Service;
import junit.framework.Test;
import org.jboss.test.ws.JBossWSTest;
import org.jboss.test.ws.JBossWSTestSetup;
-import org.jboss.ws.jaxrpc.CallImpl;
-import org.jboss.ws.jaxrpc.ServiceFactoryImpl;
-import org.jboss.ws.metadata.OperationMetaData;
-import org.jboss.ws.metadata.ParameterMetaData;
/**
* Test the JSR-181 annotation: javax.jws.WebParam
@@ -56,21 +50,17 @@
public void testEcho() throws Exception
{
QName serviceName = new QName(targetNS, "PingServiceService");
- QName portName = new QName(targetNS, "PingServicePort");
URL wsdlURL = new URL(endpointURL + "?wsdl");
- File mappingFile = new
File("resources/jaxws/jsr181/webparam/jaxrpc-mapping.xml");
- assertTrue(mappingFile.exists());
+ Service service = Service.create(wsdlURL, serviceName);
+ PingService port = (PingService)service.getPort(PingService.class);
- ServiceFactoryImpl factory = new ServiceFactoryImpl();
- Service service = factory.createService(wsdlURL, serviceName,
mappingFile.toURL());
- CallImpl call = (CallImpl)service.createCall(portName, "echo");
-
PingDocument doc = new PingDocument("Hello Kermit");
- Object retObj = call.invoke(new Object[]{doc});
- assertEquals(doc, retObj);
+ PingDocument ret = port.echo(doc);
+ assertEquals(doc, ret);
}
+ /*
public void testPingOneWay() throws Exception
{
QName serviceName = new QName(targetNS, "PingServiceService");
@@ -145,4 +135,5 @@
Object retObj = call.invoke(new Object[]{doc, secHeader});
assertNull("Expected null return", retObj);
}
+ */
}
\ No newline at end of file
Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/PingService.java
===================================================================
---
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/PingService.java 2006-10-19
15:10:32 UTC (rev 1273)
+++
trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/webparam/PingService.java 2006-10-20
12:12:17 UTC (rev 1274)
@@ -28,8 +28,6 @@
import javax.jws.soap.SOAPBinding;
import javax.xml.ws.Holder;
-import org.jboss.logging.Logger;
-
/**
* Test the JSR-181 annotation: javax.jws.WebParam
*
@@ -38,36 +36,19 @@
*/
@WebService(targetNamespace = "http://www.openuri.org/jsr181/WebParamExample")
@SOAPBinding(style = SOAPBinding.Style.RPC)
-public class PingService
+public interface PingService
{
- // Provide logging
- private static Logger log = Logger.getLogger(PingService.class);
-
@WebMethod
- public PingDocument echo(PingDocument p)
- {
- log.info("echo: " + p);
- return p;
- }
+ public PingDocument echo(PingDocument p);
@Oneway
@WebMethod(operationName = "PingOneWay")
- public void ping(@WebParam(name = "Ping") PingDocument p)
- {
- log.info("ping: " + p);
- }
+ public void ping(@WebParam(name = "Ping") PingDocument p);
@WebMethod(operationName = "PingTwoWay")
- public void ping(@WebParam(name = "Ping", mode = WebParam.Mode.INOUT)
Holder<PingDocument> p)
- {
- log.info("ping: " + p.value);
- p.value = new PingDocument(p.value.getContent() + " Response");
- }
+ public void ping(@WebParam(name = "Ping", mode = WebParam.Mode.INOUT)
Holder<PingDocument> p);
@Oneway
@WebMethod(operationName = "SecurePing")
- public void ping(@WebParam(name = "Ping") PingDocument p, @WebParam(name =
"SecHeader", header = true) SecurityHeader secHdr)
- {
- log.info("ping: " + p + "," + secHdr);
- }
+ public void ping(@WebParam(name = "Ping") PingDocument p, @WebParam(name =
"SecHeader", header = true) SecurityHeader secHdr);
}
\ No newline at end of file
Modified: trunk/src/test/resources/jaxws/jsr181/webparam/WEB-INF/web.xml
===================================================================
--- trunk/src/test/resources/jaxws/jsr181/webparam/WEB-INF/web.xml 2006-10-19 15:10:32 UTC
(rev 1273)
+++ trunk/src/test/resources/jaxws/jsr181/webparam/WEB-INF/web.xml 2006-10-20 12:12:17 UTC
(rev 1274)
@@ -7,7 +7,7 @@
<servlet>
<servlet-name>TestService</servlet-name>
-
<servlet-class>org.jboss.test.ws.jaxws.jsr181.webparam.PingService</servlet-class>
+
<servlet-class>org.jboss.test.ws.jaxws.jsr181.webparam.PingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
Deleted: trunk/src/test/resources/jaxws/jsr181/webparam/jaxrpc-mapping.xml
===================================================================
--- trunk/src/test/resources/jaxws/jsr181/webparam/jaxrpc-mapping.xml 2006-10-19 15:10:32
UTC (rev 1273)
+++ trunk/src/test/resources/jaxws/jsr181/webparam/jaxrpc-mapping.xml 2006-10-20 12:12:17
UTC (rev 1274)
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<java-wsdl-mapping
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1"
-
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
-
- <package-mapping>
- <package-type>org.jboss.test.ws.jaxws.jsr181.webparam</package-type>
-
<
namespaceURI>http://www.openuri.org/jsr181/WebParamExample</namespa...
- </package-mapping>
-
-</java-wsdl-mapping>