[jbossws-commits] JBossWS SVN: r3399 - in trunk/jbossws-core/src: main/java/org/jboss/ws/core/soap and 1 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Sat Jun 2 19:12:55 EDT 2007
Author: thomas.diesler at jboss.com
Date: 2007-06-02 19:12:55 -0400 (Sat, 02 Jun 2007)
New Revision: 3399
Added:
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647TestBase.java
Removed:
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/TestCaseBase.java
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/TextImpl.java
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/AbstractHandler.java
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/DocumentHandler.java
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647DocumentTestCase.java
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647RPCTestCase.java
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/RpcHandler.java
Log:
[JBWS-1647] Text Node Preservation For Messages Sent Across The Wire
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -288,14 +288,25 @@
if (opMetaData.isMessageEndpoint() == false)
{
Style style = opMetaData.getStyle();
- SOAPElement soapBodyElement = soapBody;
+ SOAPElement payloadParent = soapBody;
if (style == Style.RPC)
{
- soapBodyElement = (SOAPBodyElement)soapBody.getChildElements().next();
- Name elName = soapBodyElement.getElementName();
-
- QName elQName = new QName(elName.getURI(), elName.getLocalName(), elName.getPrefix());
- elQName = namespaceRegistry.registerQName(elQName);
+ payloadParent = null;
+ Iterator it = soapBody.getChildElements();
+ while (payloadParent == null && it.hasNext())
+ {
+ Object childNode = it.next();
+ if (childNode instanceof SOAPElement)
+ {
+ payloadParent = (SOAPElement)childNode;
+ }
+ }
+
+ if (payloadParent == null)
+ throw new SOAPException("Cannot find RPC element in");
+
+ QName elName = payloadParent.getElementQName();
+ elName = namespaceRegistry.registerQName(elName);
}
int numParameters = 0;
@@ -324,7 +335,7 @@
else
{
boolean isHeader = paramMetaData.isInHeader();
- SOAPElement element = isHeader ? soapHeader : soapBodyElement;
+ SOAPElement element = isHeader ? soapHeader : payloadParent;
if (!isHeader)
numParameters++;
@@ -336,7 +347,7 @@
// Verify the numer of parameters matches the actual message payload
int numChildElements = 0;
- Iterator itElements = soapBodyElement.getChildElements();
+ Iterator itElements = payloadParent.getChildElements();
while (itElements.hasNext())
{
Node node = (Node)itElements.next();
@@ -804,44 +815,47 @@
Iterator childElements = soapElement.getChildElements();
while (childElements.hasNext())
{
- SOAPElementImpl childElement = (SOAPElementImpl)childElements.next();
+ Object childNode = childElements.next();
+ if (childNode instanceof SOAPElement)
+ {
+ SOAPElementImpl childElement = (SOAPElementImpl)childNode;
+ // If this message was manipulated by a handler the child may not be a content element
+ if (!(childElement instanceof SOAPContentElement))
+ childElement = (SOAPContentElement)soapElement.replaceChild(new SOAPContentElement(childElement), childElement);
- // If this message was manipulated by a handler the child may not be a content element
- if (!(childElement instanceof SOAPContentElement))
- childElement = (SOAPContentElement)soapElement.replaceChild(new SOAPContentElement(childElement), childElement);
+ // The parameters are expected to be lazy
+ SOAPContentElement aux = (SOAPContentElement)childElement;
+ Name elName = aux.getElementName();
- // The parameters are expected to be lazy
- SOAPContentElement aux = (SOAPContentElement)childElement;
- Name elName = aux.getElementName();
+ if (xmlName.equals(elName))
+ {
+ soapContentElement = aux;
+ soapContentElement.setParamMetaData(paramMetaData);
+ break;
+ }
- if (xmlName.equals(elName))
- {
- soapContentElement = aux;
- soapContentElement.setParamMetaData(paramMetaData);
- break;
- }
-
- if (SOAP_ARRAY_NAME.equals(elName))
- {
- CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
- msgContext.put(CommonMessageContext.ALLOW_EXPAND_TO_DOM, Boolean.TRUE);
- try
+ if (SOAP_ARRAY_NAME.equals(elName))
{
- QName compXMLName = paramMetaData.getXmlName();
- Element compElement = DOMUtils.getFirstChildElement(aux);
- // NPE when the soap encoded array size is 0 on the return path
- // http://jira.jboss.org/jira/browse/JBWS-1285
- if (compElement == null || compElement.getNodeName().equals(compXMLName.getLocalPart()))
+ CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
+ msgContext.put(CommonMessageContext.ALLOW_EXPAND_TO_DOM, Boolean.TRUE);
+ try
{
- soapContentElement = aux;
- soapContentElement.setParamMetaData(paramMetaData);
- break;
+ QName compXMLName = paramMetaData.getXmlName();
+ Element compElement = DOMUtils.getFirstChildElement(aux);
+ // NPE when the soap encoded array size is 0 on the return path
+ // http://jira.jboss.org/jira/browse/JBWS-1285
+ if (compElement == null || compElement.getNodeName().equals(compXMLName.getLocalPart()))
+ {
+ soapContentElement = aux;
+ soapContentElement.setParamMetaData(paramMetaData);
+ break;
+ }
}
+ finally
+ {
+ msgContext.remove(CommonMessageContext.ALLOW_EXPAND_TO_DOM);
+ }
}
- finally
- {
- msgContext.remove(CommonMessageContext.ALLOW_EXPAND_TO_DOM);
- }
}
}
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -144,17 +144,9 @@
}
else
{
- log.warn("Ignore envelope chile element: " + elName);
+ log.warn("Ignore envelope child: " + elName);
}
}
- else if (childType == Node.COMMENT_NODE)
- {
- appendCommentNode(soapEnv, child);
- }
- else if (childType == Node.TEXT_NODE)
- {
- appendTextNode(soapEnv, child);
- }
else
{
log.warn("Ignore child type: " + childType);
@@ -189,14 +181,6 @@
DOMUtils.copyAttributes(destElement, srcElement);
destElement.setXMLFragment(xmlFragment);
}
- else if (childType == Node.COMMENT_NODE)
- {
- appendCommentNode(soapHeader, child);
- }
- else if (childType == Node.TEXT_NODE)
- {
- appendTextNode(soapHeader, child);
- }
else
{
log.warn("Ignore child type: " + childType);
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -465,9 +465,7 @@
}
else if (node instanceof Text)
{
- String value = node.getNodeValue();
- if (value.trim().length() > 0)
- list.add(node);
+ list.add(node);
}
}
return list.iterator();
@@ -835,7 +833,7 @@
}
else if (node instanceof TextImpl)
{
- out.write(node.getValue());
+ ((TextImpl)node).writeNode(out);
}
else
{
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -68,7 +68,7 @@
if (wsaAction.equals(opAux.getSOAPAction()))
{
opMetaData = opAux;
- if(log.isDebugEnabled()) log.debug("Use wsa:Action dispatch: " + wsaAction);
+ log.debug("Use wsa:Action dispatch: " + wsaAction);
break;
}
}
@@ -86,9 +86,19 @@
{
SOAPBody soapBody = soapMessage.getSOAPBody();
+ SOAPBodyElement soapBodyElement = null;
Iterator bodyChildren = soapBody.getChildElements();
- if (bodyChildren.hasNext() == false)
+ while (bodyChildren.hasNext() && soapBodyElement == null)
{
+ Object childNode = bodyChildren.next();
+ if (childNode instanceof SOAPBodyElement)
+ {
+ soapBodyElement = (SOAPBodyElement)childNode;
+ }
+ }
+
+ if (soapBodyElement == null)
+ {
if (epMetaData.getStyle() == Style.RPC)
throw new SOAPException("Empty SOAP body with no child element not supported for RPC");
@@ -97,7 +107,7 @@
{
if (opAux.getParameters().size() == 0)
{
- if(log.isDebugEnabled()) log.debug ("Dispatching empty SOAP body");
+ log.debug ("Dispatching empty SOAP body");
opMetaData = opAux;
break;
}
@@ -105,7 +115,6 @@
}
else
{
- SOAPBodyElement soapBodyElement = (SOAPBodyElement)bodyChildren.next();
Name soapName = soapBodyElement.getElementName();
QName xmlElementName = new QName(soapName.getURI(), soapName.getLocalName());
opMetaData = epMetaData.getOperation(xmlElementName);
@@ -119,14 +128,14 @@
{
if (opAux.isMessageEndpoint())
{
- if(log.isDebugEnabled()) log.debug("Use generic message style dispatch");
+ log.debug("Use generic message style dispatch");
opMetaData = opAux;
break;
}
}
}
- if(log.isDebugEnabled()) log.debug("getDispatchDestination: " + (opMetaData != null ? opMetaData.getQName() : null));
+ log.debug("getDispatchDestination: " + (opMetaData != null ? opMetaData.getQName() : null));
return opMetaData;
}
}
\ No newline at end of file
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/TextImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/TextImpl.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/soap/TextImpl.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -21,6 +21,9 @@
*/
package org.jboss.ws.core.soap;
+import java.io.IOException;
+import java.io.Writer;
+
import org.w3c.dom.DOMException;
import org.w3c.dom.Text;
@@ -55,6 +58,15 @@
setNodeValue(value);
}
+ public void writeNode(Writer out) throws IOException
+ {
+ String nodeValue = getNodeValue();
+ if (isComment() && !nodeValue.startsWith("<!--"))
+ out.write("<!--" + nodeValue + "-->");
+ else
+ out.write(nodeValue);
+ }
+
/**
* Breaks this node into two nodes at the specified <code>offset</code>, keeping both in the tree as siblings.
* <p/>
@@ -322,5 +334,4 @@
{
return null;
}
-
}
Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/AbstractHandler.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/AbstractHandler.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/AbstractHandler.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -21,15 +21,16 @@
*/
package org.jboss.test.ws.jaxrpc.jbws1647;
-import java.io.ByteArrayOutputStream;
-
import javax.xml.namespace.QName;
import javax.xml.rpc.handler.GenericHandler;
import javax.xml.rpc.handler.MessageContext;
import javax.xml.rpc.handler.soap.SOAPMessageContext;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPMessage;
import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.utils.DOMWriter;
/**
*
@@ -38,49 +39,39 @@
*/
public abstract class AbstractHandler extends GenericHandler
{
-
private static final Logger log = Logger.getLogger(AbstractHandler.class);
- public abstract String getExpectedMessage();
+ public abstract String getMessageBody();
public boolean handleRequest(MessageContext msgContext)
{
log.info("handleRequest");
-
- boolean valid = false;
SOAPMessageContext messageContext = (SOAPMessageContext)msgContext;
-
SOAPMessage soapMessage = messageContext.getMessage();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- String receivedMessage = "";
try
{
- soapMessage.writeTo(baos);
- receivedMessage = baos.toString();
+ SOAPEnvelope soapEnv = soapMessage.getSOAPPart().getEnvelope();
+ String wasEnv = DOMWriter.printNode(soapEnv, false);
+ String wasBody = wasEnv.substring(wasEnv.indexOf("<env:Body>"));
+ wasBody = wasBody.substring(0, wasBody.indexOf("</env:Envelope>"));
+ if (wasBody.equals(getMessageBody()) == false)
+ {
+ log.error("Exp Body: " + getMessageBody());
+ log.error("Was Body: " + wasBody);
+ throw new RuntimeException("Received message does not contain expected soap body.");
+ }
}
catch (Exception e)
{
throw new RuntimeException("Unable to process SOAPMessage", e);
}
-
- valid = getExpectedMessage().equals(receivedMessage);
- if (valid == false)
- {
- log.error("Received message does not equal expected message.");
- log.info("EXP - " + getExpectedMessage());
- log.info("ACT - " + receivedMessage);
-
- throw new RuntimeException("Received message does not equal expected message.");
- }
-
- return valid;
+ return true;
}
public QName[] getHeaders()
{
return null;
}
-
}
Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/DocumentHandler.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/DocumentHandler.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/DocumentHandler.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -29,26 +29,20 @@
public class DocumentHandler extends AbstractHandler
{
- public static final String MESSAGE =
- "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:typ='http://org.jboss.test.ws/jbws1647/types'>" +
- " <!-- Comment Before Header -->" +
- " <soapenv:Header></soapenv:Header>" +
- " <!-- Comment After Header, Before Body -->" +
- " <soapenv:Body>" +
- " <!-- Comment After Body -->" +
- " <typ:echoMessage xmlns:typ='http://org.jboss.test.ws/jbws1647/types'>" +
- " <!-- Comment After Wrapper -->" +
- " <String_1>My Message</String_1>" +
- " <!-- Comment After Parameter -->" +
- " </typ:echoMessage>" +
- " <!-- Comment Before Close Body -->" +
- " </soapenv:Body>" +
- " <!-- Comment Before Close Envelope -->" +
- "</soapenv:Envelope>";
+ public static final String MESSAGE_BODY =
+ "<env:Body>" +
+ " <!-- Comment After Body -->" +
+ " <typ:echoMessage xmlns:typ='http://org.jboss.test.ws/jbws1647/types'>" +
+ " <!-- Comment After Wrapper -->" +
+ " <String_1>My Message</String_1>" +
+ " <!-- Comment After Parameter -->" +
+ " </typ:echoMessage>" +
+ " <!-- Comment Before Close Body -->" +
+ "</env:Body>";
- public String getExpectedMessage()
+ public String getMessageBody()
{
- return MESSAGE;
+ return MESSAGE_BODY;
}
}
Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647DocumentTestCase.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647DocumentTestCase.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647DocumentTestCase.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -33,7 +33,7 @@
* @author darran.lofthouse at jboss.com
* @since 15 May 2007
*/
-public class JBWS1647DocumentTestCase extends TestCaseBase
+public class JBWS1647DocumentTestCase extends JBWS1647TestBase
{
public static Test suite() throws Exception
@@ -43,10 +43,10 @@
public String getMessage()
{
- return DocumentHandler.MESSAGE;
+ return "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" + DocumentHandler.MESSAGE_BODY + "</env:Envelope>";
}
- public String getToUrl()
+ public String getEndpointAddress()
{
return "http://" + getServerHost() + ":8080/jaxrpc-jbws1647-doclit/TestEndpoint";
}
Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647RPCTestCase.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647RPCTestCase.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647RPCTestCase.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -21,10 +21,10 @@
*/
package org.jboss.test.ws.jaxrpc.jbws1647;
+import junit.framework.Test;
+
import org.jboss.wsf.spi.test.JBossWSTestSetup;
-import junit.framework.Test;
-
/**
* Text Node Preservation For Messages Sent Across The Wire
*
@@ -33,7 +33,7 @@
* @author darran.lofthouse at jboss.com
* @since 14 May 2007
*/
-public class JBWS1647RPCTestCase extends TestCaseBase
+public class JBWS1647RPCTestCase extends JBWS1647TestBase
{
public static Test suite() throws Exception
@@ -43,10 +43,10 @@
public String getMessage()
{
- return RpcHandler.MESSAGE;
+ return "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" + RpcHandler.MESSAGE_BODY + "</env:Envelope>";
}
- public String getToUrl()
+ public String getEndpointAddress()
{
return "http://" + getServerHost() + ":8080/jaxrpc-jbws1647-rpclit/TestEndpoint";
}
Copied: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647TestBase.java (from rev 3395, trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/TestCaseBase.java)
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647TestBase.java (rev 0)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/JBWS1647TestBase.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, 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.jaxrpc.jbws1647;
+
+import java.io.ByteArrayInputStream;
+
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPConnection;
+import javax.xml.soap.SOAPConnectionFactory;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPMessage;
+
+import org.jboss.wsf.spi.test.JBossWSTest;
+
+/**
+ *
+ * @author darran.lofthouse at jboss.com
+ * @since 15 May 2007
+ */
+public abstract class JBWS1647TestBase extends JBossWSTest
+{
+ public abstract String getMessage();
+
+ public abstract String getEndpointAddress();
+
+ public void testCall() throws Exception
+ {
+ MessageFactory msgFactory = MessageFactory.newInstance();
+ SOAPMessage soapMessage = msgFactory.createMessage(null, new ByteArrayInputStream(getMessage().getBytes()));
+
+ SOAPConnectionFactory conFactory = SOAPConnectionFactory.newInstance();
+ SOAPConnection con = conFactory.createConnection();
+ SOAPMessage resMessage = con.call(soapMessage, getEndpointAddress());
+
+ SOAPElement soapElement = (SOAPElement)resMessage.getSOAPBody().getChildElements().next();
+ assertEquals("echoMessageResponse", soapElement.getElementName().getLocalName());
+ }
+
+}
Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/RpcHandler.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/RpcHandler.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/RpcHandler.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -29,26 +29,20 @@
public class RpcHandler extends AbstractHandler
{
- public static final String MESSAGE =
- "<soapenv:Envelope xmlns:jbw='http://org.jboss.test.ws/jbws1647' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>" +
- " <!-- Comment Before Header -->" +
- " <soapenv:Header></soapenv:Header>" +
- " <!-- Comment After Header, Before Body -->" +
- " <soapenv:Body>" +
- " <!-- Comment After Body -->" +
- " <jbw:echoMessage xmlns:jbw='http://org.jboss.test.ws/jbws1647'>" +
- " <!-- Comment After Operation -->" +
- " <String_1>My Message</String_1>" +
- " <!-- Comment After Parameter -->" +
- " </jbw:echoMessage>" +
- " <!-- Comment Before Close Body -->" +
- " </soapenv:Body>" +
- " <!-- Comment Before Close Envelope -->" +
- "</soapenv:Envelope>";
+ public static final String MESSAGE_BODY =
+ "<env:Body>" +
+ " <!-- Comment After Body -->" +
+ " <jbw:echoMessage xmlns:jbw='http://org.jboss.test.ws/jbws1647'>" +
+ " <!-- Comment After Operation -->" +
+ " <String_1>My Message</String_1>" +
+ " <!-- Comment After Parameter -->" +
+ " </jbw:echoMessage>" +
+ " <!-- Comment Before Close Body -->" +
+ "</env:Body>";
- public String getExpectedMessage()
+ public String getMessageBody()
{
- return MESSAGE;
+ return MESSAGE_BODY;
}
}
Deleted: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/TestCaseBase.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/TestCaseBase.java 2007-06-02 21:44:36 UTC (rev 3398)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/jbws1647/TestCaseBase.java 2007-06-02 23:12:55 UTC (rev 3399)
@@ -1,58 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2007, 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.jaxrpc.jbws1647;
-
-import java.io.ByteArrayInputStream;
-
-import javax.xml.soap.MessageFactory;
-import javax.xml.soap.SOAPConnection;
-import javax.xml.soap.SOAPConnectionFactory;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPMessage;
-
-import org.jboss.wsf.spi.test.JBossWSTest;
-
-/**
- *
- * @author darran.lofthouse at jboss.com
- * @since 15 May 2007
- */
-public abstract class TestCaseBase extends JBossWSTest
-{
- public abstract String getMessage();
-
- public abstract String getToUrl();
-
- public void testCall() throws Exception
- {
- MessageFactory msgFactory = MessageFactory.newInstance();
- SOAPMessage soapMessage = msgFactory.createMessage(null, new ByteArrayInputStream(getMessage().getBytes()));
-
- SOAPConnectionFactory conFactory = SOAPConnectionFactory.newInstance();
- SOAPConnection con = conFactory.createConnection();
- SOAPMessage resMessage = con.call(soapMessage, getToUrl());
-
- SOAPElement soapElement = (SOAPElement)resMessage.getSOAPBody().getChildElements().next();
- assertEquals("echoMessageResponse", soapElement.getElementName().getLocalName());
- }
-
-}
More information about the jbossws-commits
mailing list