|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object gboat2.cxf.utils.CXFUtil
public class CXFUtil
使用 CXF 发布 WebService 服务和调用 WebService 服务的工具类。
注:目前只提供了调用 WebService 服务相关的方法,而没提供发布服务相关的方法
@WebService
注解的
targetNamespace
属性时,会抛出“org.apache.cxf.common.i18n.UncheckedException: No operation was
found with the name ...”的异常。invokeWebService(String, String, Object...)
方法,将刚才创建的
JavaBean 实例作为参数传入;BeanUtils
或
commons-beanutils 的 BeanUtils
工具类将返回结果转换成刚才通过 wsdl2java 生成的 JavaBean,或是通过 json 工具进行转换(先将结果中的 JavaBean 转换成
json 字符串,再将 json 字符串转换成自己的 JavaBean),这样就可以更方便的读取返回结果中的具体信息了。
方法摘要 | |
---|---|
static org.apache.cxf.endpoint.Client |
createJaxWsDynamicClient(String wsdlUrl)
动态创建 WebService 的 JAX-WS 方式调用客户端实例 和直接执行 createJaxWsDynamicClient(wsdlUrl, JaxWsDynamicClientFactory.class.getClassLoader()) 返回的结果一样 |
static org.apache.cxf.endpoint.Client |
createJaxWsDynamicClient(String wsdlUrl,
ClassLoader classLoader)
动态创建 WebService 的 JAX-WS 方式调用客户端实例 |
static org.apache.cxf.service.model.BindingOperationInfo |
getBindingOperationInfo(org.apache.cxf.endpoint.Client client,
String operation)
获取 CXF 的绑定操作信息的实例 |
static Map<String,Class<?>> |
getInputParameters(org.apache.cxf.service.model.BindingOperationInfo operationInfo)
获取操作对象的输入参数 |
static Map<String,Class<?>> |
getOutputParameters(org.apache.cxf.service.model.BindingOperationInfo operationInfo)
获取操作对象的输出参数 |
static Object[] |
invokeWebService(org.apache.cxf.endpoint.Client client,
String operation,
Object... parameters)
调用 webservice 服务 |
static Object[] |
invokeWebService(String wsdlUrl,
String operation,
ClassLoader classLoader,
Object... parameters)
调用 webservice 服务 |
static Object[] |
invokeWebService(String wsdlUrl,
String operation,
Object... parameters)
调用 webservice 服务 和直接执行 invokeWebService(wsdlUrl, operation, JaxWsDynamicClientFactory.class.getClassLoader(), parameters)
返回的结果一样 |
static Object[] |
invokeWrappedWebService(org.apache.cxf.endpoint.Client client,
Object parameter)
调用 WebService 服务 |
static Object[] |
invokeWrappedWebService(String wsdlUrl,
Object parameter)
调用 WebService 服务 |
static Object[] |
invokeWrappedWebService(String wsdlUrl,
Object parameter,
ClassLoader classLoader)
调用 WebService 服务 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详细信息 |
---|
public static org.apache.cxf.endpoint.Client createJaxWsDynamicClient(String wsdlUrl)
createJaxWsDynamicClient(wsdlUrl, JaxWsDynamicClientFactory.class.getClassLoader())
返回的结果一样
wsdlUrl
- WSDL 地址
public static org.apache.cxf.endpoint.Client createJaxWsDynamicClient(String wsdlUrl, ClassLoader classLoader)
wsdlUrl
- WSDL 地址classLoader
- 类加载器,调用 CXF 的
DynamicClientFactory#createClient(String, ClassLoader)
方法动态创建客户端时,将使用此类加载器
public static org.apache.cxf.service.model.BindingOperationInfo getBindingOperationInfo(org.apache.cxf.endpoint.Client client, String operation)
client
- CXF 客户端,可通过 createJaxWsDynamicClient(String)
进行创建operation
- 操作名称(一般和方法名相同),如: sayHello
null
public static Map<String,Class<?>> getInputParameters(org.apache.cxf.service.model.BindingOperationInfo operationInfo)
boi
- 操作对象
public static Map<String,Class<?>> getOutputParameters(org.apache.cxf.service.model.BindingOperationInfo operationInfo)
boi
- 操作对象
public static Object[] invokeWebService(String wsdlUrl, String operation, Object... parameters)
invokeWebService(wsdlUrl, operation, JaxWsDynamicClientFactory.class.getClassLoader(), parameters)
返回的结果一样
wsdlUrl
- WSDL 地址operation
- 要调用的操作(WebService 服务名称)parameters
- 参数列表,如果没有参数,则可以不传入该参数值
invokeWebService(String, String, ClassLoader, Object...)
public static Object[] invokeWebService(String wsdlUrl, String operation, ClassLoader classLoader, Object... parameters)
wsdlUrl
- WSDL 地址operation
- 要调用的操作(WebService 服务名称)classLoader
- 类加载器,调用 CXF 的
DynamicClientFactory#createClient(String, ClassLoader)
方法动态创建客户端时,将使用此类加载器parameters
- 参数列表,如果没有参数,则可以不传入该参数值
public static Object[] invokeWebService(org.apache.cxf.endpoint.Client client, String operation, Object... parameters)
client
- WebService 客户端实例对象operation
- 要调用的操作(WebService 服务名称)parameters
- 参数列表,如果没有参数,则可以不传入该参数值
public static Object[] invokeWrappedWebService(String wsdlUrl, Object parameter)
wsdlUrl
- WSDL 地址parameter
- 经过包装后的请求参数,与 WSDL 文件中 <wsdl:operation name="xxx">
相对应的 JavaBean,该类必须有 @XmlRootElement 注解,@XmlRootElement
注解的 name 属性对应 WSDL 文件中 operation 的 name
public static Object[] invokeWrappedWebService(String wsdlUrl, Object parameter, ClassLoader classLoader)
wsdlUrl
- WSDL 地址parameter
- 经过包装后的请求参数,与 WSDL 文件中 <wsdl:operation name="xxx">
相对应的 JavaBean,该类必须有 @XmlRootElement 注解,@XmlRootElement
注解的 name 属性对应 WSDL 文件中 operation 的 nameclassLoader
- 类加载器,调用 CXF 的
DynamicClientFactory#createClient(String, ClassLoader)
方法动态创建客户端时,将使用此类加载器
public static Object[] invokeWrappedWebService(org.apache.cxf.endpoint.Client client, Object parameter)
client
- WebService 客户端实例对象parameter
- 经过包装后的请求参数,与 WSDL 文件中 <wsdl:operation name="xxx">
相对应的 JavaBean,该类必须有 @XmlRootElement 注解,@XmlRootElement
注解的 name 属性对应 WSDL 文件中 operation 的 name
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |