Search in sources :

Example 1 with ParseException

use of com.sun.tools.ws.wsdl.framework.ParseException in project metro-jax-ws by eclipse-ee4j.

the class MetadataFinder method getFromMetadataResolver.

/*
    * If source and target namespace are also passed in,
    * then if the mex resolver is found and it cannot get
    * the data, wsimport attempts to add ?wsdl to the
    * address and retrieve the data with a normal http get.
    * This behavior should only happen when trying a
    * mex request first.
    */
@Nullable
private Element getFromMetadataResolver(String systemId, Exception ex) {
    // try MEX
    MetaDataResolver resolver;
    ServiceDescriptor serviceDescriptor = null;
    for (MetadataResolverFactory resolverFactory : ServiceFinder.find(MetadataResolverFactory.class, ServiceLoader.load(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;
}
Also used : MetaDataResolver(com.sun.xml.ws.api.wsdl.parser.MetaDataResolver) ServiceDescriptor(com.sun.xml.ws.api.wsdl.parser.ServiceDescriptor) SAXParseException(org.xml.sax.SAXParseException) MetadataResolverFactory(com.sun.xml.ws.api.wsdl.parser.MetadataResolverFactory) ParseException(com.sun.tools.ws.wsdl.framework.ParseException) SAXParseException(org.xml.sax.SAXParseException) Nullable(com.sun.istack.Nullable)

Aggregations

Nullable (com.sun.istack.Nullable)1 ParseException (com.sun.tools.ws.wsdl.framework.ParseException)1 MetaDataResolver (com.sun.xml.ws.api.wsdl.parser.MetaDataResolver)1 MetadataResolverFactory (com.sun.xml.ws.api.wsdl.parser.MetadataResolverFactory)1 ServiceDescriptor (com.sun.xml.ws.api.wsdl.parser.ServiceDescriptor)1 SAXParseException (org.xml.sax.SAXParseException)1