Author: thomas.diesler(a)jboss.com
Date: 2008-06-04 04:03:46 -0400 (Wed, 04 Jun 2008)
New Revision: 7305
Modified:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointEJB.java
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointJSE.java
Log:
[JBWS-2013] Implement standard message context properties
Modified:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointEJB.java
===================================================================
---
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointEJB.java 2008-06-04
07:11:48 UTC (rev 7304)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointEJB.java 2008-06-04
08:03:46 UTC (rev 7305)
@@ -23,6 +23,7 @@
// $Id$
+import java.io.IOException;
import java.security.Principal;
import javax.annotation.Resource;
@@ -32,10 +33,16 @@
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
+import javax.xml.namespace.QName;
import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.MessageContext;
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.common.DOMWriter;
import org.jboss.wsf.spi.annotation.WebContext;
+import org.w3c.dom.Element;
+import org.xml.sax.InputSource;
@WebService(name = "Endpoint", serviceName="EndpointService",
targetNamespace = "http://org.jboss.ws/jaxws/context")
@SOAPBinding(style = Style.RPC)
@@ -54,8 +61,38 @@
@WebMethod
public String testGetMessageContext()
{
- MessageContext jaxwsContext = (MessageContext)wsCtx.getMessageContext();
- return jaxwsContext != null ? "pass" : "fail";
+ MessageContext msgContext = (MessageContext)wsCtx.getMessageContext();
+ if (msgContext == null)
+ return "fail";
+
+ QName service = (QName)msgContext.get(MessageContext.WSDL_SERVICE);
+ if (!service.equals(new QName("http://org.jboss.ws/jaxws/context",
"EndpointService")))
+ throw new WebServiceException("Invalid qname: " + service);
+
+ QName portType = (QName)msgContext.get(MessageContext.WSDL_INTERFACE);
+ if (!portType.equals(new QName("http://org.jboss.ws/jaxws/context",
"Endpoint")))
+ throw new WebServiceException("Invalid qname: " + portType);
+
+ QName port = (QName)msgContext.get(MessageContext.WSDL_PORT);
+ if (!port.equals(new QName("http://org.jboss.ws/jaxws/context",
"EndpointPort")))
+ throw new WebServiceException("Invalid qname: " + port);
+
+ QName operation = (QName)msgContext.get(MessageContext.WSDL_OPERATION);
+ if (!operation.equals(new QName("http://org.jboss.ws/jaxws/context",
"testGetMessageContext")))
+ throw new WebServiceException("Invalid qname: " + operation);
+
+ try
+ {
+ InputSource wsdlSource =
(InputSource)msgContext.get(MessageContext.WSDL_DESCRIPTION);
+ Element root = DOMUtils.parse(wsdlSource);
+ new DOMWriter(System.out).setPrettyprint(true).print(root);
+ }
+ catch (IOException ex)
+ {
+ throw new WebServiceException("Cannot parse
MessageContext.WSDL_DESCRIPTION", ex);
+ }
+
+ return "pass";
}
@WebMethod
Modified:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointJSE.java
===================================================================
---
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointJSE.java 2008-06-04
07:11:48 UTC (rev 7304)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/context/EndpointJSE.java 2008-06-04
08:03:46 UTC (rev 7305)
@@ -23,6 +23,7 @@
// $Id: $
+import java.io.IOException;
import java.security.Principal;
import javax.annotation.Resource;
@@ -30,9 +31,16 @@
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
+import javax.xml.namespace.QName;
import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.MessageContext;
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.common.DOMWriter;
+import org.w3c.dom.Element;
+import org.xml.sax.InputSource;
+
@WebService(name = "Endpoint", serviceName = "EndpointService",
targetNamespace = "http://org.jboss.ws/jaxws/context")
@SOAPBinding(style = Style.RPC)
public class EndpointJSE
@@ -43,8 +51,38 @@
@WebMethod
public String testGetMessageContext()
{
- MessageContext jaxwsContext = (MessageContext)wsCtx.getMessageContext();
- return jaxwsContext != null ? "pass" : "fail";
+ MessageContext msgContext = (MessageContext)wsCtx.getMessageContext();
+ if (msgContext == null)
+ return "fail";
+
+ QName service = (QName)msgContext.get(MessageContext.WSDL_SERVICE);
+ if (!service.equals(new QName("http://org.jboss.ws/jaxws/context",
"EndpointService")))
+ throw new WebServiceException("Invalid qname: " + service);
+
+ QName portType = (QName)msgContext.get(MessageContext.WSDL_INTERFACE);
+ if (!portType.equals(new QName("http://org.jboss.ws/jaxws/context",
"Endpoint")))
+ throw new WebServiceException("Invalid qname: " + portType);
+
+ QName port = (QName)msgContext.get(MessageContext.WSDL_PORT);
+ if (!port.equals(new QName("http://org.jboss.ws/jaxws/context",
"EndpointPort")))
+ throw new WebServiceException("Invalid qname: " + port);
+
+ QName operation = (QName)msgContext.get(MessageContext.WSDL_OPERATION);
+ if (!operation.equals(new QName("http://org.jboss.ws/jaxws/context",
"testGetMessageContext")))
+ throw new WebServiceException("Invalid qname: " + operation);
+
+ try
+ {
+ InputSource wsdlSource =
(InputSource)msgContext.get(MessageContext.WSDL_DESCRIPTION);
+ Element root = DOMUtils.parse(wsdlSource);
+ new DOMWriter(System.out).setPrettyprint(true).print(root);
+ }
+ catch (IOException ex)
+ {
+ throw new WebServiceException("Cannot parse
MessageContext.WSDL_DESCRIPTION", ex);
+ }
+
+ return "pass";
}
@WebMethod
Show replies by date