Author: alessio.soldano(a)jboss.com
Date: 2008-11-21 12:30:06 -0500 (Fri, 21 Nov 2008)
New Revision: 8777
Modified:
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/ClientServlet.java
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/JBWS2308TestCase.java
Log:
[JBWS-2308] Adding more specific tests
Modified:
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/ClientServlet.java
===================================================================
---
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/ClientServlet.java 2008-11-21
12:29:43 UTC (rev 8776)
+++
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/ClientServlet.java 2008-11-21
17:30:06 UTC (rev 8777)
@@ -1,5 +1,6 @@
package org.jboss.test.ws.jaxws.jbws2308;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
@@ -12,10 +13,16 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.namespace.QName;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Service;
import javax.xml.ws.handler.Handler;
+import org.jboss.wsf.common.DOMWriter;
+
public class ClientServlet extends HttpServlet
{
private String endpointURL =
"http://127.0.0.1:8080/jaxws-jbws2308/EndpointImpl";
@@ -24,9 +31,11 @@
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException
{
+ if (!testTransformer())
+ throw new ServletException("Transformer test failed!");
+
URL wsdlURL = new URL(endpointURL + "?wsdl");
QName serviceName = new QName(targetNS, "EndpointService");
-
Service service = Service.create(wsdlURL, serviceName);
Endpoint port = (Endpoint)service.getPort(Endpoint.class);
@@ -58,4 +67,33 @@
}
}
}
+
+ public boolean testTransformer()
+ {
+ try
+ {
+ TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ Transformer transformer = transformerFactory.newTransformer();
+ DOMResult domResult = new DOMResult();
+ String s = "<ns2:Fault
xmlns:ns2=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
+ "<faultcode
xmlns:tns=\"myNamespace\">tns:ItsASoapFault</faultcode>" +
+ "<faultstring>ClientLogicalHandler6.handleMessage throws
SOAPFaultException for ClientLogicalOutboundHandleFaultFalseTest</faultstring>"
+
+ "<faultactor>faultActor</faultactor>" +
+ "<detail>" +
+ "<somefaultentry/>" +
+ "</detail>" +
+ "</ns2:Fault>";
+ ByteArrayInputStream bais = new ByteArrayInputStream(s.getBytes());
+ StreamSource ss = new StreamSource(bais);
+
+ transformer.transform(ss, domResult);
+
+ return DOMWriter.printNode(domResult.getNode(),
false).contains("myNamespace");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+
+ }
}
Modified:
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/JBWS2308TestCase.java
===================================================================
---
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/JBWS2308TestCase.java 2008-11-21
12:29:43 UTC (rev 8776)
+++
stack/metro/trunk/modules/testsuite/metro-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2308/JBWS2308TestCase.java 2008-11-21
17:30:06 UTC (rev 8777)
@@ -21,6 +21,7 @@
*/
package org.jboss.test.ws.jaxws.jbws2308;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.net.URL;
@@ -28,12 +29,17 @@
import java.util.List;
import javax.xml.namespace.QName;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Service;
import javax.xml.ws.handler.Handler;
import junit.framework.Test;
+import org.jboss.wsf.common.DOMWriter;
import org.jboss.wsf.test.JBossWSTest;
import org.jboss.wsf.test.JBossWSTestSetup;
@@ -84,6 +90,28 @@
}
}
-
+
+
+ public void testTransformer() throws Exception
+ {
+ TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ Transformer transformer = transformerFactory.newTransformer();
+ DOMResult domResult = new DOMResult();
+ String s = "<ns2:Fault
xmlns:ns2=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
+ "<faultcode
xmlns:tns=\"myNamespace\">tns:ItsASoapFault</faultcode>" +
+ "<faultstring>ClientLogicalHandler6.handleMessage throws
SOAPFaultException for ClientLogicalOutboundHandleFaultFalseTest</faultstring>"
+
+ "<faultactor>faultActor</faultactor>" +
+ "<detail>" +
+ "<somefaultentry/>" +
+ "</detail>" +
+ "</ns2:Fault>";
+ ByteArrayInputStream bais = new ByteArrayInputStream(s.getBytes());
+ StreamSource ss = new StreamSource(bais);
+
+ transformer.transform(ss, domResult);
+
+ assertTrue(DOMWriter.printNode(domResult.getNode(),
false).contains("myNamespace"));
+ }
+
}