Author: tho...@jb...
Date: 2006-07-05 06:55:12 -0400 (Wed, 05 Jul 2006)
New Revision: 562
Added:
trunk/src/main/java/org/jboss/ws/jaxws/client/DispatchImpl.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareServiceImpl.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocWrappedServiceImpl.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/ExampleSEI.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/ExampleServiceImpl.java
Removed:
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareService.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocWrappedService.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/ExampleService.java
trunk/src/test/resources/jsr181/soapbinding/bare-config.xml
trunk/src/test/resources/jsr181/soapbinding/bare-mapping.xml
trunk/src/test/resources/jsr181/soapbinding/jaxrpc-mapping.xml
trunk/src/test/resources/jsr181/soapbinding/wrapped-config.xml
trunk/src/test/resources/jsr181/soapbinding/wrapped-mapping.xml
Modified:
trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPServerHandler.java
trunk/src/main/java/org/jboss/ws/binding/EndpointInvocation.java
trunk/src/main/java/org/jboss/ws/binding/soap/JAXRPCBindingProvider.java
trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderMessage.java
trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderPayload.java
trunk/src/main/java/org/jboss/ws/deployment/AbstractAnnotationsMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JSR109ServerMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java
trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java
trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceImpl.java
trunk/src/main/java/org/jboss/ws/jaxws/client/PortProxy.java
trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java
trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java
trunk/src/main/java/org/jboss/ws/soap/SOAPMessageDispatcher.java
trunk/src/main/java/org/jboss/ws/tools/helpers/JavaToWSDLHelper.java
trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java
trunk/src/main/java/org/jboss/ws/tools/metadata/ReflectiveMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java
trunk/src/test/ant/build-jars.xml
trunk/src/test/java/org/jboss/test/ws/jbws860/JBWS860TestCase.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/JSR181SOAPBindingTestCase.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/SubmitBareRequest.java
trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/SubmitBareResponse.java
trunk/src/test/java/org/jboss/test/ws/jsr181/webmethod/JSR181WebMethodTestCase.java
trunk/src/test/java/org/jboss/test/ws/xop/XOPElementRPCTestCase.java
trunk/src/test/resources/jsr181/soapbinding/WEB-INF/web.xml
Log:
JBWS-1025: Implement javax.xml.ws.Dispatch
Modified: trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPServerHandler.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPServerHandler.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPServerHandler.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -154,7 +154,7 @@
outProps.setAction(ADDR_BUILDER.newURI(addrExt.getOutboundAction()));
}
else {
- log.warn("Unable to resolve replyAction for "+opMetaData.getXmlName());
+ log.warn("Unable to resolve replyAction for "+opMetaData.getQName());
}
}
Modified: trunk/src/main/java/org/jboss/ws/binding/EndpointInvocation.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/binding/EndpointInvocation.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/binding/EndpointInvocation.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -166,7 +166,7 @@
{
ParameterMetaData retMetaData = opMetaData.getReturnParameter();
if (value != null && retMetaData == null)
- throw new WSException("Operation does not have a return value: " + opMetaData.getXmlName());
+ throw new WSException("Operation does not have a return value: " + opMetaData.getQName());
log.debug("setReturnValue: " + getTypeName(value));
this.returnValue = value;
Modified: trunk/src/main/java/org/jboss/ws/binding/soap/JAXRPCBindingProvider.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/binding/soap/JAXRPCBindingProvider.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/binding/soap/JAXRPCBindingProvider.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -75,7 +75,7 @@
/** On the client side, generate the payload from IN parameters. */
public SOAPMessage bindRequestMessage(OperationMetaData opMetaData, EndpointInvocation epInv, Map<QName, UnboundHeader> unboundHeaders) throws BindingException
{
- log.debug("bindRequestMessage: " + opMetaData.getXmlName());
+ log.debug("bindRequestMessage: " + opMetaData.getQName());
try
{
@@ -97,7 +97,7 @@
Style style = opMetaData.getStyle();
if (style == Style.RPC)
{
- QName opQName = opMetaData.getXmlName();
+ QName opQName = opMetaData.getQName();
Name opName = new NameImpl(namespaceRegistry.registerQName(opQName));
log.debug("Create RPC body element: " + opName);
@@ -186,7 +186,7 @@
/** On the server side, extract the IN parameters from the payload and populate an Invocation object */
public EndpointInvocation unbindRequestMessage(OperationMetaData opMetaData, SOAPMessage reqMessage) throws BindingException
{
- log.debug("unbindRequestMessage: " + opMetaData.getXmlName());
+ log.debug("unbindRequestMessage: " + opMetaData.getQName());
try
{
@@ -306,7 +306,7 @@
/** On the server side, generate the payload from OUT parameters. */
public SOAPMessage bindResponseMessage(OperationMetaData opMetaData, EndpointInvocation epInv) throws BindingException
{
- log.debug("bindResponseMessage: " + opMetaData.getXmlName());
+ log.debug("bindResponseMessage: " + opMetaData.getQName());
try
{
@@ -439,7 +439,7 @@
public void unbindResponseMessage(OperationMetaData opMetaData, SOAPMessage resMessage, EndpointInvocation epInv, Map<QName, UnboundHeader> unboundHeaders)
throws BindingException
{
- log.debug("unbindResponseMessage: " + opMetaData.getXmlName());
+ log.debug("unbindResponseMessage: " + opMetaData.getQName());
try
{
Modified: trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderMessage.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderMessage.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderMessage.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -59,7 +59,7 @@
/** On the server side, extract the IN parameters from the payload and populate an Invocation object */
public EndpointInvocation unbindRequestMessage(OperationMetaData opMetaData, SOAPMessage reqMessage) throws BindingException
{
- log.debug("unbindRequestMessage: " + opMetaData.getXmlName());
+ log.debug("unbindRequestMessage: " + opMetaData.getQName());
try
{
@@ -86,7 +86,7 @@
/** On the server side, generate the payload from OUT parameters. */
public SOAPMessage bindResponseMessage(OperationMetaData opMetaData, EndpointInvocation epInv) throws BindingException
{
- log.debug("bindResponseMessage: " + opMetaData.getXmlName());
+ log.debug("bindResponseMessage: " + opMetaData.getQName());
try
{
Modified: trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderPayload.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderPayload.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/binding/soap/JAXWSBindingProviderPayload.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -64,7 +64,7 @@
/** On the server side, extract the IN parameters from the payload and populate an Invocation object */
public EndpointInvocation unbindRequestMessage(OperationMetaData opMetaData, SOAPMessage reqMessage) throws BindingException
{
- log.debug("unbindRequestMessage: " + opMetaData.getXmlName());
+ log.debug("unbindRequestMessage: " + opMetaData.getQName());
try
{
@@ -94,7 +94,7 @@
/** On the server side, generate the payload from OUT parameters. */
public SOAPMessage bindResponseMessage(OperationMetaData opMetaData, EndpointInvocation epInv) throws BindingException
{
- log.debug("bindResponseMessage: " + opMetaData.getXmlName());
+ log.debug("bindResponseMessage: " + opMetaData.getQName());
try
{
Modified: trunk/src/main/java/org/jboss/ws/deployment/AbstractAnnotationsMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/AbstractAnnotationsMetaDataBuilder.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/deployment/AbstractAnnotationsMetaDataBuilder.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -71,7 +71,7 @@
{
UnifiedMetaData wsMetaData = serviceMetaData.getUnifiedMetaData();
Thread.currentThread().setContextClassLoader(wsMetaData.getClassLoader());
- String serviceName = serviceMetaData.getName().getLocalPart();
+ String serviceName = serviceMetaData.getQName().getLocalPart();
JavaToWSDL javaToWSDL = new JavaToWSDL(Constants.NS_WSDL11);
javaToWSDL.setUnifiedMetaData(wsMetaData);
Modified: trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -104,7 +104,7 @@
private void buildMetaDataInternal(ServiceMetaData serviceMetaData, WSDLDefinitions wsdlDefinitions) throws IOException
{
- QName serviceQName = serviceMetaData.getName();
+ QName serviceQName = serviceMetaData.getQName();
// Get the WSDL service
WSDLService wsdlService = null;
@@ -114,7 +114,7 @@
throw new IllegalArgumentException("Expected a single service element");
wsdlService = wsdlDefinitions.getServices()[0];
- serviceMetaData.setName(wsdlService.getQName());
+ serviceMetaData.setQName(wsdlService.getQName());
}
else
{
@@ -195,7 +195,7 @@
private void buildParameterMetaDataRpc(OperationMetaData opMetaData, WSDLInterfaceOperation wsdlOperation, TypeMappingImpl typeMapping)
{
- log.trace("buildParameterMetaDataRpc: " + opMetaData.getXmlName());
+ log.trace("buildParameterMetaDataRpc: " + opMetaData.getQName());
TypesMetaData typesMetaData = opMetaData.getEndpointMetaData().getServiceMetaData().getTypesMetaData();
@@ -255,7 +255,7 @@
private void buildParameterMetaDataDoc(OperationMetaData opMetaData, WSDLInterfaceOperation wsdlOperation, TypeMappingImpl typeMapping)
{
- log.trace("buildParameterMetaDataDoc: " + opMetaData.getXmlName());
+ log.trace("buildParameterMetaDataDoc: " + opMetaData.getQName());
EndpointMetaData epMetaData = opMetaData.getEndpointMetaData();
ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
@@ -271,9 +271,6 @@
if (typeMetaData != null)
javaTypeName = typeMetaData.getJavaTypeName();
- if (javaTypeName == null)
- throw new WSException("Cannot obtain java type mapping for: " + xmlType);
-
// Check if we need to wrap the parameters
boolean isWrapParameters = false;
@@ -310,9 +307,6 @@
if (typesMetaData.getTypeMappingByXMLType(xmlType) != null)
javaTypeName = typesMetaData.getTypeMappingByXMLType(xmlType).getJavaTypeName();
- if (javaTypeName == null)
- throw new WSException("Cannot obtain java/xml type mapping for: " + xmlType);
-
if (hasReturnMapping)
{
ParameterMetaData retMetaData = new ParameterMetaData(opMetaData, xmlName, xmlType, javaTypeName);
Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -144,7 +144,7 @@
private void buildMetaDataInternal(ServiceMetaData serviceMetaData, WSDLDefinitions wsdlDefinitions, JavaWsdlMapping javaWsdlMapping,
UnifiedServiceRefMetaData serviceRefMetaData) throws IOException
{
- QName serviceQName = serviceMetaData.getName();
+ QName serviceQName = serviceMetaData.getQName();
// Get the WSDL service
WSDLService wsdlService = null;
@@ -154,7 +154,7 @@
throw new IllegalArgumentException("Expected a single service element");
wsdlService = wsdlDefinitions.getServices()[0];
- serviceMetaData.setName(wsdlService.getQName());
+ serviceMetaData.setQName(wsdlService.getQName());
}
else
{
Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -200,7 +200,7 @@
private void buildParameterMetaDataRpc(OperationMetaData opMetaData, WSDLInterfaceOperation wsdlOperation, ServiceEndpointMethodMapping seiMethodMapping,
TypeMappingImpl typeMapping)
{
- log.trace("buildParameterMetaDataRpc: " + opMetaData.getXmlName());
+ log.trace("buildParameterMetaDataRpc: " + opMetaData.getQName());
TypesMetaData typesMetaData = opMetaData.getEndpointMetaData().getServiceMetaData().getTypesMetaData();
@@ -416,7 +416,7 @@
private void buildParameterMetaDataDoc(OperationMetaData opMetaData, WSDLInterfaceOperation wsdlOperation, ServiceEndpointMethodMapping seiMethodMapping,
TypeMappingImpl typeMapping)
{
- log.trace("buildParameterMetaDataDoc: " + opMetaData.getXmlName());
+ log.trace("buildParameterMetaDataDoc: " + opMetaData.getQName());
EndpointMetaData epMetaData = opMetaData.getEndpointMetaData();
ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR109ServerMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR109ServerMetaDataBuilder.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR109ServerMetaDataBuilder.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -124,7 +124,7 @@
throw new WSException("Cannot find port in wsdl: " + portName);
// set service name
- serviceMetaData.setName(wsdlEndpoint.getWsdlService().getQName());
+ serviceMetaData.setQName(wsdlEndpoint.getWsdlService().getQName());
ServerEndpointMetaData sepMetaData = new ServerEndpointMetaData(serviceMetaData, portName);
sepMetaData.setPortComponentName(pcMetaData.getPortComponentName());
Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -289,8 +289,8 @@
if (opMetaData.isDocumentWrapped())
{
- xmlName = opMetaData.getXmlName();
- xmlType = opMetaData.getXmlName();
+ xmlName = opMetaData.getQName();
+ xmlType = opMetaData.getQName();
String requestWrapperType = null;
if (method.isAnnotationPresent(RequestWrapper.class))
@@ -551,7 +551,7 @@
private QName getWebParamName(OperationMetaData opMetaData, Map<String, Integer> typeIndexes, Class javaType, WebParam webParam)
{
QName xmlName = null;
- String namespaceURI = opMetaData.getXmlName().getNamespaceURI();
+ String namespaceURI = opMetaData.getQName().getNamespaceURI();
if (webParam != null)
{
if (webParam.targetNamespace().length() > 0)
@@ -566,7 +566,7 @@
}
if (xmlName == null && opMetaData.isDocumentBare())
- xmlName = new QName(namespaceURI, opMetaData.getXmlName().getLocalPart());
+ xmlName = new QName(namespaceURI, opMetaData.getQName().getLocalPart());
if (xmlName == null)
{
@@ -586,14 +586,14 @@
private QName getWebParamType(OperationMetaData opMetaData, Class javaType)
{
- String namespaceURI = opMetaData.getXmlName().getNamespaceURI();
+ String namespaceURI = opMetaData.getQName().getNamespaceURI();
return ToolsUtils.getXMLType(javaType, namespaceURI);
}
private QName getWebResultName(OperationMetaData opMetaData, Class javaType, WebResult anWebResult)
{
QName xmlName = null;
- String namespaceURI = opMetaData.getXmlName().getNamespaceURI();
+ String namespaceURI = opMetaData.getQName().getNamespaceURI();
if (anWebResult != null)
{
@@ -625,7 +625,7 @@
+ "@Oneway has a return value, declares any checked exceptions or has any INOUT or OUT parameters.");
String name = WSDLUtils.getInstance().getJustClassName(exception);
- QName xmlName = new QName(omd.getXmlName().getNamespaceURI(), name);
+ QName xmlName = new QName(omd.getQName().getNamespaceURI(), name);
FaultMetaData fmd = new FaultMetaData(omd, xmlName, xmlName, exception.getName());
omd.addFault(fmd);
Modified: trunk/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -134,7 +134,7 @@
if (opMetaData == null)
throw new WSException("Cannot obtain operation meta data for: " + methodName);
- call.setOperationName(opMetaData.getXmlName());
+ call.setOperationName(opMetaData.getQName());
try
{
Modified: trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -283,7 +283,7 @@
if (wrappedTypes == null)
throw new WSException("Cannot generate a type when their is no type information");
- String serviceName = serviceMetaData.getName().getLocalPart();
+ String serviceName = serviceMetaData.getQName().getLocalPart();
String parameterName = pmd.getXmlName().getLocalPart();
String endpointName = endpointMetaData.getQName().getLocalPart();
String packageName = endpointMetaData.getServiceEndpointInterface().getPackage().getName();
Modified: trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceImpl.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceImpl.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -135,7 +135,7 @@
*/
public QName getServiceName()
{
- return serviceMetaData.getName();
+ return serviceMetaData.getQName();
}
/**
@@ -232,7 +232,7 @@
List<Call> calls = new ArrayList<Call>();
for (OperationMetaData opMetaData : epMetaData.getOperations())
{
- Call call = createCall(portName, opMetaData.getXmlName());
+ Call call = createCall(portName, opMetaData.getQName());
calls.add(call);
}
Added: trunk/src/main/java/org/jboss/ws/jaxws/client/DispatchImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/client/DispatchImpl.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/jaxws/client/DispatchImpl.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -0,0 +1,276 @@
+/*
+ * 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.jaxws.client;
+
+// $Id$
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.StringReader;
+import java.util.Map;
+import java.util.concurrent.Future;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.namespace.QName;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Binding;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Dispatch;
+import javax.xml.ws.Response;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.Service.Mode;
+
+import org.jboss.logging.Logger;
+import org.jboss.util.NotImplementedException;
+import org.jboss.util.xml.DOMWriter;
+import org.jboss.ws.metadata.EndpointMetaData;
+import org.jboss.ws.metadata.ServiceMetaData;
+import org.jboss.ws.soap.SOAPBodyImpl;
+import org.jboss.ws.soap.SOAPConnectionImpl;
+
+/**
+ * The Dispatch interface provides support for the dynamic invocation of a service endpoint operations.
+ * The javax.xml.ws.Service interface acts as a factory for the creation of Dispatch instances.
+ *
+ * @author Tho...@jb...
+ * @since 04-Jul-2006
+ */
+public class DispatchImpl<T> implements Dispatch<T>
+{
+ // provide logging
+ private final Logger log = Logger.getLogger(DispatchImpl.class);
+
+ private BindingProvider bindingProvider = new BindingProviderImpl();
+ private EndpointMetaData epMetaData;
+ private JAXBContext jaxbContext;
+ private Class<T> type;
+ private Mode mode;
+
+ public DispatchImpl(ServiceMetaData serviceMetaData, QName portName, Class<T> type, Mode mode)
+ {
+ this.type = type;
+ this.mode = mode;
+ initDispatch(serviceMetaData, portName);
+ }
+
+ public DispatchImpl(ServiceMetaData serviceMetaData, QName portName, JAXBContext jbc, Mode mode)
+ {
+ this.jaxbContext = jbc;
+ this.mode = mode;
+ initDispatch(serviceMetaData, portName);
+ }
+
+ public Object invoke(Object obj)
+ {
+ SOAPMessage reqMsg = getRequestMessage(obj);
+ try
+ {
+ String targetAddress = epMetaData.getEndpointAddress();
+ SOAPMessage resMsg = new SOAPConnectionImpl().call(reqMsg, targetAddress);
+ Object retObj = getReturnObject(resMsg);
+ return retObj;
+ }
+ catch (SOAPException ex)
+ {
+ throw new WebServiceException("Cannot dispatch request message");
+ }
+ }
+
+ public Response invokeAsync(Object obj)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Future invokeAsync(Object obj, AsyncHandler asynchandler)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void invokeOneWay(Object obj)
+ {
+ SOAPMessage reqMsg = getRequestMessage(obj);
+ try
+ {
+ String targetAddress = epMetaData.getEndpointAddress();
+ new SOAPConnectionImpl().callOneWay(reqMsg, targetAddress);
+ }
+ catch (SOAPException ex)
+ {
+ throw new WebServiceException("Cannot dispatch request message");
+ }
+ }
+
+ public Map<String, Object> getRequestContext()
+ {
+ return bindingProvider.getRequestContext();
+ }
+
+ public Map<String, Object> getResponseContext()
+ {
+ return bindingProvider.getResponseContext();
+ }
+
+ public Binding getBinding()
+ {
+ return bindingProvider.getBinding();
+ }
+
+ private void initDispatch(ServiceMetaData serviceMetaData, QName portName)
+ {
+ epMetaData = serviceMetaData.getEndpoint(portName);
+ if (epMetaData == null && serviceMetaData.getEndpoints().size() == 1)
+ {
+ log.warn("Cannot find port meta data for: " + portName);
+ epMetaData = serviceMetaData.getEndpoints().get(0);
+ }
+ if (epMetaData == null)
+ throw new WebServiceException("Cannot find port meta data for: " + portName);
+
+ if (type == SOAPMessage.class && mode == Mode.MESSAGE)
+ {
+ // accepted
+ }
+ else if (type == Source.class)
+ {
+ // accepted
+ }
+ else if (jaxbContext != null && mode == Mode.PAYLOAD)
+ {
+ // accepted
+ }
+ else
+ {
+ throw new WebServiceException("Unsupported type/mode: " + (type != null ? type.getName() : null) + "/" + mode);
+ }
+ }
+
+ private SOAPMessage getRequestMessage(Object obj)
+ {
+ SOAPMessage reqMsg = null;
+ try
+ {
+ MessageFactory factory = MessageFactory.newInstance();
+ if (type == SOAPMessage.class)
+ {
+ reqMsg = (SOAPMessage)obj;
+ }
+ else if (type == Source.class)
+ {
+ Source source = (Source)obj;
+ if (mode == Mode.PAYLOAD)
+ {
+ reqMsg = factory.createMessage();
+ SOAPBodyImpl soapBody = (SOAPBodyImpl)reqMsg.getSOAPBody();
+ soapBody.setPayload(source);
+ }
+ if (mode == Mode.MESSAGE)
+ {
+ TransformerFactory tf = TransformerFactory.newInstance();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+ tf.newTransformer().transform(source, new StreamResult(baos));
+ reqMsg = factory.createMessage(null, new ByteArrayInputStream(baos.toByteArray()));
+ }
+ }
+ else if (jaxbContext != null)
+ {
+ Marshaller marshaller = jaxbContext.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+ marshaller.marshal(obj, baos);
+
+ reqMsg = factory.createMessage();
+ SOAPBodyImpl soapBody = (SOAPBodyImpl)reqMsg.getSOAPBody();
+ StreamSource source = new StreamSource(new ByteArrayInputStream(baos.toByteArray()));
+ soapBody.setPayload(source);
+ }
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException("Cannot create request message", ex);
+ }
+
+ if (reqMsg == null)
+ throw new WebServiceException("Cannot create request message for: " + obj);
+
+ return reqMsg;
+ }
+
+ private Object getReturnObject(SOAPMessage resMsg)
+ {
+ Object retObj = null;
+ try
+ {
+ if (type == SOAPMessage.class)
+ {
+ retObj = resMsg;
+ }
+ else if (type == Source.class)
+ {
+ if (mode == Mode.PAYLOAD)
+ {
+ SOAPBodyImpl soapBody = (SOAPBodyImpl)resMsg.getSOAPBody();
+ SOAPElement soapElement = (SOAPElement)soapBody.getChildElements().next();
+ String xmlPayload = DOMWriter.printNode(soapElement, false);
+ retObj = new StreamSource(new StringReader(xmlPayload));
+ }
+ if (mode == Mode.MESSAGE)
+ {
+ SOAPEnvelope soapEnvelope = resMsg.getSOAPPart().getEnvelope();
+ String xmlMessage = DOMWriter.printNode(soapEnvelope, false);
+ retObj = new StreamSource(new StringReader(xmlMessage));
+ }
+ }
+ else if (jaxbContext != null)
+ {
+ SOAPBodyImpl soapBody = (SOAPBodyImpl)resMsg.getSOAPBody();
+ SOAPElement soapElement = (SOAPElement)soapBody.getChildElements().next();
+
+ Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
+ retObj = unmarshaller.unmarshal(soapElement);
+ }
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException("Cannot create request message", ex);
+ }
+ return retObj;
+ }
+}
Property changes on: trunk/src/main/java/org/jboss/ws/jaxws/client/DispatchImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/src/main/java/org/jboss/ws/jaxws/client/PortProxy.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/client/PortProxy.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/jaxws/client/PortProxy.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -103,7 +103,7 @@
if (opMetaData == null)
throw new WSException("Cannot obtain operation meta data for: " + methodName);
- QName opName = opMetaData.getXmlName();
+ QName opName = opMetaData.getQName();
try
{
Modified: trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -27,6 +27,7 @@
import java.net.URL;
import java.net.URLClassLoader;
import java.rmi.Remote;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.concurrent.Executor;
@@ -42,6 +43,7 @@
import org.jboss.util.NotImplementedException;
import org.jboss.ws.deployment.JAXWSClientMetaDataBuilder;
import org.jboss.ws.jaxrpc.MetaDataSynchronization;
+import org.jboss.ws.jaxws.client.DispatchImpl;
import org.jboss.ws.jaxws.client.JAXWSClient;
import org.jboss.ws.jaxws.client.PortProxy;
import org.jboss.ws.metadata.EndpointMetaData;
@@ -106,6 +108,10 @@
}
@Override
+ /**
+ * The getPort method returns a stub. A service client uses this stub to invoke operations on the target service endpoint.
+ * The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy or stub instance.
+ */
public <T> T getPort(Class<T> seiClass)
{
return getPort(null, seiClass);
@@ -120,31 +126,40 @@
@Override
public <T> Dispatch<T> createDispatch(QName qname, Class<T> type, Mode mode)
{
- throw new NotImplementedException();
+ DispatchImpl dispatch = new DispatchImpl(serviceMetaData, qname, type, mode);
+ return dispatch;
}
@Override
- public Dispatch<Object> createDispatch(QName qname, JAXBContext jaxbcontext, Mode mode)
+ public Dispatch<Object> createDispatch(QName qname, JAXBContext jbc, Mode mode)
{
- throw new NotImplementedException();
+ DispatchImpl dispatch = new DispatchImpl(serviceMetaData, qname, jbc, mode);
+ return dispatch;
}
+ /** Gets the name of this service. */
@Override
public QName getServiceName()
{
- throw new NotImplementedException();
+ return serviceMetaData.getQName();
}
+ /** Returns an Iterator for the list of QNames of service endpoints grouped by this service */
@Override
- public Iterator getPorts()
+ public Iterator<QName> getPorts()
{
- throw new NotImplementedException();
+ ArrayList<QName> portNames = new ArrayList<QName>();
+ for (EndpointMetaData epMetaData : serviceMetaData.getEndpoints())
+ {
+ portNames.add(epMetaData.getQName());
+ }
+ return portNames.iterator();
}
@Override
public URL getWSDLDocumentLocation()
{
- throw new NotImplementedException();
+ return serviceMetaData.getWsdlLocation();
}
@Override
Modified: trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -299,7 +299,7 @@
OperationMetaData opMetaData = null;
for (OperationMetaData auxOperation : operations)
{
- QName opQName = auxOperation.getXmlName();
+ QName opQName = auxOperation.getQName();
if (opQName.equals(xmlName))
{
if (opMetaData == null)
Modified: trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -56,7 +56,7 @@
// The parent interface
private EndpointMetaData epMetaData;
- private QName xmlName;
+ private QName qname;
private QName responseName;
private String javaName;
private Method javaMethod;
@@ -66,33 +66,33 @@
private List<FaultMetaData> faults = new ArrayList<FaultMetaData>();
private ParameterMetaData returnParam;
- public OperationMetaData(QName xmlName, String javaName)
+ public OperationMetaData(QName qname, String javaName)
{
UnifiedMetaData umd = new UnifiedMetaData();
ServiceMetaData smd = new ServiceMetaData(umd, new QName("mock-service"));
ServerEndpointMetaData epmd = new ServerEndpointMetaData(smd, new QName("mock-endpoint"));
- initOperationMetaData(epmd, xmlName, javaName);
+ initOperationMetaData(epmd, qname, javaName);
}
- public OperationMetaData(EndpointMetaData epMetaData, QName xmlName, String javaName)
+ public OperationMetaData(EndpointMetaData epMetaData, QName qname, String javaName)
{
- log.trace("new OperationMetaData: [xmlName=" + xmlName + ",javaName=" + javaName + "]");
- initOperationMetaData(epMetaData, xmlName, javaName);
+ log.trace("new OperationMetaData: [xmlName=" + qname + ",javaName=" + javaName + "]");
+ initOperationMetaData(epMetaData, qname, javaName);
}
- private void initOperationMetaData(EndpointMetaData epMetaData, QName xmlName, String javaName)
+ private void initOperationMetaData(EndpointMetaData epMetaData, QName qname, String javaName)
{
this.epMetaData = epMetaData;
- this.xmlName = xmlName;
+ this.qname = qname;
this.javaName = javaName;
- if (xmlName == null)
- throw new IllegalArgumentException("Invalid null xmlName argument");
+ if (qname == null)
+ throw new IllegalArgumentException("Invalid null qname argument");
if (javaName == null)
- throw new IllegalArgumentException("Invalid null javaName argument, for: " + xmlName);
+ throw new IllegalArgumentException("Invalid null javaName argument, for: " + qname);
- String nsURI = xmlName.getNamespaceURI();
- String localPart = xmlName.getLocalPart();
+ String nsURI = qname.getNamespaceURI();
+ String localPart = qname.getLocalPart();
this.responseName = new QName(nsURI, localPart + "Response");
}
@@ -101,9 +101,9 @@
return epMetaData;
}
- public QName getXmlName()
+ public QName getQName()
{
- return xmlName;
+ return qname;
}
public QName getResponseName()
@@ -493,7 +493,7 @@
public String toString()
{
StringBuilder buffer = new StringBuilder("\nOperationMetaData:");
- buffer.append("\n xmlName=" + xmlName);
+ buffer.append("\n xmlName=" + qname);
buffer.append("\n javaName=" + javaName);
buffer.append("\n style=" + getStyle() + "/" + getUse() + (getStyle() == Style.DOCUMENT ? "/" + getParameterStyle() : ""));
buffer.append("\n oneWay=" + oneWayOperation);
Modified: trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -72,7 +72,7 @@
// The service endpoints
private Map<QName, EndpointMetaData> endpoints = new LinkedHashMap<QName, EndpointMetaData>();
- private QName name;
+ private QName qname;
private String wsdName;
private String wsdlFile;
private String jaxrpcMappingFile;
@@ -95,7 +95,7 @@
public ServiceMetaData(UnifiedMetaData wsMetaData, QName name)
{
this.wsMetaData = wsMetaData;
- this.name = name;
+ this.qname = name;
this.types = new TypesMetaData(this);
}
@@ -104,14 +104,14 @@
return wsMetaData;
}
- public void setName(QName name)
+ public void setQName(QName name)
{
- this.name = name;
+ this.qname = name;
}
- public QName getName()
+ public QName getQName()
{
- return name;
+ return qname;
}
public String getWebserviceDescriptionName()
@@ -253,7 +253,22 @@
WSDLDefinitions wsdlDefinitions = (WSDLDefinitions)wsMetaData.getWSDLDefinition(wsdlFile);
if (wsdlDefinitions == null && wsdlFile != null)
{
- URL wsdlLocation = null;
+ URL wsdlLocation = getWsdlLocation();
+ if (wsdlLocation == null)
+ throw new IllegalArgumentException("Cannot find wsdl in deployment: " + wsdlFile);
+
+ WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
+ wsdlDefinitions = factory.parse(wsdlLocation);
+ wsMetaData.addWSDLDefinition(wsdlFile, wsdlDefinitions);
+ }
+ return wsdlDefinitions;
+ }
+
+ public URL getWsdlLocation()
+ {
+ URL wsdlLocation = null;
+ if (wsdlFile != null)
+ {
try
{
wsdlLocation = new URL(wsdlFile);
@@ -266,14 +281,8 @@
{
wsdlLocation = wsMetaData.getResourceLoader().getResource(wsdlFile);
}
- if (wsdlLocation == null)
- throw new IllegalArgumentException("Cannot find wsdl in deployment: " + wsdlFile);
-
- WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
- wsdlDefinitions = factory.parse(wsdlLocation);
- wsMetaData.addWSDLDefinition(wsdlFile, wsdlDefinitions);
- }
- return wsdlDefinitions;
+ }
+ return wsdlLocation;
}
public TypeMappingImpl getTypeMapping()
@@ -366,14 +375,14 @@
/** Assert that the given namespace is the WSDL's target namespace */
public void assertTargetNamespace(String targetNS)
{
- if (getName().getNamespaceURI().equals(targetNS) == false)
+ if (getQName().getNamespaceURI().equals(targetNS) == false)
throw new WSException("Requested namespace is not WSDL target namespace: " + targetNS);
}
public String toString()
{
StringBuilder buffer = new StringBuilder("\nServiceMetaData:");
- buffer.append("\n name=" + name);
+ buffer.append("\n name=" + qname);
buffer.append("\n wsdName=" + wsdName);
buffer.append("\n wsdlFile=" + wsdlFile);
buffer.append("\n jaxrpcFile=" + jaxrpcMappingFile);
Modified: trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -98,14 +98,21 @@
*/
public SOAPMessage call(SOAPMessage reqMessage, Object endpoint) throws SOAPException
{
- return call(reqMessage, endpoint, false);
+ return callInternal(reqMessage, endpoint, false);
}
/**
- * Sends the given message to the specified endpoint.
+ * Sends the given message to the specified endpoint. This method is logically
+ * non blocking.
*/
- public SOAPMessage call(SOAPMessage reqMessage, Object endpoint, boolean oneway) throws SOAPException
+ public SOAPMessage callOneWay(SOAPMessage reqMessage, Object endpoint) throws SOAPException
{
+ return callInternal(reqMessage, endpoint, true);
+ }
+
+ /** Sends the given message to the specified endpoint. */
+ private SOAPMessage callInternal(SOAPMessage reqMessage, Object endpoint, boolean oneway) throws SOAPException
+ {
if (reqMessage == null)
throw new IllegalArgumentException("Given SOAPMessage cannot be null");
if (endpoint == null)
Modified: trunk/src/main/java/org/jboss/ws/soap/SOAPMessageDispatcher.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/soap/SOAPMessageDispatcher.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/soap/SOAPMessageDispatcher.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -111,7 +111,7 @@
}
}
- log.debug("getDispatchDestination: " + (opMetaData != null ? opMetaData.getXmlName() : null));
+ log.debug("getDispatchDestination: " + (opMetaData != null ? opMetaData.getQName() : null));
return opMetaData;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/jboss/ws/tools/helpers/JavaToWSDLHelper.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/tools/helpers/JavaToWSDLHelper.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/tools/helpers/JavaToWSDLHelper.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -192,7 +192,7 @@
wsdl.addInterface(wsdlInterface);
}
- QName xmlName = op.getXmlName();
+ QName xmlName = op.getQName();
String opname = xmlName.getLocalPart();
if(opname == null || opname.length() == 0)
throw new WSException("opname is null or blank");
@@ -267,7 +267,7 @@
wsdl.addBinding(wsdlBinding);
}
- String opname = op.getXmlName().getLocalPart();
+ String opname = op.getQName().getLocalPart();
//Operation Level
WSDLBindingOperation wsdlBindingOperation = new WSDLBindingOperation(wsdlBinding);
wsdlBindingOperation.setRef(new QName(wsdl.getTargetNamespace(), opname));
@@ -326,7 +326,7 @@
{
if(endpoint == null)
throw new WSException("Illegal Null Argument: endpt");
- String serviceName = endpoint.getServiceMetaData().getName().getLocalPart();
+ String serviceName = endpoint.getServiceMetaData().getQName().getLocalPart();
//Create a WSDLService
WSDLService wsdlService = new WSDLService(wsdl);
@@ -361,7 +361,7 @@
*/
private void buildServiceMapping(EndpointMetaData endpoint, String interfaceName)
{
- QName origQName = endpoint.getServiceMetaData().getName();
+ QName origQName = endpoint.getServiceMetaData().getQName();
String serviceInterfaceName = endpoint.getServiceEndpointInterface().getPackage().getName() + "." + origQName.getLocalPart();
QName serviceQName = new QName(origQName.getNamespaceURI(), origQName.getLocalPart(), "serviceNS");
@@ -385,7 +385,7 @@
{
ServiceEndpointMethodMapping methodMapping = new ServiceEndpointMethodMapping(seiMapping);
methodMapping.setJavaMethodName(operation.getJavaName());
- methodMapping.setWsdlOperation(operation.getXmlName().getLocalPart());
+ methodMapping.setWsdlOperation(operation.getQName().getLocalPart());
boolean isWrapped = operation.isDocumentWrapped();
methodMapping.setWrappedElement(isWrapped);
int i = 0;
@@ -477,7 +477,7 @@
WsdlMessageMapping messageMapping = new WsdlMessageMapping(paramMapping);
messageMapping.setWsdlMessagePartName(name);
- String messageName = interfaceName + "_" + operation.getXmlName().getLocalPart();
+ String messageName = interfaceName + "_" + operation.getQName().getLocalPart();
if ("OUT".equals(mode))
messageName += "Response";
QName messageQName = new QName(wsdl.getTargetNamespace(), messageName, "wsdlMsgNS");
@@ -494,7 +494,7 @@
WsdlReturnValueMapping returnMapping = new WsdlReturnValueMapping(methodMapping);
returnMapping.setMethodReturnValue(type);
returnMapping.setWsdlMessagePartName(name);
- String messageName = interfaceName + "_" + operation.getXmlName().getLocalPart() + "Response";;
+ String messageName = interfaceName + "_" + operation.getQName().getLocalPart() + "Response";;
QName messageQName = new QName(wsdl.getTargetNamespace(), messageName, "wsdlMsgNS");
returnMapping.setWsdlMessage(messageQName);
methodMapping.setWsdlReturnValueMapping(returnMapping);
Modified: trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -218,14 +218,14 @@
{
for (ParameterMetaData parameter : operation.getParameters())
{
- String name = endpointClass.getSimpleName() + "_" + operation.getXmlName().getLocalPart() + "_RequestStruct";
+ String name = endpointClass.getSimpleName() + "_" + operation.getQName().getLocalPart() + "_RequestStruct";
createWrapperType(parameter, name, packageName, index, classLoader, outDir);
}
ParameterMetaData returnParameter = operation.getReturnParameter();
if (returnParameter != null)
{
- String name = endpointClass.getSimpleName() + "_" + operation.getXmlName().getLocalPart() + "_ResponseStruct";
+ String name = endpointClass.getSimpleName() + "_" + operation.getQName().getLocalPart() + "_ResponseStruct";
createWrapperType(returnParameter, name, packageName, index, classLoader, outDir);
}
}
Modified: trunk/src/main/java/org/jboss/ws/tools/metadata/ReflectiveMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/tools/metadata/ReflectiveMetaDataBuilder.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/tools/metadata/ReflectiveMetaDataBuilder.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -154,7 +154,7 @@
if (om.isDocumentWrapped())
{
- QName xmlName = new QName(tmd.typeNamespace, om.getXmlName().getLocalPart());
+ QName xmlName = new QName(tmd.typeNamespace, om.getQName().getLocalPart());
QName xmlType = xmlName;
wrappedParameter = new ParameterMetaData(om, xmlName, xmlType, null);
@@ -276,7 +276,7 @@
private ParameterMetaData getParameterMetaData(Class type, OperationMetaData om, OperationConfig config, int index)
{
QName xmlType = ToolsUtils.getXMLType(type, tmd.typeNamespace);
- QName xmlName = getXmlName(type, config, index, om.isDocumentBare() ? om.getXmlName().getLocalPart() : null);
+ QName xmlName = getXmlName(type, config, index, om.isDocumentBare() ? om.getQName().getLocalPart() : null);
ParameterMetaData pm = new ParameterMetaData(om, xmlName, xmlType, type.getName());
pm.setInHeader(isHeaderParameter(config, index));
Modified: trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -127,7 +127,7 @@
opMetaData = soapMessage.getOperationMetaData(epMetaData);
}
- String operation = opMetaData.getXmlName().toString();
+ String operation = opMetaData.getQName().toString();
String port = opMetaData.getEndpointMetaData().getQName().getLocalPart();
if (hasRequirements(config, operation, port))
@@ -154,7 +154,7 @@
opMetaData = soapMessage.getOperationMetaData(epMetaData);
}
- String operation = opMetaData.getXmlName().toString();
+ String operation = opMetaData.getQName().toString();
String port = opMetaData.getEndpointMetaData().getQName().getLocalPart();
List<OperationDescription<RequireOperation>> operations = buildRequireOperations(config, operation, port);
@@ -227,7 +227,7 @@
SOAPMessageImpl soapMessage = (SOAPMessageImpl)ctx.getMessage();
OperationMetaData opMetaData = ctx.getOperationMetaData();
- String operation = opMetaData.getXmlName().toString();
+ String operation = opMetaData.getQName().toString();
String port = opMetaData.getEndpointMetaData().getQName().getLocalPart();
Config operationConfig = getConfig(config, port, operation);
Modified: trunk/src/test/ant/build-jars.xml
===================================================================
--- trunk/src/test/ant/build-jars.xml 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/test/ant/build-jars.xml 2006-07-05 10:55:12 UTC (rev 562)
@@ -676,9 +676,9 @@
<!-- jbossws-jsr181-soapbinding -->
<war warfile="${build.test.dir}/libs/jbossws-jsr181-soapbinding.war" webxml="${build.test.dir}/resources/jsr181/soapbinding/WEB-INF/web.xml">
<classes dir="${build.test.dir}/classes">
- <include name="org/jboss/test/ws/jsr181/soapbinding/DocBareService.class"/>
- <include name="org/jboss/test/ws/jsr181/soapbinding/DocWrappedService.class"/>
- <include name="org/jboss/test/ws/jsr181/soapbinding/ExampleService.class"/>
+ <include name="org/jboss/test/ws/jsr181/soapbinding/DocBareServiceImpl.class"/>
+ <include name="org/jboss/test/ws/jsr181/soapbinding/DocWrappedServiceImpl.class"/>
+ <include name="org/jboss/test/ws/jsr181/soapbinding/ExampleServiceImpl.class"/>
<include name="org/jboss/test/ws/jsr181/soapbinding/SubmitBareRequest.class"/>
<include name="org/jboss/test/ws/jsr181/soapbinding/SubmitBareResponse.class"/>
<include name="org/jboss/test/ws/jsr181/soapbinding/PurchaseOrder.class"/>
Modified: trunk/src/test/java/org/jboss/test/ws/jbws860/JBWS860TestCase.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jbws860/JBWS860TestCase.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/test/java/org/jboss/test/ws/jbws860/JBWS860TestCase.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -57,7 +57,7 @@
assertNotNull(wsdlDef);
}
- public void testHervletAccess() throws Exception
+ public void testServletAccess() throws Exception
{
HttpURLConnection con = (HttpURLConnection)new URL("http://" + getServerHost() + ":8080/test/TestServlet").openConnection();
BufferedReader isr = new BufferedReader(new InputStreamReader(con.getInputStream()));
Deleted: trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareService.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareService.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareService.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -1,62 +0,0 @@
-/*
- * 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.test.ws.jsr181.soapbinding;
-
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-
-import org.jboss.logging.Logger;
-
-/**
- * Test the JSR-181 annotation: javax.jws.SOAPBinding
- *
- * @author Tho...@jb...
- * @author <a href="mailto:jas...@jb...">Jason T. Greene</a>
- * @since 16-Oct-2005
- */
-@WebService
-@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
-public class DocBareService
-{
- // Provide logging
- private static Logger log = Logger.getLogger(ExampleService.class);
-
- @WebMethod(operationName = "SubmitPO")
- public SubmitBareResponse submitPO(SubmitBareRequest poRequest)
- {
- log.info("submitPO: " + poRequest);
- SubmitBareResponse poResponse = new SubmitBareResponse(poRequest.getProduct());
- return poResponse;
- }
-
- @WebMethod(operationName = "SubmitNamespacedPO")
- @WebResult(targetNamespace = "http://namespace/result", name="SubmitBareResponse")
- public SubmitBareResponse submitNamespacedPO(@WebParam(targetNamespace = "http://namespace/request") SubmitBareRequest poRequest)
- {
- log.info("submitNamespacedPO: " + poRequest);
- SubmitBareResponse poResponse = new SubmitBareResponse(poRequest.getProduct());
- return poResponse;
- }
-}
Copied: trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareServiceImpl.java (from rev 545, trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareService.java)
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareService.java 2006-07-03 17:31:58 UTC (rev 545)
+++ trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocBareServiceImpl.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -0,0 +1,62 @@
+/*
+ * 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.test.ws.jsr181.soapbinding;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+import org.jboss.logging.Logger;
+
+/**
+ * Test the JSR-181 annotation: javax.jws.SOAPBinding
+ *
+ * @author Tho...@jb...
+ * @author <a href="mailto:jas...@jb...">Jason T. Greene</a>
+ * @since 16-Oct-2005
+ */
+@WebService(serviceName = "DocBareService", name = "DocBareServicePort")
+@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+public class DocBareServiceImpl
+{
+ // Provide logging
+ private static Logger log = Logger.getLogger(ExampleServiceImpl.class);
+
+ @WebMethod(operationName = "SubmitPO")
+ public SubmitBareResponse submitPO(SubmitBareRequest poRequest)
+ {
+ log.info("submitPO: " + poRequest);
+ SubmitBareResponse poResponse = new SubmitBareResponse(poRequest.getProduct());
+ return poResponse;
+ }
+
+ @WebMethod(operationName = "SubmitNamespacedPO")
+ @WebResult(targetNamespace = "http://namespace/result", name = "SubmitBareResponse")
+ public SubmitBareResponse submitNamespacedPO(@WebParam(targetNamespace = "http://namespace/request") SubmitBareRequest poRequest)
+ {
+ log.info("submitNamespacedPO: " + poRequest);
+ SubmitBareResponse poResponse = new SubmitBareResponse(poRequest.getProduct());
+ return poResponse;
+ }
+}
Deleted: trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocWrappedService.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocWrappedService.java 2006-07-05 09:22:32 UTC (rev 561)
+++ trunk/src/test/java/org/jboss/test/ws/jsr181/soapbinding/DocWrappedService.java 2006-07-05 10:55:12 UTC (rev 562)
@@ -1,68 +0,0 @@
-/*
- * 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 listin...
[truncated message content] |