From: <jbo...@li...> - 2006-06-30 10:19:20
|
Author: tho...@jb... Date: 2006-06-30 06:19:14 -0400 (Fri, 30 Jun 2006) New Revision: 533 Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanPayload.java Log: JBWS-1020: Implement javax.xml.ws.Provider<Source> Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanPayload.java =================================================================== --- trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanPayload.java 2006-06-30 09:33:29 UTC (rev 532) +++ trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanPayload.java 2006-06-30 10:19:14 UTC (rev 533) @@ -23,15 +23,18 @@ // $Id$ -import java.io.StringReader; +import java.io.ByteArrayInputStream; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.ws.Provider; -import javax.xml.ws.Service; -import javax.xml.ws.ServiceMode; +import javax.xml.ws.WebServiceException; import javax.xml.ws.WebServiceProvider; +import org.jboss.util.xml.DOMUtils; +import org.jboss.util.xml.DOMWriter; +import org.w3c.dom.Element; + /** * Test a Provider<Source> * @@ -39,19 +42,31 @@ * @since 29-Jun-2006 */ @WebServiceProvider -@ServiceMode(value = Service.Mode.PAYLOAD) +// in absence PAYLOAD is implicit +// @ServiceMode(value = Service.Mode.PAYLOAD) public class ProviderBeanPayload implements Provider<Source> { - public ProviderBeanPayload() + public Source invoke(Source req) { - } + try + { + Element reqPayload = DOMUtils.parse(((StreamSource)req).getInputStream()); + String xmlReq = DOMWriter.printNode(reqPayload, false); - public Source invoke(Source request) - { - Source requestPayload = null; //request.getPayload(); - String replyElement = "<n:ack xmlns:n=.../>"; - StreamSource reply = new StreamSource(new StringReader(replyElement)); - return reply; + String expReq = "<ns1:somePayload xmlns:ns1='http://org.jboss.ws/provider'/>"; + if (!expReq.equals(xmlReq)) + throw new WebServiceException("Unexpected payload: " + xmlReq); + + return new StreamSource(new ByteArrayInputStream(xmlReq.getBytes())); + } + catch (RuntimeException rte) + { + throw rte; + } + catch (Exception e) + { + throw new WebServiceException(e); + } } } \ No newline at end of file |