Skip to content
This repository was archived by the owner on Oct 1, 2018. It is now read-only.
This repository was archived by the owner on Oct 1, 2018. It is now read-only.

File in META-INF/services has deprecated name #95

@jcflack

Description

@jcflack

I had an application that was written back when J2SE included SAAJ, so of course it broke after upgrading from Java 8, and I grabbed jaxws-ri from Maven and put the necessary jars on the classpath and the application worked again, but with this warning:

Using deprecated META-INF/services mechanism with non-standard property:
javax.xml.soap.MetaFactory. Property javax.xml.soap.SAAJMetaFactory should be used instead.

The application calls SOAPConnectionFactory.newInstance and MessageFactory.newInstance, ultimately causing the ServiceLoader to find the META-INF/services/javax.xml.soap.MetaFactory file.

I was able to make the warning go away by modifying saaj-impl.jar, simply extracting the javax.xml.soap.MetaFactory service file, deleting it from the jar, then re-adding it under the non-deprecated name javax.xml.soap.SAAJMetaFactory. With that, my application worked fine and gave no warning, though someone more knowledgeable than I will have to judge whether that's a fully correct fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions