本文整理汇总了Java中com.sun.xml.internal.ws.util.ServiceFinder.find方法的典型用法代码示例。如果您正苦于以下问题:Java ServiceFinder.find方法的具体用法?Java ServiceFinder.find怎么用?Java ServiceFinder.find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.xml.internal.ws.util.ServiceFinder
的用法示例。
在下文中一共展示了ServiceFinder.find方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parse
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
/**
* Parses a binding ID string into a {@link BindingID} object.
*
* <p>
* This method first checks for a few known values and then delegate
* the parsing to {@link BindingIDFactory}.
*
* <p>
* If parsing succeeds this method returns a value. Otherwise
* throws {@link WebServiceException}.
*
* @throws WebServiceException
* If the binding ID is not understood.
*/
public static @NotNull BindingID parse(String lexical) {
if(lexical.equals(XML_HTTP.toString()))
return XML_HTTP;
if(lexical.equals(REST_HTTP.toString()))
return REST_HTTP;
if(belongsTo(lexical,SOAP11_HTTP.toString()))
return customize(lexical,SOAP11_HTTP);
if(belongsTo(lexical,SOAP12_HTTP.toString()))
return customize(lexical,SOAP12_HTTP);
if(belongsTo(lexical,SOAPBindingImpl.X_SOAP12HTTP_BINDING))
return customize(lexical,X_SOAP12_HTTP);
// OK, it's none of the values JAX-WS understands.
for( BindingIDFactory f : ServiceFinder.find(BindingIDFactory.class) ) {
BindingID r = f.parse(lexical);
if(r!=null)
return r;
}
// nobody understood this value
throw new WebServiceException("Wrong binding ID: "+lexical);
}
示例2: create
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
/**
* @param classLoader
* @param container
* @param implType
* @param invoker
* @param argsBuilder
* @param isAsync
*
* @return
*/
public static <T> ProviderInvokerTube<T> create(@Nullable final ClassLoader classLoader,
@NotNull final Container container,
@NotNull final Class<T> implType,
@NotNull final Invoker invoker,
@NotNull final ProviderArgumentsBuilder<?> argsBuilder,
final boolean isAsync)
{
for (ProviderInvokerTubeFactory factory : ServiceFinder.find(ProviderInvokerTubeFactory.class,
classLoader, container))
{
ProviderInvokerTube<T> tube = factory.doCreate(implType, invoker, argsBuilder, isAsync);
if (tube != null) {
if (logger.isLoggable(Level.FINE)) {
ProviderInvokerTubeFactory.logger.log(Level.FINE, "{0} successfully created {1}", new Object[]{factory.getClass(), tube});
}
return tube;
}
}
return DEFAULT.createDefault(implType, invoker, argsBuilder, isAsync);
}
示例3: getFromMetadataResolver
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
private @Nullable Element getFromMetadataResolver(String systemId, Exception ex) {
//try MEX
MetaDataResolver resolver;
ServiceDescriptor serviceDescriptor = null;
for (MetadataResolverFactory resolverFactory : ServiceFinder.find(MetadataResolverFactory.class)) {
resolver = resolverFactory.metadataResolver(options.entityResolver);
try {
serviceDescriptor = resolver.resolve(new URI(systemId));
//we got the ServiceDescriptor, now break
if (serviceDescriptor != null)
break;
} catch (URISyntaxException e) {
throw new ParseException(e);
}
}
if (serviceDescriptor != null) {
errorReceiver.warning(new SAXParseException(WsdlMessages.TRY_WITH_MEX(ex.getMessage()), null, ex));
return parseMetadata(systemId, serviceDescriptor);
} else {
errorReceiver.error(null, WsdlMessages.PARSING_UNABLE_TO_GET_METADATA(ex.getMessage(), WscompileMessages.WSIMPORT_NO_WSDL(systemId)), ex);
}
return null;
}
示例4: create
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
/**
* Creates Message from SOAPMessage
* @param saaj SOAPMessage
* @return created Message
*/
public static Message create(SOAPMessage saaj) {
for (SAAJFactory s : ServiceFinder.find(SAAJFactory.class)) {
Message m = s.createMessage(saaj);
if (m != null)
return m;
}
return instance.createMessage(saaj);
}
示例5: read
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
/**
* Reads Message as SOAPMessage. After this call message is consumed.
* @param soapVersion SOAP version
* @param message Message
* @param packet The packet that owns the Message
* @return Created SOAPMessage
* @throws SOAPException if SAAJ processing fails
*/
public static SOAPMessage read(SOAPVersion soapVersion, Message message, Packet packet) throws SOAPException {
for (SAAJFactory s : ServiceFinder.find(SAAJFactory.class)) {
SOAPMessage msg = s.readAsSOAPMessage(soapVersion, message, packet);
if (msg != null)
return msg;
}
return instance.readAsSOAPMessage(soapVersion, message, packet);
}
示例6: create
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
public static PolicyResolver create(){
for (PolicyResolverFactory factory : ServiceFinder.find(PolicyResolverFactory.class)) {
PolicyResolver policyResolver = factory.doCreate();
if (policyResolver != null) {
return policyResolver;
}
}
// return default policy resolver.
return DEFAULT_POLICY_RESOLVER;
}
示例7: create
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
/**
* Locates {@link PipelineAssemblerFactory}s and create
* a suitable {@link PipelineAssembler}.
*
* @param bindingId
* The binding ID string for which the new {@link PipelineAssembler}
* is created. Must not be null.
* @return
* Always non-null, since we fall back to our default {@link PipelineAssembler}.
*/
public static PipelineAssembler create(ClassLoader classLoader, BindingID bindingId) {
for (PipelineAssemblerFactory factory : ServiceFinder.find(PipelineAssemblerFactory.class,classLoader)) {
PipelineAssembler assembler = factory.doCreate(bindingId);
if(assembler!=null) {
logger.fine(factory.getClass()+" successfully created "+assembler);
return assembler;
}
}
// default binding IDs that are known
// TODO: replace this with proper ones
return new com.sun.xml.internal.ws.util.pipe.StandalonePipeAssembler();
}
示例8: providers
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
static private List<DatabindingProvider> providers() {
List<DatabindingProvider> factories = new java.util.ArrayList<DatabindingProvider>();
for (DatabindingProvider p : ServiceFinder.find(DatabindingProvider.class)) {
factories.add(p);
}
return factories;
}
示例9: selectStreamDecoder
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
private StreamDecoder selectStreamDecoder() {
for (StreamDecoder sd : ServiceFinder.find(StreamDecoder.class)) {
return sd;
}
return new StreamDecoderImpl();
}
示例10: findServices
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
/**
* Looks for all "META-INF/services/[className]" files and
* create one instance for each class name found inside this file.
*/
private static <T> T[] findServices(Class<T> clazz, ClassLoader classLoader) {
ServiceFinder<T> serviceFinder = ServiceFinder.find(clazz, classLoader);
List<T> r = new ArrayList<T>();
for (T t : serviceFinder) {
r.add(t);
}
return r.toArray((T[]) Array.newInstance(clazz, r.size()));
}
示例11: WsgenOptions
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
public WsgenOptions() {
protocols.add(SOAP11);
protocols.add(X_SOAP12);
nonstdProtocols.put(X_SOAP12, SOAPBindingImpl.X_SOAP12HTTP_BINDING);
ServiceFinder<WsgenExtension> extn = ServiceFinder.find(WsgenExtension.class);
for(WsgenExtension ext : extn) {
Class clazz = ext.getClass();
WsgenProtocol pro = (WsgenProtocol)clazz.getAnnotation(WsgenProtocol.class);
protocols.add(pro.token());
nonstdProtocols.put(pro.token(), pro.lexical());
}
}
示例12: serviceIterator
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
public static Iterator<BindingContextFactory> serviceIterator() {
final ServiceFinder<BindingContextFactory> sf = ServiceFinder
.find(BindingContextFactory.class);
final Iterator<BindingContextFactory> ibcf = sf.iterator();
return new Iterator<BindingContextFactory>() {
private BindingContextFactory bcf;
public boolean hasNext() {
while (true) {
try {
if (ibcf.hasNext()) {
bcf = ibcf.next();
return true;
} else
return false;
} catch (ServiceConfigurationError e) {
LOGGER.warning("skipping factory: ServiceConfigurationError: "
+ e.getMessage());
} catch (NoClassDefFoundError ncdfe) {
LOGGER.fine("skipping factory: NoClassDefFoundError: "
+ ncdfe.getMessage());
}
}
}
public BindingContextFactory next() {
if (LOGGER.isLoggable(Level.FINER))
LOGGER.finer("SPI found provider: " +
bcf.getClass().getName());
return bcf;
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
示例13: serviceFinder
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
@Deprecated
private static MessageContext serviceFinder(final ClassLoader[] classLoader, final Creator creator) {
final ClassLoader cl = classLoader.length == 0 ? null : classLoader[0];
for (MessageContextFactory factory : ServiceFinder.find(MessageContextFactory.class, cl)) {
final MessageContext messageContext = creator.create(factory);
if (messageContext != null)
return messageContext;
}
return creator.create(DEFAULT);
}
示例14: read
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
/**
* Reads Message as SOAPMessage. After this call message is consumed.
* @param soapVersion SOAP version
* @param message Message
* @return Created SOAPMessage
* @throws SOAPException if SAAJ processing fails
*/
public static SOAPMessage read(SOAPVersion soapVersion, Message message) throws SOAPException {
for (SAAJFactory s : ServiceFinder.find(SAAJFactory.class)) {
SOAPMessage msg = s.readAsSOAPMessage(soapVersion, message);
if (msg != null)
return msg;
}
return instance.readAsSOAPMessage(soapVersion, message);
}
示例15: createBindingId
import com.sun.xml.internal.ws.util.ServiceFinder; //导入方法依赖的package包/类
private static BindingID createBindingId(String transport, SOAPVersion soapVersion) {
if (!transport.equals(SOAPConstants.URI_SOAP_TRANSPORT_HTTP)) {
for( BindingIDFactory f : ServiceFinder.find(BindingIDFactory.class) ) {
BindingID bindingId = f.create(transport, soapVersion);
if(bindingId!=null) {
return bindingId;
}
}
}
return soapVersion.equals(SOAPVersion.SOAP_11)?BindingID.SOAP11_HTTP:BindingID.SOAP12_HTTP;
}