您的位置:首页 > 运维架构

overview_How do I develop a client

2015-11-25 11:21 411 查看
构件客户端的多种方式:

*WSDL2Java生成客户端

*JAX_WS代理

*JAX_WS调度API

*简单前端客户代理

*动态客户

Building Clients

WSDL2Java generated Client

根据WSDL文件生成客户端类,调用例子:

HelloService service = new HelloService();
Hello client = service.getHelloHttpPort();
 
String result = client.sayHi("Joe");


JAX-WS Proxy

使用Service.create来创建服务实例,例子:

import java.net.URL;
import javax.xml.ws.Service;
...

URL wsdlURL = new URL("http://localhost/hello?wsdl");
QName SERVICE_NAME = new QName("http://apache.org/hello_world_soap_http", "SOAPService");
Service service = Service.create(wsdlURL, SERVICE_NAME);
Greeter client = service.getPort(Greeter.class);
String result = client.greetMe("test");
JAX-WS Dispatch APIs

JAX-WS提供了“dispatch”机制使你容易动态调用服务。例子:

import java.net.URL;
import javax.xml.transform.Source;
import javax.xml.ws.Dispatch;
import javax.xml.ws.Service;
...

URL wsdlURL = new URL("http://localhost/hello?wsdl");
Service service = Service.create(wsdlURL, new QName("HelloService"));
Dispatch<Source> disp = service.createDispatch(new QName("HelloPort"), Source.class, Service.Mode.PAYLOAD);

Source request = new StreamSource("<hello/>")
Source response = disp.invoke(request);
Simple Frontend Client Proxy

如果使用简单的前端服务,就可以使用ClientProxyFactoryBean API来创建一个Java代理客户端。

Dynamic Client

例子:

Client client = ....;
Object[] result = client.invoke("sayHi", "Dan");
*使用ClientFactoryBean或者JaxWsClientFactoryBean类

*使用DynamicClientFactory或其子类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: