webservice protocol
References documentation for webservice protocol
WebService-based remote calling protocol,base on Apache CXF frontend-simple
and transports-http
implements。
Interoperable with native WebService services:
- Providers expose services using Dubbo’s WebService protocol, which consumers invoke directly using the standard WebService interface,
- Or the provider exposes the service using the standard WebService, which consumers invoke using the Dubbo WebService protocol.
dependency
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-simple</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.6.1</version>
</dependency>
Features
- Number of connections: multiple connections
- Connection: short connection
- Transmission protocol: HTTP
- Transmission: synchronous transmission
- Serialization: SOAP text serialization
- Applicable scenarios: System integration, cross-language calls
Constraint
- Parameters and return class should implement
Serializable
interface - Parameters should try to use the basic types and POJO
Configuration
configure webservice protocol:
<dubbo:protocol name="webservice" port="8080" server="jetty" />
configure provider level default protocol:
<dubbo:provider protocol="webservice" />
configure service level default protocol:
<dubbo:service protocol="webservice" />
configure multiple port:
<dubbo:protocol id="webservice1" name="webservice" port="8080" />
<dubbo:protocol id="webservice2" name="webservice" port="8081" />
configure direct connect mode:
<dubbo:reference id="helloService" interface="HelloWorld" url="webservice://10.20.153.10:8080/com.foo.HelloWorld" />
WSDL:
http://10.20.153.10:8080/com.foo.HelloWorld?wsdl
Jetty Server (Default):
<dubbo:protocol ... server="jetty" />
Servlet Bridge Server (recommend):
<dubbo:protocol ... server="servlet" />
configure DispatcherServlet:
<servlet>
<servlet-name>dubbo</servlet-name>
<servlet-class>org.apache.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dubbo</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Note that if you use servlets to dispatch requests:
- the port of protocol
<dubbo:protocol port="8080" />
must same as servlet container’s. - the context path of protocol
<dubbo:protocol contextpath="foo" />
must same as servlet application’s.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.