1 17 package org.apache.servicemix.http; 18 19 import java.io.StringWriter ; 20 21 import javax.servlet.http.HttpServletResponse ; 22 import javax.wsdl.Binding; 23 import javax.wsdl.BindingOperation; 24 import javax.wsdl.Definition; 25 import javax.wsdl.extensions.ExtensibilityElement; 26 import javax.wsdl.extensions.soap.SOAPOperation; 27 import javax.wsdl.factory.WSDLFactory; 28 import javax.wsdl.xml.WSDLReader; 29 30 import org.apache.commons.httpclient.HttpClient; 31 import org.apache.commons.httpclient.methods.GetMethod; 32 import org.apache.servicemix.jbi.jaxp.SourceTransformer; 33 import org.apache.servicemix.jbi.jaxp.StringSource; 34 import org.apache.servicemix.tck.SpringTestSupport; 35 import org.apache.xbean.spring.context.ClassPathXmlApplicationContext; 36 import org.springframework.context.support.AbstractXmlApplicationContext; 37 import org.w3c.dom.Document ; 38 39 public class WsdlRoundtripTest extends SpringTestSupport { 40 41 protected AbstractXmlApplicationContext createBeanFactory() { 42 return new ClassPathXmlApplicationContext("org/apache/servicemix/http/wsdlroundtrip.xml"); 43 } 44 45 public void test() throws Exception { 46 GetMethod get = new GetMethod("http://localhost:8192/Service/?wsdl"); 47 int state = new HttpClient().executeMethod(get); 48 assertEquals(HttpServletResponse.SC_OK, state); 49 Document doc = (Document ) new SourceTransformer().toDOMNode(new StringSource(get.getResponseBodyAsString())); 50 51 WSDLFactory factory = WSDLFactory.newInstance(); 53 WSDLReader reader = factory.newWSDLReader(); 54 Definition def; 55 def = reader.readWSDL("http://localhost:8192/Service/?wsdl", doc); 56 57 StringWriter writer = new StringWriter (); 58 factory.newWSDLWriter().writeWSDL(def, writer); 59 System.err.println(writer.toString()); 60 Binding b = (Binding) def.getBindings().values().iterator().next(); 61 BindingOperation bop = (BindingOperation) b.getBindingOperations().iterator().next(); 62 assertEquals(1, bop.getExtensibilityElements().size()); 63 ExtensibilityElement ee = (ExtensibilityElement) bop.getExtensibilityElements().iterator().next(); 64 assertTrue(ee instanceof SOAPOperation); 65 assertEquals("", ((SOAPOperation) ee).getSoapActionURI()); 66 } 67 68 } 69 | Popular Tags |