1 22 package org.jboss.test.webservice.jbws812; 23 24 import java.io.ByteArrayInputStream ; 25 import java.io.OutputStream ; 26 import java.net.HttpURLConnection ; 27 import java.net.URL ; 28 29 import javax.naming.InitialContext ; 30 import javax.xml.rpc.Service ; 31 import javax.xml.soap.MessageFactory ; 32 import javax.xml.soap.MimeHeaders ; 33 import javax.xml.soap.Name ; 34 import javax.xml.soap.SOAPConnection ; 35 import javax.xml.soap.SOAPConnectionFactory ; 36 import javax.xml.soap.SOAPElement ; 37 import javax.xml.soap.SOAPEnvelope ; 38 import javax.xml.soap.SOAPMessage ; 39 40 import junit.framework.Test; 41 42 import org.jboss.test.webservice.WebserviceTestBase; 43 import org.jboss.util.xml.DOMUtils; 44 import org.jboss.util.xml.DOMWriter; 45 import org.w3c.dom.Element ; 46 47 55 public class JBWS812TestCase extends WebserviceTestBase 56 { 57 private String reqEnv = 58 "<?xml version='1.0' encoding='UTF-8'?>" + 59 "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" + 60 " <env:Body>" + 61 " <ns1:echoSimple xmlns:ns1='http://org.jboss.test.webservice/jbws812'>" + 62 " <String_1> </String_1>" + 63 " </ns1:echoSimple>" + 64 " </env:Body>" + 65 "</env:Envelope>"; 66 67 public JBWS812TestCase(String name) 68 { 69 super(name); 70 } 71 72 public static Test suite() throws Exception 73 { 74 return getDeploySetup(JBWS812TestCase.class, "ws4ee-jbws812.war, ws4ee-jbws812-client.jar"); 75 } 76 77 79 public void testHttpURLConnection() throws Exception 80 { 81 String targetAddress = "http://" + getServerHost() + ":8080/ws4ee-jbws812"; 82 HttpURLConnection con = (HttpURLConnection )new URL (targetAddress).openConnection(); 83 con.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); 84 con.setRequestMethod("POST"); 85 con.setDoOutput(true); 86 con.connect(); 87 88 OutputStream outs = con.getOutputStream(); 89 outs.write(reqEnv.getBytes("UTF-8")); 90 outs.close(); 91 92 int resCode = con.getResponseCode(); 93 assertEquals(200, resCode); 94 } 95 96 98 public void testDOMParseWrite() throws Exception 99 { 100 String targetAddress = "http://" + getServerHost() + ":8080/ws4ee-jbws812"; 101 HttpURLConnection con = (HttpURLConnection )new URL (targetAddress).openConnection(); 102 con.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); 103 con.setRequestMethod("POST"); 104 con.setDoOutput(true); 105 con.connect(); 106 107 OutputStream outs = con.getOutputStream(); 108 Element reqMsg = DOMUtils.parse(reqEnv); 109 new DOMWriter(outs).print(reqMsg); 110 outs.close(); 111 112 int resCode = con.getResponseCode(); 113 assertEquals(200, resCode); 114 } 115 116 118 public void testSOAPMessage() throws Exception 119 { 120 String targetAddress = "http://" + getServerHost() + ":8080/ws4ee-jbws812"; 121 HttpURLConnection con = (HttpURLConnection )new URL (targetAddress).openConnection(); 122 con.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); 123 con.setRequestMethod("POST"); 124 con.setDoOutput(true); 125 con.connect(); 126 127 MessageFactory factory = MessageFactory.newInstance(); 128 MimeHeaders mimeHeaders = new MimeHeaders (); 129 mimeHeaders.addHeader("Content-Type", "text/xml; charset=UTF-8"); 130 SOAPMessage reqMsg = factory.createMessage(mimeHeaders, new ByteArrayInputStream (reqEnv.getBytes("UTF-8"))); 131 132 OutputStream outs = con.getOutputStream(); 133 reqMsg.writeTo(outs); 134 outs.close(); 135 136 int resCode = con.getResponseCode(); 137 assertEquals(200, resCode); 138 } 139 140 142 public void testSOAPConnection() throws Exception 143 { 144 MessageFactory factory = MessageFactory.newInstance(); 145 MimeHeaders mimeHeaders = new MimeHeaders (); 146 mimeHeaders.addHeader("Content-Type", "text/xml; charset=UTF-8"); 147 SOAPMessage reqMsg = factory.createMessage(mimeHeaders, new ByteArrayInputStream (reqEnv.getBytes("UTF-8"))); 148 149 SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection(); 150 String targetAddress = "http://" + getServerHost() + ":8080/ws4ee-jbws812"; 151 SOAPMessage resMsg = con.call(reqMsg, targetAddress); 152 153 SOAPEnvelope resEnv = resMsg.getSOAPPart().getEnvelope(); 154 Name name = resEnv.createName("echoSimpleResponse", "ns1", "http://org.jboss.test.webservice/jbws812"); 155 SOAPElement soapElement = (SOAPElement )resMsg.getSOAPBody().getChildElements(name).next(); 156 soapElement = (SOAPElement )soapElement.getChildElements(resEnv.createName("result")).next(); 157 158 String resValue = soapElement.getValue(); 159 assertEquals(160, resValue.charAt(0)); 160 } 161 162 163 165 public void testClientProxy() throws Exception 166 { 167 InitialContext iniCtx = getClientContext(); 168 Service service = (Service )iniCtx.lookup("java:comp/env/service/TestService"); 169 TestEndpoint port = (TestEndpoint)service.getPort(TestEndpoint.class); 170 171 String resStr = port.echoSimple("\u00a0"); 172 assertEquals(160, resStr.charAt(0)); 173 } 174 } 175 | Popular Tags |