test_class.declarator: protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension()
test_class.modifier: private
test_class.original_string: private Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();
test_class.type: Protocol
test_class.var_name: protocol
test_class.declarator: proxy = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension()
test_class.modifier: private
test_class.original_string: private ProxyFactory proxy = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension();
test_class.type: ProxyFactory
test_class.var_name: proxy
test_class.file: dubbo-rpc/dubbo-rpc-webservice/src/test/java/org/apache/dubbo/rpc/protocol/webservice/WebserviceProtocolTest.java
test_class.identifier: WebserviceProtocolTest
test_case.body: @Test
      public void testWebserviceProtocol() throws Exception {
          DemoService service = new DemoServiceImpl();
          int port = NetUtils.getAvailablePort();
          protocol.export(proxy.getInvoker(service, DemoService.class, URL.valueOf("webservice://127.0.0.1:" + port + "/" + DemoService.class.getName())));
          service = proxy.getProxy(protocol.refer(DemoService.class, URL.valueOf("webservice://127.0.0.1:" + port + "/" + DemoService.class.getName() + "?timeout=3000")));
          assertEquals(service.create(1, "kk").getName(), "kk");
          assertEquals(service.getSize(null), -1);
          assertEquals(service.getSize(new String[]{"", "", ""}), 3);
          Object object = service.invoke("webservice://127.0.0.1:" + port + "/" + DemoService.class.getName() + "", "invoke");
          System.out.println(object);
          assertEquals("webservice://127.0.0.1:" + port + "/org.apache.dubbo.rpc.protocol.webservice.DemoService:invoke", object);
  
          StringBuffer buf = new StringBuffer();
          for (int i = 0; i < 1024 * 32 + 32; i++)
              buf.append('A');
          assertEquals(32800, service.stringLength(buf.toString()));
  
  //  a method start with $ is illegal in soap
  //        // cast to EchoService
  //        EchoService echo = proxy.getProxy(protocol.refer(EchoService.class, URL.valueOf("webservice://127.0.0.1:9010/" + DemoService.class.getName() + "?client=netty")));
  //        assertEquals(echo.echo(buf.toString()), buf.toString());
  //        assertEquals(echo.$echo("test"), "test");
  //        assertEquals(echo.$echo("abcdefg"), "abcdefg");
  //        assertEquals(echo.$echo(1234), 1234);
      }
test_case.class_method_signature: WebserviceProtocolTest.testWebserviceProtocol()
test_case.full_signature: @Test public void testWebserviceProtocol()
test_case.identifier: testWebserviceProtocol
test_case.invocations: getAvailablePort export getInvoker valueOf getName getProxy refer valueOf getName assertEquals getName create assertEquals getSize assertEquals getSize invoke getName println assertEquals append assertEquals stringLength toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testWebserviceProtocol()
focal_class.declarator: DEFAULT_PORT = 80
focal_class.modifier: public static final
focal_class.original_string: public static final int DEFAULT_PORT = 80;
focal_class.type: int
focal_class.var_name: DEFAULT_PORT
focal_class.declarator: bus = new ExtensionManagerBus()
focal_class.modifier: private final
focal_class.original_string: private final ExtensionManagerBus bus = new ExtensionManagerBus();
focal_class.type: ExtensionManagerBus
focal_class.var_name: bus
focal_class.declarator: transportFactory = null
focal_class.modifier: private
focal_class.original_string: private SoapTransportFactory transportFactory = null;
focal_class.type: SoapTransportFactory
focal_class.var_name: transportFactory
focal_class.declarator: serverFactoryBean = null
focal_class.modifier: private
focal_class.original_string: private ServerFactoryBean serverFactoryBean = null;
focal_class.type: ServerFactoryBean
focal_class.var_name: serverFactoryBean
focal_class.declarator: destinationRegistry=null
focal_class.modifier: private
focal_class.original_string: private DestinationRegistry destinationRegistry=null;
focal_class.type: DestinationRegistry
focal_class.var_name: destinationRegistry
focal_class.declarator: httpBinder
focal_class.modifier: private
focal_class.original_string: private HttpBinder httpBinder;
focal_class.type: HttpBinder
focal_class.var_name: httpBinder
focal_class.declarator: server = null
focal_class.modifier: private
focal_class.original_string: private Server server = null;
focal_class.type: Server
focal_class.var_name: server
focal_class.file: dubbo-rpc/dubbo-rpc-webservice/src/main/java/org/apache/dubbo/rpc/protocol/webservice/WebServiceProtocol.java
focal_class.identifier: WebServiceProtocol
focal_class.class_method_signature: WebServiceProtocol.WebServiceProtocol()
focal_class.full_signature: public  WebServiceProtocol()
focal_class.identifier: WebServiceProtocol
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  WebServiceProtocol()
focal_class.class_method_signature: WebServiceProtocol.setHttpBinder(HttpBinder httpBinder)
focal_class.full_signature: public void setHttpBinder(HttpBinder httpBinder)
focal_class.identifier: setHttpBinder
focal_class.modifiers: public
focal_class.parameters: (HttpBinder httpBinder)
focal_class.return: void
focal_class.signature: void setHttpBinder(HttpBinder httpBinder)
focal_class.class_method_signature: WebServiceProtocol.getDefaultPort()
focal_class.full_signature: @Override public int getDefaultPort()
focal_class.identifier: getDefaultPort
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getDefaultPort()
focal_class.class_method_signature: WebServiceProtocol.doExport(T impl, Class<T> type, URL url)
focal_class.full_signature: @Override protected Runnable doExport(T impl, Class<T> type, URL url)
focal_class.identifier: doExport
focal_class.modifiers: @Override protected
focal_class.parameters: (T impl, Class<T> type, URL url)
focal_class.return: Runnable
focal_class.signature: Runnable doExport(T impl, Class<T> type, URL url)
focal_class.class_method_signature: WebServiceProtocol.doRefer(final Class<T> serviceType, URL url)
focal_class.full_signature: @Override @SuppressWarnings("unchecked") protected T doRefer(final Class<T> serviceType, URL url)
focal_class.identifier: doRefer
focal_class.modifiers: @Override @SuppressWarnings("unchecked") protected
focal_class.parameters: (final Class<T> serviceType, URL url)
focal_class.return: T
focal_class.signature: T doRefer(final Class<T> serviceType, URL url)
focal_class.class_method_signature: WebServiceProtocol.getErrorCode(Throwable e)
focal_class.full_signature: @Override protected int getErrorCode(Throwable e)
focal_class.identifier: getErrorCode
focal_class.modifiers: @Override protected
focal_class.parameters: (Throwable e)
focal_class.return: int
focal_class.signature: int getErrorCode(Throwable e)
focal_class.superclass: extends AbstractProxyProtocol
focal_method.body: public WebServiceProtocol() {
          super(Fault.class);
          bus.setExtension(new ServletDestinationFactory(), HttpDestinationFactory.class);
      }
focal_method.class_method_signature: WebServiceProtocol.WebServiceProtocol()
focal_method.full_signature: public  WebServiceProtocol()
focal_method.identifier: WebServiceProtocol
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.signature:  WebServiceProtocol()