📄 wsdlservicebuildertest.java
字号:
package org.codehaus.xfire.wsdl11;import java.util.Collection;import javax.xml.namespace.QName;import org.codehaus.xfire.service.Endpoint;import org.codehaus.xfire.service.MessageInfo;import org.codehaus.xfire.service.MessagePartInfo;import org.codehaus.xfire.service.OperationInfo;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.MessageBindingProvider;import org.codehaus.xfire.soap.AbstractSoapBinding;import org.codehaus.xfire.test.AbstractXFireTest;import org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder;/** * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> */public class WSDLServiceBuilderTest extends AbstractXFireTest{ public void testVisitor() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("echo.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:Echo", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); OperationInfo opInfo = (OperationInfo) operations.iterator().next(); assertEquals("echo", opInfo.getName()); // Check the input message MessageInfo message = opInfo.getInputMessage(); assertNotNull(message); Collection parts = message.getMessageParts(); assertEquals(1, parts.size()); MessagePartInfo part = (MessagePartInfo) parts.iterator().next(); assertEquals(new QName("urn:Echo", "echoRequest"), part.getName()); // Check the output message message = opInfo.getOutputMessage(); assertNotNull(message); parts = message.getMessageParts(); assertEquals(1, parts.size()); part = (MessagePartInfo) parts.iterator().next(); assertEquals(new QName("urn:Echo", "echoResponse"), part.getName()); // Is the SOAP binding stuff around? AbstractSoapBinding soapOp = (AbstractSoapBinding) service.getBindings().iterator().next(); assertNotNull(soapOp); assertEquals("literal", soapOp.getUse()); assertEquals("", soapOp.getSoapAction(opInfo)); Collection endpoints = service.getEndpoints(); assertEquals(1, endpoints.size()); Endpoint endpoint = (Endpoint) endpoints.iterator().next(); assertEquals(new QName("urn:Echo", "EchoHttpPort"), endpoint.getName()); assertNotNull(endpoint.getBinding()); assertEquals("http://localhost:8080/xfire/services/Echo", endpoint.getUrl()); } public void testUnknownBinding() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("echoHttp.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:Echo", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); } public void testSimpleType() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("echoSimpleType.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); assertFalse(service.getServiceInfo().isWrapped()); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:Echo", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); OperationInfo opInfo = service.getServiceInfo().getOperation("echo"); // Check the input message MessageInfo message = opInfo.getInputMessage(); assertNotNull(message); Collection parts = message.getMessageParts(); assertEquals(1, parts.size()); } public void testEmptyWrappedResponse() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("emptyWrappedResponse.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); assertTrue(service.getServiceInfo().isWrapped()); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:Echo", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); OperationInfo opInfo = service.getServiceInfo().getOperation("doInvokeNoResponseElements"); MessageInfo message = opInfo.getOutputMessage(); assertNotNull(message); Collection parts = message.getMessageParts(); assertEquals(0, parts.size()); } public void testSimpleVisitor() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("echoSimple.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:Echo", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); OperationInfo opInfo = (OperationInfo) operations.iterator().next(); assertEquals("echo", opInfo.getName()); // Check the input message MessageInfo message = opInfo.getInputMessage(); assertNotNull(message); Collection parts = message.getMessageParts(); assertEquals(1, parts.size()); } public void testXsdChoice() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("echo-xsd-choice.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:echo:wrapped", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); OperationInfo opInfo = (OperationInfo) operations.iterator().next(); assertEquals("echo", opInfo.getName()); // Check the input message MessageInfo message = opInfo.getInputMessage(); assertNotNull(message); Collection parts = message.getMessageParts(); assertEquals(1, parts.size()); } public void testUnboundedResponse() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("echoWrappedList.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:Echo", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); OperationInfo opInfo = (OperationInfo) operations.iterator().next(); assertEquals("echo", opInfo.getName()); // Check the input message MessageInfo message = opInfo.getInputMessage(); assertNotNull(message); Collection parts = message.getMessageParts(); assertEquals(1, parts.size()); MessagePartInfo part = (MessagePartInfo) parts.iterator().next(); assertEquals("text", part.getName().getLocalPart()); } public void testAnonymousInner() throws Exception { WSDLServiceBuilder builder = new WSDLServiceBuilder(getResourceAsStream("echoAnonymousType.wsdl")); builder.setBindingProvider(new MessageBindingProvider()); builder.build(); Collection services = builder.getAllServices(); assertEquals(1, services.size()); Service service = (Service) services.iterator().next(); QName name = service.getName(); assertNotNull(name); assertEquals(new QName("urn:Echo", "Echo"), name); Collection operations = service.getServiceInfo().getOperations(); assertEquals(1, operations.size()); OperationInfo opInfo = (OperationInfo) operations.iterator().next(); assertEquals("echo", opInfo.getName()); // Check the input message MessageInfo message = opInfo.getInputMessage(); assertNotNull(message); Collection parts = message.getMessageParts(); assertEquals(1, parts.size()); MessagePartInfo part = (MessagePartInfo) parts.iterator().next(); assertEquals("echo", part.getName().getLocalPart()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -