1 22 package org.jboss.test.webservice.jbws775; 23 24 import java.io.ByteArrayInputStream ; 25 26 import javax.naming.InitialContext ; 27 import javax.xml.rpc.Service ; 28 import javax.xml.soap.MessageFactory ; 29 import javax.xml.soap.SOAPConnection ; 30 import javax.xml.soap.SOAPConnectionFactory ; 31 import javax.xml.soap.SOAPEnvelope ; 32 import javax.xml.soap.SOAPMessage ; 33 34 import junit.framework.Test; 35 36 import org.jboss.test.webservice.WebserviceTestBase; 37 import org.jboss.util.xml.DOMWriter; 38 39 47 public class JBWS775TestCase extends WebserviceTestBase 48 { 49 public JBWS775TestCase(String name) 50 { 51 super(name); 52 } 53 54 55 public static Test suite() throws Exception 56 { 57 return getDeploySetup(JBWS775TestCase.class, "ws4ee-jbws775.war, ws4ee-jbws775-client.jar"); 58 } 59 60 public void testEndpointAccess() throws Exception 61 { 62 InitialContext iniCtx = getClientContext(); 63 Service service = (Service )iniCtx.lookup("java:comp/env/service/DocumentTranslator"); 64 DocumentTranslator port = (DocumentTranslator)service.getPort(DocumentTranslator.class); 65 66 TDocumentHead tDocHead = new TDocumentHead("title", "en"); 67 TDocumentBody tDocBody = new TDocumentBody(new String [] {"hi", "bye"}); 68 TDocument tDocReq = new TDocument(tDocHead, tDocBody); 69 TTranslationRequest tReq = new TTranslationRequest("es", tDocReq); 70 71 TDocument tDocRes = port.translate(tReq); 72 assertEquals("en", tDocRes.getHead().getLanguage()); 73 assertEquals("title", tDocRes.getHead().getTitle()); 74 assertEquals("hi", tDocRes.getBody().getParagraph()[0]); 75 assertEquals("bye", tDocRes.getBody().getParagraph()[1]); 76 } 77 78 public void testSAAJAccess() throws Exception 79 { 80 String reqStr = 81 "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" + 82 " <env:Body>" + 83 " <sns:translationRequest targetLanguage='es' xmlns:sns='http://example.com/translator/types' xmlns:vendor='http://jbpm.org/bpel'>" + 84 " <sns:document>" + 85 " <head language='en' title='title'/>" + 86 " <body>" + 87 " <paragraph>hi</paragraph>" + 88 " <paragraph>bye</paragraph>" + 89 " </body>" + 90 " </sns:document>" + 91 " </sns:translationRequest>" + 92 " </env:Body>" + 93 "</env:Envelope>"; 94 95 String resStr = 96 "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" + 97 "<env:Header/>" + 98 "<env:Body>" + 99 "<ns1:document xmlns:ns1='http://example.com/translator/types' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" + 100 "<head language='en' title='title'/>" + 101 "<body>" + 102 "<paragraph>hi</paragraph>" + 103 "<paragraph>bye</paragraph>" + 104 "</body>" + 105 "</ns1:document>" + 106 "</env:Body>" + 107 "</env:Envelope>"; 108 109 SOAPMessage reqMsg = MessageFactory.newInstance().createMessage(null, new ByteArrayInputStream (reqStr.getBytes())); 110 SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection(); 111 SOAPMessage resMsg = con.call(reqMsg, "http://" + getServerHost() + ":8080/ws4ee-jbws775/document"); 112 SOAPEnvelope resEnv = resMsg.getSOAPPart().getEnvelope(); 113 114 assertEquals(resStr, DOMWriter.printNode(resEnv, false)); 115 } 116 } 117 | Popular Tags |